Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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.

  • No labels