Overview
RMS detector with built-in smoothing
Discussion
This module calculates the Fractional smoothed RMS value of the input signal on a block-by-block basis. The input pin can have an arbitray number of interleaved channels and the RMS calculation occurs over all channels. The output pin has a single channel and a blockSize of 1.
...
The module also exposes some of the computed signals as state variables. filteredValue holds the output of the module (the smoothed RMS value). instantaneousValue holds the square root of the average energy in the block; no smoothing.
Type Definition
Code Block |
---|
typedef struct _ModuleRMSFract32 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 smoothingTime; // Time interval over which to smooth the measurement fract32 instantaneousValue; // Instantaneous (unsmoothed) output value fract32 filteredValue; // Smoothed output value fract32 a1; // a1 coefficient of 1st order smoothing filter fract32 b0; // b0 coefficient of 1st order smoothing filter fract32 b1; // b1 coefficient of 1st order smoothing filter fract32 xNm1; // Delayed input sample fract32 yNm1; // Delayed output sample } ModuleRMSFract32Class; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
smoothingTime | float | parameter | 0 | 1000 | 0:10000 | msec |
instantaneousValue | fract32 | state | 0 | 0 | -60:10 | |
filteredValue | fract32 | state | 0 | 0 | -60:10 | |
a1 | fract32 | derived | 1 | -0.9958 | Unrestricted | |
b0 | fract32 | derived | 1 | 0.00418 | Unrestricted | |
b1 | fract32 | derived | 1 | 0 | Unrestricted | |
xNm1 | fract32 | state | 1 | 0 | Unrestricted | |
yNm1 | fract32 | state | 1 | 0 | Unrestricted |
Pins
Input Pins
Name: in1
Description: Audio input
...
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description: Filtered RMS output
Data type: fract32
MATLAB Usage
File Name: rms_fract32_module.m
...