Public Member Functions | Private Member Functions | Private Attributes | List of all members
snCmplxFIRFilter Class Reference

This class implements a multi-threaded complex FIR filter. More...

#include <snCmplxFIRFilter.h>

Public Member Functions

 snCmplxFIRFilter (int pn, int pm)
 FIR filter constructor. More...
 
void filter (std::complex< double > *X, std::complex< double > *Y, const std::vector< std::complex< double > > H)
 filters the data More...
 
 ~snCmplxFIRFilter ()
 

Private Member Functions

double *rH1 __attribute__ ((aligned(16)))
 
double *iH2 __attribute__ ((aligned(16)))
 
double *iH3 __attribute__ ((aligned(16)))
 
double *rH4 __attribute__ ((aligned(16)))
 

Private Attributes

int n
 
int m
 
snFIRFilterFilter1
 
snFIRFilterFilter2
 
snFIRFilterFilter3
 
snFIRFilterFilter4
 
double * S1
 
double * S2
 
double * S3
 
double * S4
 
double * rX1
 
double * iX2
 
double * rX3
 
double * iX4
 

Detailed Description

This class implements a multi-threaded complex FIR filter.

It uses four instances of a snFIRFilter for the actual filtering.

Constructor & Destructor Documentation

snCmplxFIRFilter::snCmplxFIRFilter ( int  pn,
int  pm 
)

FIR filter constructor.

Parameters
<intpn> input data vector length
<intpm> filter order
snCmplxFIRFilter::~snCmplxFIRFilter ( )

Member Function Documentation

double* rH1 snCmplxFIRFilter::__attribute__ ( (aligned(16))  )
private
double* iH2 snCmplxFIRFilter::__attribute__ ( (aligned(16))  )
private
double* iH3 snCmplxFIRFilter::__attribute__ ( (aligned(16))  )
private
double* rH4 snCmplxFIRFilter::__attribute__ ( (aligned(16))  )
private
void snCmplxFIRFilter::filter ( std::complex< double > *  X,
std::complex< double > *  Y,
const std::vector< std::complex< double > >  H 
)

filters the data

Parameters
<std::complex<double>*X> pointer to input data
<std::complex<double>*Y> pointer to output data
<std::vector<std::complex<double>> H> coefficients

Member Data Documentation

snFIRFilter* snCmplxFIRFilter::Filter1
private
snFIRFilter * snCmplxFIRFilter::Filter2
private
snFIRFilter * snCmplxFIRFilter::Filter3
private
snFIRFilter * snCmplxFIRFilter::Filter4
private
double * snCmplxFIRFilter::iX2
private
double * snCmplxFIRFilter::iX4
private
int snCmplxFIRFilter::m
private
int snCmplxFIRFilter::n
private
double * snCmplxFIRFilter::rX1
private
double * snCmplxFIRFilter::rX3
private
double* snCmplxFIRFilter::S1
private
double * snCmplxFIRFilter::S2
private
double * snCmplxFIRFilter::S3
private
double * snCmplxFIRFilter::S4
private

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