4.3.7 VAD Decision

26.0943GPPAdaptive Multi-Rate (AMR) speech codecMandatory speech CODEC speech processing functionsRelease 17TSVoice Activity Detector (VAD)

The quantized SNR SNRq is used to determine the respective voice metric threshold vth, hangover count hcnt, and burst count threshold bth parameters:

(4.15)

where SNRQ is the index of the respective table elements. The VAD decision can then be made according to the following pseudocode:

if ( v(m) > vth + (m)) { /* if the voice metric > voice metric threshold*/
VAD(m) = ON
b(m) = b(m-1) + 1 /* increment burst counter */
if ( b(m) > bth ) { /* compare counter with threshold */
h(m) = hcnt /* set hangover */
}
} else {
b(m) = 0 /* clear burst counter */
h(m) = h(m-1) -1 /* decrement hangover /
if ( h(m) <= 0 ) { /* check for expired hangover /
VAD(m) = OFF
h(m) = 0
} else {
VAD(m) = ON /* hangover not yet expired */
}
}

Note that two 10 ms subframes are required to determine one VAD decision. The final decision is determined by the maximum of two subframe decisions, i.e.

if(VAD(m) == ON OR VAD(m-1) == ON) {
VAD_flag = TRUE
} else {
VAD_flag = FALSE
}