Logo coherent WaveBurst  
Library Reference Guide
Logo
List of all members | Public Member Functions | Public Attributes | List of all members
LineFilter Class Reference

The LineFilter class containes methods to track and remove quasi- monochromatic lines.

a TSeries by 2^N. The TSeries data are filtered before decimation to remove aliasing. Line Removal.

Version
1.2 ; Modified November 01, 2000
1.3 ; Modified November 17, 2000
Author
Sergey Klimenko

Definition at line 56 of file LineFilter.hh.

Public Member Functions

 LineFilter (void)
 Build an empty LineFilter. More...
 
 LineFilter (double f, double T=0., int fid=1, int nT=1)
 LineFilter constructor filter type (default fid = 1) and time interval T to estimate and remove interference (T=0 - the whole input TS is used). More...
 
 LineFilter (const LineFilter &x)
 Build a LineFilter identical to an existing filter. More...
 
 ~LineFilter (void)
 Destroy the LineFilter object and release the function storage. More...
 
TSeries apply (const TSeries &ts)
 The argument time series is filtered to remove lines, and the argument TSeries ts is left unchanged. More...
 
void apply (WaveData &ts)
 Operate on wavearray object. More...
 
FilterIO & apply (const FilterIO &in)
 
double axb (double, double)
 
LineFilterclone (void) const
 Clone a LineFilter. More...
 
void dataCheck (const TSeries &ts) const
 Check the data for validity. More...
 
void dataCheck (const FilterIO &in) const
 
bool DumpTrend (const char *, int=0)
 
double fScan (const WaveData &)
 
Time getCurrentTime (void) const
 
lineData getHeteroLine (WaveData &)
 
lineData getLine (WaveData &)
 
double getOmega (const WaveData &, int=2)
 
WaveData getPSD (const WaveData &, int=1)
 
Time getStartTime (void) const
 
wavearray< float > getTrend (int, char)
 
double Interference (WaveData &, double)
 
long intw (double)
 
bool inUse (void) const
 
bool isDataValid (const TSeries &ts) const
 Check the data for validity. More...
 
bool isDataValid (const FilterIO &in) const
 
bool LoadTrend (const char *)
 
double makeFilter (const WaveData &, int=0)
 
unsigned int maxLine (int)
 
double newRate (double)
 
TSeries operator() (const TSeries &ts)
 
FilterIO & operator() (const FilterIO &in)
 
void reset ()
 Clear/release the internal History vector and reset the current time. More...
 
void resize (size_t=0)
 
void setFilter (int nF=1, int nL=0, int nS=1, int nD=-1, int nB=5, int nR=6, int nW=8)
 
void setFScan (double f=0., double sn=2., double fS=0.45, int nS=20)
 
double wrap (double)
 

Public Attributes

bool badData
 
bool clean
 
wavearray< double > ct
 
Time CurrentTime
 
size_t dumpStart
 
double fBand
 
WaveData Filter
 
int FilterID
 
int FilterState
 
double Frequency
 
std::list< lineDatalineList
 
WaveData LineSD
 
unsigned int nBand
 
unsigned int nFirst
 
unsigned int nLast
 
int nLPF
 
WaveData NoiseSD
 
bool noScan
 
int nRIF
 
int nScan
 
int nStep
 
int nSubs
 
int nWave
 
bool reFine
 
Interval Sample
 
double SeedFrequency
 
double SNR
 
wavearray< double > st
 
Time StartTime
 
double Stride
 
double Window
 
wavearray< double > wt
 

#include <LineFilter.hh>

Inheritance diagram for LineFilter:
[legend]

Constructor & Destructor Documentation

◆ LineFilter() [1/3]

LineFilter::LineFilter ( void  )

Build an empty LineFilter.

Default constructor.

Definition at line 43 of file LineFilter.cc.

◆ LineFilter() [2/3]

LineFilter::LineFilter ( double  f,
double  T = 0.,
int  fid = 1,
int  nT = 1 
)

LineFilter constructor filter type (default fid = 1) and time interval T to estimate and remove interference (T=0 - the whole input TS is used).

Constructor. Set parameters of the line filter

Parameters
f- line base frequency
T- time interval to estimate interference (T=0 - the whole TS is used)
fid- filter ID: 1 - use resampling and FFT with noise floor estimation 0 - use resampling and FFT, no noise floor estimation -1 - heterodyne estimation of amplitude and phase, frequency=const -2 - -1 + Hann window -3 - the same as -2, but sin(), cos() and Hann() are tabulated
nT- number of interval T sub0divisions

Definition at line 59 of file LineFilter.cc.

◆ LineFilter() [3/3]

LineFilter::LineFilter ( const LineFilter x)

Build a LineFilter identical to an existing filter.

Copy constructor.

Definition at line 77 of file LineFilter.cc.

◆ ~LineFilter()

LineFilter::~LineFilter ( void  )

Destroy the LineFilter object and release the function storage.

Virtual destructor.

Definition at line 75 of file LineFilter.cc.

Member Function Documentation

◆ apply() [1/3]

TSeries LineFilter::apply ( const TSeries &  ts)

The argument time series is filtered to remove lines, and the argument TSeries ts is left unchanged.

Return cleaned TSeries.

Definition at line 1085 of file LineFilter.cc.

◆ apply() [2/3]

void LineFilter::apply ( WaveData ts)

Operate on wavearray object.

Definition at line 1124 of file LineFilter.cc.

◆ apply() [3/3]

FilterIO& LineFilter::apply ( const FilterIO &  in)
inline

Definition at line 108 of file LineFilter.hh.

◆ axb()

double LineFilter::axb ( double  a,
double  b 
)
inline

Definition at line 243 of file LineFilter.hh.

◆ clone()

LineFilter * LineFilter::clone ( void  ) const

Clone a LineFilter.

Definition at line 88 of file LineFilter.cc.

◆ dataCheck() [1/2]

void LineFilter::dataCheck ( const TSeries &  ts) const

Check the data for validity.

If the data are not applicable for line removal, an exception is thrown.

Definition at line 92 of file LineFilter.cc.

◆ dataCheck() [2/2]

void LineFilter::dataCheck ( const FilterIO &  in) const
inline

Definition at line 115 of file LineFilter.hh.

◆ DumpTrend()

bool LineFilter::DumpTrend ( const char *  fname,
int  app = 0 
)

Definition at line 1423 of file LineFilter.cc.

◆ fScan()

double LineFilter::fScan ( const WaveData TD)

Definition at line 814 of file LineFilter.cc.

◆ getCurrentTime()

Time LineFilter::getCurrentTime ( void  ) const
inline

Definition at line 261 of file LineFilter.hh.

◆ getHeteroLine()

lineData LineFilter::getHeteroLine ( WaveData TD)

Definition at line 488 of file LineFilter.cc.

◆ getLine()

lineData LineFilter::getLine ( WaveData TD)

Definition at line 353 of file LineFilter.cc.

◆ getOmega()

double LineFilter::getOmega ( const WaveData TD,
int  nsub = 2 
)

Definition at line 692 of file LineFilter.cc.

◆ getPSD()

WaveData LineFilter::getPSD ( const WaveData TD,
int  nb = 1 
)

Definition at line 227 of file LineFilter.cc.

◆ getStartTime()

Time LineFilter::getStartTime ( void  ) const
inline

Definition at line 257 of file LineFilter.hh.

◆ getTrend()

wavearray< float > LineFilter::getTrend ( int  m,
char  c 
)

Definition at line 1238 of file LineFilter.cc.

◆ Interference()

double LineFilter::Interference ( WaveData TD,
double  omega 
)

Definition at line 1017 of file LineFilter.cc.

◆ intw()

long LineFilter::intw ( double  a)
inline

Definition at line 246 of file LineFilter.hh.

◆ inUse()

bool LineFilter::inUse ( void  ) const
inline

Definition at line 265 of file LineFilter.hh.

◆ isDataValid() [1/2]

bool LineFilter::isDataValid ( const TSeries &  ts) const

Check the data for validity.

Performs the same data checks as dataCheck() but returns a boolean status instead f throwing an exception.

Definition at line 120 of file LineFilter.cc.

◆ isDataValid() [2/2]

bool LineFilter::isDataValid ( const FilterIO &  in) const
inline

Definition at line 123 of file LineFilter.hh.

◆ LoadTrend()

bool LineFilter::LoadTrend ( const char *  fname)

Definition at line 1507 of file LineFilter.cc.

◆ makeFilter()

double LineFilter::makeFilter ( const WaveData TD,
int  FID = 0 
)

Definition at line 298 of file LineFilter.cc.

◆ maxLine()

unsigned int LineFilter::maxLine ( int  L)

Definition at line 110 of file LineFilter.cc.

◆ newRate()

double LineFilter::newRate ( double  rate)
inline

Definition at line 236 of file LineFilter.hh.

◆ operator()() [1/2]

TSeries LineFilter::operator() ( const TSeries &  ts)

Definition at line 1115 of file LineFilter.cc.

◆ operator()() [2/2]

FilterIO& LineFilter::operator() ( const FilterIO &  in)
inline

Definition at line 102 of file LineFilter.hh.

◆ reset()

void LineFilter::reset ( )

Clear/release the internal History vector and reset the current time.

Definition at line 170 of file LineFilter.cc.

◆ resize()

void LineFilter::resize ( size_t  dS = 0)

Definition at line 181 of file LineFilter.cc.

◆ setFilter()

void LineFilter::setFilter ( int  nF = 1,
int  nL = 0,
int  nS = 1,
int  nD = -1,
int  nB = 5,
int  nR = 6,
int  nW = 8 
)

Definition at line 142 of file LineFilter.cc.

◆ setFScan()

void LineFilter::setFScan ( double  f = 0.,
double  sn = 2.,
double  fS = 0.45,
int  nS = 20 
)

Definition at line 203 of file LineFilter.cc.

◆ wrap()

double LineFilter::wrap ( double  a)
inline

Definition at line 249 of file LineFilter.hh.

Member Data Documentation

◆ badData

bool LineFilter::badData

Definition at line 185 of file LineFilter.hh.

◆ clean

bool LineFilter::clean

Definition at line 184 of file LineFilter.hh.

◆ ct

wavearray<double> LineFilter::ct

Definition at line 198 of file LineFilter.hh.

◆ CurrentTime

Time LineFilter::CurrentTime

Definition at line 194 of file LineFilter.hh.

◆ dumpStart

size_t LineFilter::dumpStart

Definition at line 190 of file LineFilter.hh.

◆ fBand

double LineFilter::fBand

Definition at line 181 of file LineFilter.hh.

◆ Filter

WaveData LineFilter::Filter

Definition at line 206 of file LineFilter.hh.

◆ FilterID

int LineFilter::FilterID

Definition at line 171 of file LineFilter.hh.

◆ FilterState

int LineFilter::FilterState

Definition at line 191 of file LineFilter.hh.

◆ Frequency

double LineFilter::Frequency

Definition at line 172 of file LineFilter.hh.

◆ lineList

std::list<lineData> LineFilter::lineList

Definition at line 202 of file LineFilter.hh.

◆ LineSD

WaveData LineFilter::LineSD

Definition at line 205 of file LineFilter.hh.

◆ nBand

unsigned int LineFilter::nBand

Definition at line 179 of file LineFilter.hh.

◆ nFirst

unsigned int LineFilter::nFirst

Definition at line 175 of file LineFilter.hh.

◆ nLast

unsigned int LineFilter::nLast

Definition at line 176 of file LineFilter.hh.

◆ nLPF

int LineFilter::nLPF

Definition at line 182 of file LineFilter.hh.

◆ NoiseSD

WaveData LineFilter::NoiseSD

Definition at line 204 of file LineFilter.hh.

◆ noScan

bool LineFilter::noScan

Definition at line 186 of file LineFilter.hh.

◆ nRIF

int LineFilter::nRIF

Definition at line 187 of file LineFilter.hh.

◆ nScan

int LineFilter::nScan

Definition at line 178 of file LineFilter.hh.

◆ nStep

int LineFilter::nStep

Definition at line 177 of file LineFilter.hh.

◆ nSubs

int LineFilter::nSubs

Definition at line 180 of file LineFilter.hh.

◆ nWave

int LineFilter::nWave

Definition at line 183 of file LineFilter.hh.

◆ reFine

bool LineFilter::reFine

Definition at line 189 of file LineFilter.hh.

◆ Sample

Interval LineFilter::Sample

Definition at line 196 of file LineFilter.hh.

◆ SeedFrequency

double LineFilter::SeedFrequency

Definition at line 192 of file LineFilter.hh.

◆ SNR

double LineFilter::SNR

Definition at line 188 of file LineFilter.hh.

◆ st

wavearray<double> LineFilter::st

Definition at line 199 of file LineFilter.hh.

◆ StartTime

Time LineFilter::StartTime

Definition at line 195 of file LineFilter.hh.

◆ Stride

double LineFilter::Stride

Definition at line 174 of file LineFilter.hh.

◆ Window

double LineFilter::Window

Definition at line 173 of file LineFilter.hh.

◆ wt

wavearray<double> LineFilter::wt

Definition at line 200 of file LineFilter.hh.


The documentation for this class was generated from the following files: