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


Public Member Functions | |
| HIqFirDecimator (HWriter< T > *writer, int factor, float *coefficients, int points, size_t blocksize, bool collect=true, HProbe< T > *probe=nullptr) | |
| HIqFirDecimator (HWriterConsumer< T > *consumer, int factor, float *coefficients, int points, size_t blocksize, bool collect=true, HProbe< T > *probe=nullptr) | |
| HIqFirDecimator (HReader< T > *reader, int factor, float *coefficients, int points, size_t blocksize, bool collect=true, HProbe< T > *probe=nullptr) | |
| void | SetWriter (HWriter< T > *writer) |
| ~HIqFirDecimator () | |
| int | Write (T *src, size_t blocksize) |
| int | Read (T *dest, size_t blocksize) |
| bool | Start () |
| bool | Stop () |
| bool | Command (HCommand *command) |
Public Member Functions inherited from HReader< T > | |
| virtual | ~HReader ()=default |
| HReader< T > * | Reader () |
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 HWriterConsumer< T > | |
| HWriterConsumer< T > * | Consumer () |
Implements a fir-decimator that can reduce the incomming samplerate by a given factor
| HIqFirDecimator< T >::HIqFirDecimator | ( | HWriter< T > * | writer, |
| int | factor, | ||
| float * | coefficients, | ||
| int | points, | ||
| size_t | blocksize, | ||
| bool | collect = true, |
||
| HProbe< T > * | probe = nullptr |
||
| ) |
Construct a new HIqFirDecimator that handle writers.
| writer | The downstream writer |
| factor | Decimation factor, 1 or larger |
| coefficients | FIR coefficients |
| points | Number of FIR coefficients |
| blocksize | The expected input and output blocksize |
| collect | Normally you want to use the same blocksize for alle writers in a chain, but if you are going to use a decimator in a parallel demultiplexed chain (processing IQ data), it is very important to write chunks from both branches alternating. In that case, set 'collect=false'. A write of 1024 samples will then immediately result in a write of 1024/factor samples to the next writer. |
| probe | Probe |
| HIqFirDecimator< T >::HIqFirDecimator | ( | HWriterConsumer< T > * | consumer, |
| int | factor, | ||
| float * | coefficients, | ||
| int | points, | ||
| size_t | blocksize, | ||
| bool | collect = true, |
||
| HProbe< T > * | probe = nullptr |
||
| ) |
Construct a new HIqFirDecimator that handle writer consumers.
| consumer | Upstream consumer |
| factor | Decimation factor, 1 or larger |
| coefficients | FIR coefficients |
| points | Number of FIR coefficients |
| blocksize | The expected input and output blocksize |
| collect | Normally you want to use the same blocksize for alle writers in a chain, but if you are going to use a decimator in a parallel demultiplexed chain (processing IQ data), it is very important to write chunks from both branches alternating. In that case, set 'collect=false'. A write of 1024 samples will then immediately result in a write of 1024/factor samples to the next writer. |
| probe | Probe |
| HIqFirDecimator< T >::HIqFirDecimator | ( | HReader< T > * | reader, |
| int | factor, | ||
| float * | coefficients, | ||
| int | points, | ||
| size_t | blocksize, | ||
| bool | collect = true, |
||
| HProbe< T > * | probe = nullptr |
||
| ) |
Construct a new HIqFirDecimator that handle readers.
| reader | = The upstream reader |
| factor | Decimation factor, 1 or larger |
| coefficients | FIR coefficients |
| points | Number of FIR coefficients |
| blocksize | The expected input and output blocksize |
| collect | Normally you want to use the same blocksize for alle readers in a chain, but if you are going to use a decimator in a parallel demultiplexed chain (processing IQ data), it is very important to write chunks from both branches alternating. In that case, set 'collect=false'. A write of 1024 samples will then immediately result in a read of 1024 samples from the previous reader and return only 1024/factor samples. |
| probe | Probe |
| HIqFirDecimator< T >::~HIqFirDecimator |
Default destructor
|
inlinevirtual |
Execute or carry through a command
Implements HReader< T >.
|
virtual |
Read a block of samples
| dest | Destination buffer |
| blocksize | Number of samples to write |
Implements HReader< T >.
|
inlinevirtual |
Implements HWriterConsumer::SetWriter()
Implements HWriterConsumer< T >.
|
inlinevirtual |
Call Start() on up- or downstream components
Reimplemented from HReader< T >.
|
inlinevirtual |
Call Stop() on up- or downstream components
Reimplemented from HReader< T >.
|
virtual |
Write a block of samples
| src | Source buffer |
| blocksize | Number of samples to write |
Implements HWriter< T >.
1.8.17