Overview
Single band of a cascade graphic equalizer with high precision implementation
Discussion
This module implements a single stage of a graphic equalizer. The stage provides boost or cut over a specified frequency range. A multistage graphic EQ subsystem is constructed as a series cascade of these modules. The multistage graphic EQ is contained within graphic_eq_fract32_subsystem.m. This module is typically not used directly; use the graphic_eq_fract32_subsystem.m instead.
...
Internally, the filter is implemented as a cascade of second order biquad sections with high precision implementation.
Type Definition
Code Block |
---|
typedef struct _ModuleGraphicEQBandHP { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 gain; // Gain in the center of the band, in dB. FLOAT32 lowerEdge; // Lower frequency edge of the band, in Hz. FLOAT32 upperEdge; // Upper frequency edge of the band, in Hz. FLOAT32 smoothingTime; // Time constant of the smoothing process. INT32 numStages; // Number of 2nd order stages in the filter. INT32 updateActive; // Internal control flag which enables currentCoeff updating in process function. FLOAT32 smoothingCoeff; // Smoothing coefficient. FLOAT32* targetCoeffs; // Target coefficient array. Each column contains the variables for a biquad arranged as [Fb; Gaa; Gab; K; Fa]. FLOAT32* currentCoeffs; // Current coefficient array after smoothing. Each column contains the variables for a biquad arranged as [Fb; Gaa; Gab; K; Fa]. FLOAT32* state; // State variable array with 2 values per stage per channel. } ModuleGraphicEQBandHPClass; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
gain | float | parameter | 0 | 0 | -12:0.1:12 | dB |
lowerEdge | float | parameter | 0 | 100 | 20:20000 | Hz |
upperEdge | float | parameter | 0 | 500 | 20:20000 | Hz |
smoothingTime | float | parameter | 0 | 20 | 0:1000 | msec |
numStages | int | const | 0 | 4 | Unrestricted | |
updateActive | int | state | 0 | 1 | Unrestricted | |
smoothingCoeff | float | derived | 1 | 0.03278 | Unrestricted | |
targetCoeffs | float* | parameter | 1 | [5 x 4] | Unrestricted | |
currentCoeffs | float* | parameter | 1 | [5 x 4] | Unrestricted | |
state | float* | state | 1 | [2 x 4] | Unrestricted |
Pins
Input Pins
Name: in
Description: audio input
...
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description: audio output
Data type: float
MATLAB Usage
File Name: graphic_eq_bandHP_module.m
...