Document toolboxDocument toolbox

SbComplexFIR

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.

Â