Overview
Subband RMS detector
Discussion
Compute the smoothed RMS value of frequency domain data on a subband-by-subband basis The module accepts real or complex inputs and has a separate state variable per subband. The module accepts an arbitrary blockSize and numChannels.
...
When bypassed the module computes the absolute value of the input; no smoothing occurs. For real data, the output is just fabs(in). For complex data, the square root of the magnitude squared is returned.
Type Definition
Code Block |
---|
typedef struct _ModuleSbRMS { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 smoothingTime; // Time interval over which to smooth the measurement. FLOAT32 a1; // a1 coefficient of 1st order smoothing filter. FLOAT32 b0; // b0 coefficient of 1st order smoothing filter. FLOAT32* yNm1; // Delayed output vector. } ModuleSbRMSClass; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
smoothingTime | float | parameter | 0 | 1000 | 0:10000 | msec |
a1 | float | derived | 1 | -0.9999 | Unrestricted | |
b0 | float | derived | 1 | 0.0001309 | Unrestricted | |
yNm1 | float* | state | 1 | [32 x 1] | Unrestricted |
Pins
Input Pins
Name: in
Description: audio input
...
Complex support: Real and Complex
Output Pins
Name: out
Description: audio output
Data type: float
MATLAB Usage
File Name: sb_rms_module.m
...