class DecimateBy2 : public Pipe Decimation by 2^N.
| | DecimateBy2 (void) Default constructor. |
| | DecimateBy2 (int N, int FilterID=1) Constructor. |
| | DecimateBy2 (const DecimateBy2& x) Copy constructor. |
| | operator= (const DecimateBy2& x) Copy constructor. |
| | ~DecimateBy2 (void) Virtual destructor. |
| | clone (void) const Clone the filter. |
| | apply (const TSeries& ts) Return a Decimated TSeries. |
| | dataCheck (const TSeries& ts) const Check the data for validity |
| | isDataValid (const TSeries& ts) const Check the data for validity |
| | setDecimation (int N, int FilterID=1) Set the number of decimate-by-2 steps to perform. |
| | reset (void) Set the number of decimate-by-2 steps to perform. |
| | getPhase (void) const Return the phase difference resulting from the FIR antialiasing filters |
| | getTimeDelay (void) const Return the Time difference resulting from the FIR antialiasing filters |
The DecimateBy2 class decimates a TSeries by 2^N. The TSeries data are filtered before decimation to remove aliasing. This class is essentially a wrapper of the C code written for LIGO GDS by Peter Fritschel.DecimateBy2 is based on the DMT FilterBase clas and as such is can be treated as a generic DMT Filter. The decimation may be applied to the TSeries with either the apply method or the parentheses operator. These methods return a complex TSeries if the input series is complex, and a single precision floating point TSeries for all other input series data types.
Four anti-aliasing low-pass FIR filters are available, each of which cuts off at 0.9 F_{Nyquist}. The options are tabulated below:
The antialiasing filters add an effective delay of
ID Order Comments 1 42 Least-Squares design, ripple ~.015 (-0.2 dB) 2 42 Equiripple design, ripple ~0.06 dB 3 22 Least-squares design, ripple ~0.1 (-1 dB) 4 82 Least-squares design, ripple ~0.0006 (-0.01 dB) , where N is the number of stages (the decimation factor exponent) and
is the filter order. This delay is NOT added to the TSeries start time.
explicit DecimateBy2(int N, int FilterID=1)
FilterID - Type code of anti-aliasing filter.
DecimateBy2(const DecimateBy2& x)
DecimateBy2& operator=(const DecimateBy2& x)
~DecimateBy2(void)
DecimateBy2* clone(void) const
TSeries apply(const TSeries& ts)
void dataCheck(const TSeries& ts) const
bool isDataValid(const TSeries& ts) const
void setDecimation(int N, int FilterID=1)
FilterID - Type code of anti-aliasing filter.
void reset(void)
double getPhase(void) const
Interval getTimeDelay(void) const
alphabetic index hierarchy of classes
Please send questions and comments to zweizig_j@ligo.caltech.edu
generated by doc++