The purpose of the noise estimation module is to estimate the level of noise in the vehicle coming from the engine, the road, and other error sources while music is playing. Inputs given to the module are the digital output sound data in its final stage before it is sent to the DACs, and the feedback coming from a microphone mounted somewhere in the vehicle cabin. When users know what is sent to each loudspeaker, they can correlate that information with the microphone input to get a channel estimate.
This is only a component of the complete VNC implementation.
The coefficients get dynamically calculated and updated. This approach has the benefit of being able to adapt to changing circumstances. For example, if a window is opened while driving, the noise increases. In addition to increased noise, the optimal channel estimate changes as well.
Control Parameters
- Door slam count: Number of frames exceeding the threshold. (This count is to be used to detect door slams.)
- Err smallest RMS: Small error threshold.
- Err median RMS: Error estimation after median filtering.
- Audio channels: Audio channel range varies from 2 to 7.
Tuning Parameters
| Parameter | Min | Max | Default | Description |
| Error Decay Time | 0.0 | 10.0 | 0.05 | Error decay time is measured in milliseconds. |
| Mic Gain | -20.0 | 20.0 | 0.0 | Microphone gain measured in dB. |
| Stepsize | 0.0 | 5.0 | 0.03 | NLMS step size. |
| Powersum Min | 0.0 | 1000.0 | 0.003 | Minimum power value, NLMS parameter. Lower bound for input signal when calculating NLMS step size. |
| Doorslam Threshold | 0.0 | 1000.0 | 1.2 | Upper bound for door slam detection |
| Power Threshold | 0.0 | 1000.0 | 0.003 | Threshold for which input power leads to coefficients update |
| Doorslam Timeout | 0.0 | 10.0 | 0.0 | Door slam detection timeout |
| Readapt Timeout | 0.0 | 10.0 | 0.0 | Open window enforce re-adaptation timeout |
| Tuning channel | 1 | (Num of channels -1) | 1 | Selection of channel for which the adaptive coefficients get copied over to the static coefficients on enabling tuning (see “Tuning enabled”) |
| Tuning enabled | 0 | 1 | 0 | Enable copying the adaptive filter coefficients of the selected channel (see “Tuning channel”) to the corresponding static filter coefficients |
FIR coefficients
The FIR coefficients for the static and adaptive filters are arranged as follows.
The number of static and adaptive filter coefficient arrays depends on the number of entertainment channels (number of audio input channels – 1). For each entertainment channel there is a static and an adaptive filter coefficient set.
Table shows the case of one entertainment channel, which means there is one FIR static coefficients array and one FIR adaptive coefficients array. If the number of entertainment channels is higher, then first the arrays of FIR static coefficients are allocated then the arrays of FIR adaptive coefficients.
| Parameter | Offset | Range | Default value |
| FIR static 1 coefficients | 40 | -9999.0 – 9999.0 | 0.0 |
| FIR static 2 coefficients | 1064 | -9999.0 – 9999.0 | 0.0 |
| FIR adaptive 1 coefficients | 2088 | -9999.0 – 9999.0 | 0.0 |
| FIR adaptive 2 coefficients | 3112 | -9999.0 – 9999.0 | 0.0 |
Each FIR coefficient array stores the filter coefficients in reverse order compared to the common understanding of FIR coefficients, meaning the last value in the array of one filter set is the first coefficient of the FIR filter.