FilterbankFIR
Discussion
This module is deprecated; use the FilterbankFIRV2 module instead.
DSP Concepts Proprietary IP.
This module implements a long FIR filter using filterbank processing. This yields a significant reduction in the processing load and allows much longer filters to be implemented. The filterbank reduces computation by breaking a large convolution into multiple smaller independent convolutions. The implementation supports mono audio channels and the blockSize must be a power of 2.
When you instantiate the module you specify the blockSize and the length of the filter L. The larger the blockSize the more efficient the processing. The latency through the filter is zero and is numerically equivalent to having a time domain FIR filter.
On the Inspector (or Numeric Inspector) you specify the time domain FIR filter coefficients. The module will automatically take care of converting the time domain coefficients into the appropriate frequency domain coefficients. For ease of use, it is better to use the Numeric Inspector and then load the coefficients from a text file.
Module Pack
Advanced
ClassID
classID =
Type Definition
typedef struct _ModuleFilterbankFIR
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
} ModuleFilterbankFIRClass;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| L | int | const | 0 | 1024 | Unrestricted | |
| numBlocks | int | const | 0 | 5 | Unrestricted | |
| coeffs | float* | parameter | 0 | [1024 x 1] | Unrestricted |
Pins
Input Pins
| Name | in |
| Description | Time domain input |
| Data type | float |
| Channel range | 1 |
| Block size range | 256 |
| Sample rate range | Unrestricted |
| Complex support | Real |
Output Pins
| Name | out |
| Description | Time domain output |
| Data Type | float |
Scratch Pins
| Channel Count | 1 |
| Block size | 256 |
| Sample rate | 48000 |
| Channel Count | 1 |
| Block size | 257 |
| Sample rate | 48000 |
| Channel Count | 1 |
| Block size | 256 |
| Sample rate | 48000 |
| Channel Count | 1 |
| Block size | 256 |
| Sample rate | 48000 |
Matlab Usage
File Name: filterbank_fir_subsystem.m
SYS = filterbank_fir_subsystem(NAME, L, BLOCKSIZE)
Creates a subsystem which implements a long FIR filter efficiently using
a filterbank based algorithm. Arguments:
NAME - name of the subsystem
L - length of the time domain FIR filter
BLOCKSIZE - block size of the processing
The function internally uses a combination of Audio Weaver blocks
in order to achieve the desired filtering. The input and output
audio are mono.
Copyright (c) 2026 DSP Concepts, Inc.