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


Public Member Functions | |
| HIqMultiplier (HReader< T > *reader, H_SAMPLE_RATE rate, int frequency, int oscillatorAmplitude, size_t blocksize, HProbe< T > *probe=NULL) | |
| HIqMultiplier (HWriter< T > *writer, H_SAMPLE_RATE rate, int frequency, int oscillatorAmplitude, size_t blocksize, HProbe< T > *probe=NULL) | |
| HIqMultiplier (HWriterConsumer< T > *consumer, H_SAMPLE_RATE rate, int frequency, int oscillatorAmplitude, size_t blocksize, HProbe< T > *probe=NULL) | |
| ~HIqMultiplier () | |
| void | Init (H_SAMPLE_RATE rate, int frequency, int oscillatorAmplitude, size_t blocksize) |
| int | Read (T *dest, size_t blocksize) |
| int | Write (T *src, size_t blocksize) |
| void | SetWriter (HWriter< T > *writer) |
| bool | Start () |
| bool | Stop () |
| void | SetFrequency (int frequency) |
| void | Mix (T *src, T *dest, size_t blocksize) |
| 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 () |
IQ multiplier (unlinear mixer).
Will mix the input signal with a localoscillator signal thus producing (Tin + Tlo) and (Tin - Tlo)
The localoscillator frequency can be changed by calling SetFrequency(). behaviour while the frequency is transitioning is undefined, if you make large adjustments you may want to reduce the input level while setting the new frequency to avoid clicks or noise (check if it is a problem in your actual case)
| HIqMultiplier< T >::HIqMultiplier | ( | HReader< T > * | reader, |
| H_SAMPLE_RATE | rate, | ||
| int | frequency, | ||
| int | oscillatorAmplitude, | ||
| size_t | blocksize, | ||
| HProbe< T > * | probe = NULL |
||
| ) |
Construct a new HIqMultiplier (frequency mixer)
| HIqMultiplier< T >::HIqMultiplier | ( | HWriter< T > * | writer, |
| H_SAMPLE_RATE | rate, | ||
| int | frequency, | ||
| int | oscillatorAmplitude, | ||
| size_t | blocksize, | ||
| HProbe< T > * | probe = NULL |
||
| ) |
Construct a new HIqMultiplier (frequency mixer)
| HIqMultiplier< T >::HIqMultiplier | ( | HWriterConsumer< T > * | consumer, |
| H_SAMPLE_RATE | rate, | ||
| int | frequency, | ||
| int | oscillatorAmplitude, | ||
| size_t | blocksize, | ||
| HProbe< T > * | probe = NULL |
||
| ) |
Construct a new HIqMultiplier (frequency mixer)
| HIqMultiplier< T >::~HIqMultiplier |
Default destructor
|
inlinevirtual |
Execute or carry through a command
Implements HReader< T >.
| void HIqMultiplier< T >::Init | ( | H_SAMPLE_RATE | rate, |
| int | frequency, | ||
| int | oscillatorAmplitude, | ||
| size_t | blocksize | ||
| ) |
Common initialization tasks
| void HIqMultiplier< T >::Mix | ( | T * | src, |
| T * | dest, | ||
| size_t | blocksize | ||
| ) |
Mix two signals
|
virtual |
Read a block of samples
Implements HReader< T >.
| void HIqMultiplier< T >::SetFrequency | ( | int | frequency | ) |
Set the frequency of the local oscillator that feeds one of the inputs of the mixer
|
inlinevirtual |
Set writer
Implements HWriterConsumer< T >.
|
virtual |
Initialize before first read
Reimplemented from HReader< T >.
|
virtual |
Cleanup after last read
Reimplemented from HReader< T >.
|
virtual |
Write a block of samples
Implements HWriter< T >.
1.8.17