27 #include "Interval.hh" 79 LineFilter(
double f,
double T = 0.,
int fid = 1,
int nT = 1);
100 TSeries
apply(
const TSeries&
ts);
101 TSeries operator()(
const TSeries& ts);
103 return Pipe::operator() (in); }
114 void dataCheck(
const TSeries& ts)
const;
116 Pipe::dataCheck (in); }
122 bool isDataValid(
const TSeries& ts)
const;
124 return Pipe::isDataValid (in); }
153 void setFScan(
double f = 0.,
165 inline Time getStartTime(
void)
const;
166 inline Time getCurrentTime(
void)
const;
167 inline bool inUse(
void)
const;
209 double makeFilter(
const WaveData &,
int = 0);
218 double getOmega(
const WaveData &,
int = 2);
220 double Interference(
WaveData &,
double);
223 bool DumpTrend(
const char*,
int = 0);
224 bool LoadTrend(
const char*);
226 inline double newRate(
double);
227 unsigned int maxLine(
int);
228 inline double axb(
double,
double);
229 inline double wrap(
double);
230 inline long intw(
double);
238 double f = rate/Frequency;
239 f *= (nLPF >= 0) ? 1 : 2;
240 return (
int(f)+1)*Frequency;
244 {
return (a-
long(a))*long(b) + (b-long(b))*
long(a) + (a-long(a))*(b-
long(b));}
247 {
return (a>0) ? long(a+0.5) : long(a-0.5);}
251 long l = a>0 ? long(a/
PI/2. + 0.5) : long(a/
PI/2. - 0.5);
266 return (StartTime != Time(0));
271 #endif // LineFilter_HH
void dataCheck(const FilterIO &in) const
The linefilter class containes methods to track and remove quasi- monochromatic lines.
double axb(double, double)
wavearray< double > a(hp.size())
std::vector< f_complex > amplitude
cout<< endl;cout<< "ts size = "<< ts.size()<< " ts rate = "<< ts.rate()<< endl;tf.Forward(ts, wdm);int levels=tf.getLevel();cout<< "tf size = "<< tf.size()<< endl;double dF=tf.resolution();double dT=1./(2 *dF);cout<< "rate(hz) : "<< RATE<< "\ layers : "<< nLAYERS<< "\ dF(hz) : "<< dF<< "\ dT(ms) : "<< dT *1000.<< endl;int itime=TIME_PIXEL_INDEX;int ifreq=FREQ_PIXEL_INDEX;int index=(levels+1) *itime+ifreq;double time=itime *dT;double freq=(ifreq >0) ? ifreq *dF :dF/4;cout<< endl;cout<< "PIXEL TIME = "<< time<< " sec "<< endl;cout<< "PIXEL FREQ = "<< freq<< " Hz "<< endl;cout<< endl;wavearray< double > x
Time getStartTime(void) const
wavearray< wavereal > WaveData
bool isDataValid(const FilterIO &in) const
Time getCurrentTime(void) const
cout<< "SNR "<< xsnr<< endl;wavearray< double > f
std::list< lineData > lineList
std::vector< float > filter
FilterIO & apply(const FilterIO &in)
wavearray< double > ts(N)
The LineFilter class containes methods to track and remove quasi- monochromatic lines.
std::complex< float > f_complex
std::vector< float > noise
std::vector< float > line
FilterIO & operator()(const FilterIO &in)