LAL  7.1.7.1-56c71ae

Detailed Description

Applies an IIR filter to a data stream.

Author
Creighton, T. D.

Description

These functions apply a generic time-domain filter given by an object *filter of type REAL4IIRFilter or REAL8IIRFilter to a list *vector of data representing a time series. This is done in place using the auxiliary data series formalism described in IIRFilter.h, so as to accomodate potentially large data series. To filter a piece of a larger dataset, the calling routine may pass a vector structure whose data pointer and length fields specify a subset of a larger vector.

The routine LALDIIRFilterREAL4Vector() applies a double-precision filter to single-precision data. It makes a single pass through the data, continuously updating the filter history at each step rather than storing the auxiliary array in-place. This reduces roundoff error by keeping all intermediate results to double-precision.

Algorithm

The implementation of LALDIIRFilterREAL4Vector() not only has lower truncation errors than LALIIRFilterREAL4Vector(), but also appears to be more computationally efficient, for reasons I have not yet determined; see the documentation for IIRFilterTest.c. These combine to suggest that LALDIIRFilterREAL4Vector() is the better overall algorithm for filtering REAL4Vectors.

Prototypes

void LALIIRFilterREAL4Vector (LALStatus *stat, REAL4Vector *vector, REAL4IIRFilter *filter)
 WARNING: THIS FUNCTION IS OBSOLETE. More...
 
void LALIIRFilterREAL8Vector (LALStatus *stat, REAL8Vector *vector, REAL8IIRFilter *filter)
 WARNING: THIS FUNCTION IS OBSOLETE. More...
 
void LALDIIRFilterREAL4Vector (LALStatus *stat, REAL4Vector *vector, REAL8IIRFilter *filter)
 WARNING: THIS FUNCTION IS OBSOLETE. More...
 

Macros

#define COMPLEX_DATA
 
#define SINGLE_PRECISION
 
#define SINGLE_PRECISION
 

Function Documentation

◆ LALIIRFilterREAL4Vector()

void LALIIRFilterREAL4Vector ( LALStatus stat,
REAL4Vector vector,
REAL4IIRFilter filter 
)

WARNING: THIS FUNCTION IS OBSOLETE.

Deprecated:

Definition at line 78 of file IIRFilterVector.c.

◆ LALIIRFilterREAL8Vector()

void LALIIRFilterREAL8Vector ( LALStatus stat,
REAL8Vector vector,
REAL8IIRFilter filter 
)

WARNING: THIS FUNCTION IS OBSOLETE.

Deprecated:

Definition at line 177 of file IIRFilterVector.c.

◆ LALDIIRFilterREAL4Vector()

void LALDIIRFilterREAL4Vector ( LALStatus stat,
REAL4Vector vector,
REAL8IIRFilter filter 
)

WARNING: THIS FUNCTION IS OBSOLETE.

Deprecated:

Definition at line 212 of file IIRFilterVector.c.

Macro Definition Documentation

◆ COMPLEX_DATA

#define COMPLEX_DATA

Definition at line 62 of file IIRFilterVector.c.

◆ SINGLE_PRECISION [1/2]

#define SINGLE_PRECISION

Definition at line 68 of file IIRFilterVector.c.

◆ SINGLE_PRECISION [2/2]

#define SINGLE_PRECISION

Definition at line 68 of file IIRFilterVector.c.