|
HARDT - The Ham Radio DSP Toolkit
|
#include <hiirfilter.h>


Public Member Functions | |
| HIirFilter (HWriter< T > *writer, float *coefficients, int length, size_t blocksize, HProbe< T > *prope=NULL) | |
| HIirFilter (HWriterConsumer< T > *consumer, float *coefficients, int length, size_t blocksize, HProbe< T > *probe=NULL) | |
| HIirFilter (HReader< T > *reader, float *coefficients, int length, size_t blocksize, HProbe< T > *probe=NULL) | |
| ~HIirFilter () | |
| virtual 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 HIirFilter< T > * | Create (HWriter< T > *writer, size_t blocksize, char *coeffsFilename) |
| static HIirFilter< T > * | Create (HWriterConsumer< T > *consumer, size_t blocksize, char *coeffsFilename) |
| static HIirFilter< 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) |
Protected Member Functions | |
| void | Init (float *coefficients, int length) |
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) |
Additional Inherited Members | |
Protected Attributes inherited from HFilter< T > | |
| int | _blocksize |
Generic IIR filter. The filter is implemented in the first direct form.
The coefficients for the filter must be given in the floating point array, and the coefficients must be ordered this way:
b0, b1, b2, b..., bN, a1, a2, a..., aN
| HIirFilter< T >::HIirFilter | ( | HWriter< T > * | writer, |
| float * | coefficients, | ||
| int | length, | ||
| size_t | blocksize, | ||
| HProbe< T > * | prope = NULL |
||
| ) |
Construct a new HIIrFilter that writes to a writer
| HIirFilter< T >::HIirFilter | ( | HWriterConsumer< T > * | consumer, |
| float * | coefficients, | ||
| int | length, | ||
| size_t | blocksize, | ||
| HProbe< T > * | probe = NULL |
||
| ) |
Construct a new HIIrFilter that registers with an upstream writer
| HIirFilter< T >::HIirFilter | ( | HReader< T > * | reader, |
| float * | coefficients, | ||
| int | length, | ||
| size_t | blocksize, | ||
| HProbe< T > * | probe = NULL |
||
| ) |
Construct a new HIirFilter that reads from a reader
| HIirFilter< T >::~HIirFilter |
Default destructor
|
inlinestatic |
Factory function: Create a new HIirFilter that reads from a reader, by reading the coefficients from a file
|
inlinestatic |
Factory function: Create a new HIirFilter, that writes to a writer, by reading the coefficients from a file
|
inlinestatic |
Factory function: Create a new HIirFilter, that registers with an upstream writer, by reading the coefficients from a file
|
virtual |
Run a block of samples through the filter
Implements HFilter< T >.
Reimplemented in HBiQuadFilter< BIQUAD, T >, HBiQuadFilter< HLowpassBiQuad< T >, T >, and HBiQuadFilter< HHighpassBiQuad< T >, T >.
|
inline |
Get the filter coefficients. The coefficients is returned in the order: b0, b1, b2, ..., bN, a1, a2, ..., aN
|
protected |
Initialize the filter
| void HIirFilter< T >::SetCoefficients | ( | float * | coefficients, |
| int | length | ||
| ) |
Set the coefficients of the filter. The coefficients must be provided in the order: b0, b1, b2, ..., bN, a1, a2, ..., aN
1.8.17