GraphicEQ
Overview
Multiband graphic equalizer
Discussion
This subsystem implements a complete multiband graphic equalizer. The number of bands and filter order is specified at instantiation time. The subsystem consists of a cascade of individual band pass filters.
The subsystem supports floating-point and fract32 data. The data type to use is specified at instantiation time. For floating-point data, the subsystem using the graphic_eq_band_module.m module. For fract32 data, the subsystem using the graphic_eq_band_fract32_module.m module. See these modules for additional details.
The upper and lower band edges of the bandpass filter modules are set to logarithmic spacing between the center frequency values, with the low edge and high edge variables affecting the first and last module, respectively. If you change the low or high edge variable and want to reset the center frequency variable array, you will need to modify the nbands argument to reinitialize values in the center frequency variable array. These default values can be overridden after the subsystem has been created. Please note that if you change any of these defaults, the inspector will not update until a prebuild of the system has taken place.
Module Pack
Standard
ClassID
classID =
Type Definition
typedef struct _ModuleGraphicEQ
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
} ModuleGraphicEQClass;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| lowEdge | float | parameter | 0 | 31.25 | 0:16000 | Hz |
| highEdge | float | parameter | 0 | 8000 | 0:16000 | Hz |
| centerFreqs | float* | parameter | 0 | [1 x 10] | 20:16000 | Hz |
Pins
Input Pins
| Name | in |
| Description | Audio Input |
| Data type | float |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
Output Pins
| Name | out |
| Description | Audio output |
| Data Type | float |
Scratch Pins
| Channel Count | 1 |
| Block size | 32 |
| Sample rate | 48000 |
Matlab Usage
File Name: graphic_eq_subsystem.m
SYS=graphic_eq_subsystem(NAME, NBANDS, ORDER, HP)
Creates a multi-band graphic EQ subsystem constructed as a cascade
of individual sections. Each section is realized as a
graphic_eq_band_module.m. Arguments:
NAME - name of the module.
NBANDS - number of bands. By default, NBANDS=10.
ORDER - order of each filter section. This must equal 4, 8, or 12.
By default, ORDER=8.
HP - determines whether or not to use high precision versions of
the filters (default=0).
Copyright (c) 2026 DSP Concepts, Inc.