Skip to main content
Skip table of contents

SbComplexFIRvl

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
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

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_vl_module.m

CODE
 M = sb_complex_fir_vl_module(NAME, NUMWORDS, NUMSUBBANDS)
 Creates a module which perform complex FIR filtering with variable length taps per subband.
 The module operates on complex subband data.  Arguments:
    NAME - name of the module.
    NUMWORDS - Total number of complex data words in state and coefficients.
               By default equals 2048.
    NUMSUBBANDS - optional argument which sets the default number of subbands.
              By default, NUMSUBBANDS = 256 and it will be overwritten in pre-build
              function.
 This module is part of DSPC IP for efficient fast convolution.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.