/
(8.D.1.3) AGCCoreFract32

(8.D.1.3) AGCCoreFract32

Overview

Automatic Gain Control gain calculator module

Type Definition

typedef struct _ModuleAGCCoreFract32 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 targetLevel; // Target audio level FLOAT32 maxAttenuation; // Maximum attenuation of the AGC FLOAT32 maxGain; // Maximum gain of the AGC FLOAT32 ratio; // Slope of the output attenuation when the signal is above threshold FLOAT32 activationThreshold; // Activation threshold of the AGC. The AGC stops updating its gain when the instantaneous input level is below this value FLOAT32 smoothingTime; // Response time of the AGC. This controls the RMS smoothing interval and the time constant of the smoothly updating gain INT32 enableRecovery; // Boolean which enables the AGC's gain recovery. If enabled, the AGC slows returns 0 dB gain when the input is below the activation threshold FLOAT32 recoveryRate; // Rate at which the gain is adjusted when the input is below the activation threshold FLOAT32 currentGain; // Instantaneous gain of the smoothing operation. fract32 smoothingCoeffSampleFract32; // Sample-by-sample smoothing coefficient for the output gain adjustment. Set via smoothingTime. fract32 smoothingCoeffBlockFract32; // Block-by-block smoothing coefficient for the RMS measurement. Set via smoothingTime. fract32 targetGainFract32; // Target gain of the smoothing operation. fract32 energyFract32; // Smoothed energy measurement. fract32 oneOverNumSamplesFract32; // 1 divided by the number of samples in the input pin. Used internally by the algorithm in order to save a divide operation. fract32 oneOverSlopeFract32; // Used by the processing function to compute the amount of cut/boost. Equal to 1-1/ratio. FLOAT32 oneOverSlope; // Used by the processing function to compute the amount of cut/boost. Equal to 1-1/ratio. FLOAT32 smoothingCoeffSample; // Sample-by-sample smoothing coefficient for the output gain adjustment. Set via smoothingTime. FLOAT32 smoothingCoeffBlock; // Block-by-block smoothing coefficient for the RMS measurement. Set via smoothingTime. FLOAT32 recoveryRateUp; // Recovery rate coefficient when increasing the gain (it is always >= 1) FLOAT32 recoveryRateDown; // Recovery rate coefficient when decreasing the gain (it is always <= 1) FLOAT32 targetGain; // Target gain of the smoothing operation. FLOAT32 energy; // Smoothed energy measurement. FLOAT32 oneOverNumSamples; // 1 divided by the number of samples in the input pin. Used internally by the algorithm in order to save a divide operation. fract32 targetLevelFract32; // Target audio level fract32 maxGainFract32; // Maximum gain of the AGC fract32 maxAttenuationFract32; // Maximum attenuation of the AGC fract32 activationThresholdFract32; // Activation threshold of the AGC. The AGC stops updating its gain when the instantaneous input level is below this value fract32 recoveryRateUpFract32; // Recovery rate coefficient when increasing the gain (it is always >= 1) fract32 recoveryRateDownFract32; // Recovery rate coefficient when decreasing the gain (it is always <= 1) fract32 currentGainFract32; // Instantaneous gain of the smoothing operation. } ModuleAGCCoreFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

targetLevel

float

parameter

0

-20

-50:0.1:50

dB

maxAttenuation

float

parameter

0

100

0:100

dB

maxGain

float

parameter

0

12

0:50

dB

ratio

float

parameter

0

10

1:100

dB/dB

activationThreshold

float

parameter

0

-50

-100:-20

dB

smoothingTime

float

parameter

0

100

1:5000

msec

enableRecovery

int

parameter

0

1

0:1

 

recoveryRate

float

parameter

0

2.4

1:20

dB/sec

currentGain

float

state

0

0

-12:12

 

smoothingCoeffSampleFract32

fract32

derived

0

0.0002083

Unrestricted

 

smoothingCoeffBlockFract32

fract32

derived

0

0.006644

Unrestricted

 

targetGainFract32

fract32

state

0

0

Unrestricted

 

energyFract32

fract32

state

0

0

Unrestricted

 

oneOverNumSamplesFract32

fract32

derived

0

0.03125

Unrestricted

 

oneOverSlopeFract32

fract32

derived

0

0.9

Unrestricted

 

oneOverSlope

float

derived

1

0.9

Unrestricted

 

smoothingCoeffSample

float

derived

1

0.0002083

Unrestricted

 

smoothingCoeffBlock

float

derived

1

0.006644

Unrestricted

 

recoveryRateUp

float

derived

1

1

Unrestricted

 

recoveryRateDown

float

derived

1

0.9998

Unrestricted

 

targetGain

float

state

1

0

Unrestricted

 

energy

float

state

1

0

Unrestricted

 

oneOverNumSamples

float

derived

1

0.03125

Unrestricted

 

targetLevelFract32

fract32

derived

1

-0.1563

Unrestricted

 

maxGainFract32

fract32

derived

1

0.09375

Unrestricted

 

maxAttenuationFract32

fract32

derived

1

0.7813

Unrestricted

 

activationThresholdFract32

fract32

derived

1

-0.3906

Unrestricted

 

recoveryRateUpFract32

fract32

derived

1

0.25

Unrestricted

 

recoveryRateDownFract32

fract32

derived

1

0.25

Unrestricted

 

currentGainFract32

fract32

state

1

0

Unrestricted

 

Pins

Input Pins

Name: in

Description: Audio input

Data type: fract32

Channel range: 1

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: audio output

Data type: fract32

MATLAB Usage

File Name: agc_core_fract32_module.m

M=agc_core_fract32_module(NAME) Audio Weaver modules which calculates the instantaneous gain needed by an automatic gain control AGC module. This module is used in conjunction with the agc_multiplier_module. The input format for this module is 1.31 and output format is 4.28. NAME - name of the module.

 

Related content

(8.D.2.5) AGCCoreFract32
(8.D.2.5) AGCCoreFract32
More like this
(8.D.2.4) AGCCoreFract32
(8.D.2.4) AGCCoreFract32
More like this
(8.D.2.7) AGCCoreFract32
(8.D.2.7) AGCCoreFract32
More like this
(8.D.2.3) AGCCoreFract32
(8.D.2.3) AGCCoreFract32
More like this
(8.D.2.2 ) AGCCoreFract32
(8.D.2.2 ) AGCCoreFract32
More like this
(8.D.2.2) AGCCoreFract32
(8.D.2.2) AGCCoreFract32
More like this