Applies a time-reversed IIR filter to a data stream.
- Author
- Creighton, T. D.
Description
These functions apply a generic time-domain filter *filter
to a time series *vector
, as with the routines LALIIRFilterREAL4Vector()
, LALIIRFilterREAL8Vector()
, and LALDIIRFilterREAL4Vector()
, but do so in a time-reversed manner. By successively applying normal and time-reversed IIR filters to the same data, one squares the magnitude of the frequency response while canceling the phase shift. This can be significant when one wishes to preserve phase correlations across wide frequency bands.
Algorithm
Because these filter routines are inherently acausal, the filter->history
vector is meaningless and unnecessary. These routines neither use nor modify this data array. They effectively treat the "future" as zero.
(An alternative implementation would be to assume that the filter "history" invoked by these routines, stores the future values of the auxiliary sequence. This would allow a large vector to be broken into chunks and time-reverse filtered, yielding the same result as if the whole vector had been time-reverse filtered. I can switch to this implementation if there is any demand for it.)
◆ LALIIRFilterREAL4VectorR()
◆ LALIIRFilterREAL8VectorR()
◆ LALDIIRFilterREAL4VectorR()
◆ COMPLEX_DATA
◆ SINGLE_PRECISION [1/2]
◆ SINGLE_PRECISION [2/2]