Overview
Sub-band Complex FIR Filter 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. 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
typedef struct _ModuleSbComplexFIR { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 numTaps; // Length of each complex FIR filter INT32 stateIndex; // Write index in to current complex state variables FLOAT32* state; // FIR filter state memory FLOAT32* coeffs; // FIR filter coeffs array } ModuleSbComplexFIRClass;
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
numTaps | int | const | 1 | 8 | Unrestricted | |
stateIndex | int | state | 1 | 0 | Unrestricted | |
state | float* | state | 1 | [512 x 1] | Unrestricted | |
coeffs | float* | parameter | 0 | [512 x 1] | Unrestricted |
Pins
Input Pins
Name: in
Description: complex input
Data type: float
Channel range: 1
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Complex
Output Pins
Name: out
Description: complex output
Data type: float
MATLAB Usage
File Name: sb_complex_fir_module.m
M = sb_complex_fir_module(NAME, NUMTAPS, FFTSIZE) Creates a module which perform complex FIR filtering. The module operates on complex subband data. Arguments: NAME - name of the module. NUMTAPS - Number of taps in each complex FIR filter. FFTSIZE - optional argument which sets the default size of the IO pins. By default, FFTSIZE = 256 and it will be overwritten in pre-build function. This module is part of DSPC IP for efficient fast convolution.