...
Discussion
Sample rate converter. \n The output sample rate is computed by SampleRateOut = L/D*SampleRateIn = SampleRateOut. If the ratio of the input sample rate to the desired output sample rate is irrational, the desired output sample rate will not equal the actual output sample rate, where L is the Interpolation factor and D is the Decimation factor. The input block size must be an interger integer multiple of D. The length of the filter must be > greater than L. L, D, and the optimal value for N can be calculated using the inspector.
...
Code Block |
---|
typedef struct _ModuleUpFIRDnConverter { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 gd; // Group Delay or latency, calculated result INT32 KAISER; // Filter type constant INT32 PARKS_MCCLELLAN; // Filter type constant INT32 CUSTOM; // Filter type constant FLOAT32 fin; // Input Sample Rate INT32 L; // Interpolation factor INT32 D; // Decimation factor INT32 filterType; // filter type of FIR INT32 ND; // Integer multiplication factor INT32 N; // length of FIR filter INT32 NQ; // Size of QBUF, >= 2*Q, where Q = N/L (integer divide) INT32 IQ; // QBUF index INT32 JQ; // QBUF index, moving address index. INT32 NC; // Size of array COFS INT32 NCOEF; // Size of COEF array FLOAT32* QBUF; // Internal buffer for storage of state variables of FIR filter INT32* ICTR; // Buffer for storing control data FLOAT32* COEF; // FIR symmetric filter coeffs FLOAT32* COFS; // scrambled coeffs for FIR filter } ModuleUpFIRDnConverterClass; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
gd | float | const | 0 | 0.1319 | Unrestricted | msec |
KAISER | int | const | 1 | 1 | Unrestricted | |
PARKS_MCCLELLAN | int | const | 1 | 2 | Unrestricted | |
CUSTOM | int | const | 1 | 3 | Unrestricted | |
fin | float | parameter | 1 | 48000 | Unrestricted | |
L | int | const | 1 | 3 | Unrestricted | |
D | int | const | 1 | 4 | Unrestricted | |
filterType | int | const | 1 | 1 | Unrestricted | |
ND | int | derived | 1 | 8 | Unrestricted | |
N | int | const | 1 | 39 | Unrestricted | |
NQ | int | const | 1 | 26 | Unrestricted | |
IQ | int | const | 1 | 13 | Unrestricted | |
JQ | int | derived | 1 | 13 | Unrestricted | |
NC | int | const | 1 | 39 | Unrestricted | |
NCOEF | int | const | 1 | 20 | Unrestricted | |
QBUF | float* | derived | 1 | [1 x 26] | Unrestricted | |
ICTR | int* | derived | 1 | [6 x 1] | Unrestricted | |
COEF | float* | derived | 0 | [20 x 1] | Unrestricted | |
COFS | float* | derived | 1 | [39 x 1] | Unrestricted |
Pins
Input Pins
Name: in
Description: Input signal
...