...
This module multiplies the input by the complex exponential exp(-j*2*pi*modBin*n/K) where modBin is an inspector parameter, K is the size of the input buffer (the FFT size) and n = 0:1:(K-1) is the sample number in the block. The only tunable parameter is modBin and K is taken from the wire size.
...
modBin is a floating-point value and can take on any real value including non-integer values. By default modBin = 0.25. The module supports real and complex inputs and always generates a complex output. Internally, the module generates the complex coefficients in the Set function and then applies the coefficients in the Processing function. The coefficients are an array of complex values of length blockSize:
modCoeffs[n]_real = cos(2 * pi * n * modBin / K);
modCoeffs[n]_imag = sin(2 * pi * n * modBin / K);
Type Definition
Code Block |
---|
typedef struct _ModuleComplexModulate { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 modBin; // Omega of modulation coefficient equation. FLOAT32* modCoeffs; // Modulation coefficient array } ModuleComplexModulateClass; |
...