AGCMultiplierFract32
Overview
Mono x N-channel multiplier
Discussion
The AGCFract32 Multiplier is used to multiply N interleaved audio channels by a single mono audio signal. A common use for the AGCMultipler is in automatic gain control systems, where the gain signal is taken from the limiter core or gain computer module. Using a single (mono) gain control signal for a multichannel input ensures that the balance between the audio channels is maintained, and allows for sidechain processing.
The postShift parameter can be used to adjust the scaling of the output, or allow multiplies of values larger than 1.
e.g. A postShift of -1 will scale the output between -2 and 2, if the input was between -1 and 1.
The user can multiply 0.75 with a shift of -1 and assume normal scaling and achieve a multiply of 1.5. A positive postShift can increase the dynamic range when multiplying with small numbers. It is up to the user to track all shifts in the layout.
Type Definition
typedef struct _ModuleAGCMultiplierFract32
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 postShift; // Number of bits to shift
} ModuleAGCMultiplierFract32Class;
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
postShift | int | parameter | 0 | 7 | 0:31 | postShift |
Pins
Input Pins
Name: g
Description: Gain to apply
Data type: fract32
Channel range: 1:1:1
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Real
Name: in
Description: N-channel audio input signal
Data type: fract32
Channel range: Unrestricted
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description: N-channel audio output signal
Data type: fract32
MATLAB Usage
File Name: agc_multiplier_fract32_module.m
M=agc_multiplier_fract32_module(NAME)
Creates a 1 x N-channel fractional multiplier module for use with the Audio
Weaver. Arguments:
NAME - name of the module.