HARDT - The Ham Radio DSP Toolkit
Public Member Functions | Static Public Member Functions | List of all members
HIqFirFilter< T > Class Template Reference

#include <hiqfirfilter.h>

Inheritance diagram for HIqFirFilter< T >:
Inheritance graph
[legend]
Collaboration diagram for HIqFirFilter< T >:
Collaboration graph
[legend]

Public Member Functions

 HIqFirFilter (HWriter< T > *writer, float *coefficients, int length, size_t blocksize, HProbe< T > *probe=NULL)
 
 HIqFirFilter (HWriterConsumer< T > *consumer, float *coefficients, int length, size_t blocksize, HProbe< T > *probe=NULL)
 
 HIqFirFilter (HReader< T > *reader, float *coefficients, int length, size_t blocksize, HProbe< T > *probe=NULL)
 
 ~HIqFirFilter ()
 
void Filter (T *src, T *dest, size_t blocksize)
 
void SetCoefficients (float *coefficients, int length)
 
std::vector< float > GetCoefficients ()
 
- Public Member Functions inherited from HFilter< T >
 ~HFilter ()
 
int Write (T *src, size_t blocksize)
 
int Read (T *dest, size_t blocksize)
 
bool Start ()
 
bool Stop ()
 
bool Command (HCommand *command)
 
void Enable ()
 
void Disable ()
 
bool GetEnabled ()
 
- Public Member Functions inherited from HObject
 HObject ()
 
- Public Member Functions inherited from HWriter< T >
virtual ~HWriter ()=default
 
HWriter< T > * Writer ()
 
- Public Member Functions inherited from HReader< T >
virtual ~HReader ()=default
 
HReader< T > * Reader ()
 
- Public Member Functions inherited from HWriterConsumer< T >
HWriterConsumer< T > * Consumer ()
 

Static Public Member Functions

static HIqFirFilter< T > * Create (HWriter< T > *writer, size_t blocksize, char *coeffsFilename)
 
static HIqFirFilter< T > * Create (HWriterConsumer< T > *consumer, size_t blocksize, char *coeffsFilename)
 
static HIqFirFilter< T > * Create (HReader< T > *reader, size_t blocksize, char *coeffsFilename)
 
- Static Public Member Functions inherited from HFilter< T >
static std::vector< float > ReadCoeffsFromFile (std::string filename)
 
static std::vector< float > ReadCoeffsFromFile (char *filename)
 

Additional Inherited Members

- Protected Member Functions inherited from HFilter< T >
 HFilter (HWriter< T > *writer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HFilter (HWriterConsumer< T > *consumer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HFilter (HReader< T > *reader, size_t blocksize, HProbe< T > *probe=NULL)
 
void SetWriter (HWriter< T > *writer)
 
- Protected Attributes inherited from HFilter< T >
int _blocksize
 

Detailed Description

template<class T>
class HIqFirFilter< T >

A generic FIR-type filter.

When created, a list of coefficients must be provided. The coefficients is expected to be the normalized and scaled coefficients.

Coefficients must be provided in the order a0, ..., aN

Constructor & Destructor Documentation

◆ HIqFirFilter() [1/3]

template<class T >
HIqFirFilter< T >::HIqFirFilter ( HWriter< T > *  writer,
float *  coefficients,
int  length,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HIqFirFilter that writes to a writer

◆ HIqFirFilter() [2/3]

template<class T >
HIqFirFilter< T >::HIqFirFilter ( HWriterConsumer< T > *  consumer,
float *  coefficients,
int  length,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HIqFirFilter that registers with an upstream writer

◆ HIqFirFilter() [3/3]

template<class T >
HIqFirFilter< T >::HIqFirFilter ( HReader< T > *  reader,
float *  coefficients,
int  length,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HIqFirFilter that reads from a reader

◆ ~HIqFirFilter()

template<class T >
HIqFirFilter< T >::~HIqFirFilter

Default destructor

Member Function Documentation

◆ Create() [1/3]

template<class T >
static HIqFirFilter<T>* HIqFirFilter< T >::Create ( HReader< T > *  reader,
size_t  blocksize,
char *  coeffsFilename 
)
inlinestatic

Factory function to create a new HIqFirFilter that reads from a reader

◆ Create() [2/3]

template<class T >
static HIqFirFilter<T>* HIqFirFilter< T >::Create ( HWriter< T > *  writer,
size_t  blocksize,
char *  coeffsFilename 
)
inlinestatic

Factory function to create a new HIqFirFilter that writes to a writer

◆ Create() [3/3]

template<class T >
static HIqFirFilter<T>* HIqFirFilter< T >::Create ( HWriterConsumer< T > *  consumer,
size_t  blocksize,
char *  coeffsFilename 
)
inlinestatic

Factory function to create a new HIqFirFilter that registers with an upstream writer

◆ Filter()

template<class T >
void HIqFirFilter< T >::Filter ( T *  src,
T *  dest,
size_t  blocksize 
)
virtual

Run a block of samples through the filter

Implements HFilter< T >.

◆ GetCoefficients()

template<class T >
std::vector<float> HIqFirFilter< T >::GetCoefficients ( )
inline

Get the filter coefficients

◆ SetCoefficients()

template<class T >
void HIqFirFilter< T >::SetCoefficients ( float *  coefficients,
int  length 
)

Set the filter coefficients


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