Overview
Sub-band Complex FIR Filter with module
Discussion
Part of DSP Concepts IP for implementing long FIR filters in the frequency domain. This module implements a complex FIR filter within each subband of a filterbank with variable length of taps per subband. At instantiation time, you specify the number of taps in each complex filter
The module allocates memory for the complex FIR coefficients and state variables and at run-time implements the complex convolutions
Type Definition
Code Block |
---|
typedef struct _ModuleSbComplexFIRvl { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 numWords; // Length of state and coeffs array INT32* stateIndex; // State index per subband INT32* numTaps; // Array of number of taps per subband FLOAT32* state; // FIR filter state memory FLOAT32* coeffs; // FIR filter coeffs array } ModuleSbComplexFIRvlClass; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
numWords | int | const | 1 | 2048 | Unrestricted | |
stateIndex | int* | state | 1 | [32 x 1] | Unrestricted | |
numTaps | int* | parameter | 0 | [32 x 1] | Unrestricted | |
state | float* | state | 1 | [4096 x 1] | Unrestricted | |
coeffs | float* | parameter | 0 | [4096 x 1] | Unrestricted |
Pins
Input Pins
Name: in
Description: complex input
...
Sample rate range: Unrestricted
Complex support: Complex
Output Pins
Name: out
Description: complex output
Data type: float
MATLAB Usage
File Name: sb_complex_fir_vl_module.m
...