SBAA490A December   2021  – April 2022 PCM6120-Q1 , TAA5212 , TAC5111 , TAC5112 , TAC5211 , TAC5212 , TLV320ADC5120 , TLV320ADC6120

 

  1.   Trademarks
  2. 1Introduction
  3. 2Voice Activity Detector
    1. 2.1 VAD Configurations
    2. 2.2 VAD Parameters
  4. 3VAD Results
  5. 4Examples
  6. 5Related Documentation
  7. 6Revision History

VAD Parameters

Table 2-8 shows the parameters of the VAD algorithm. These parameters reside in the 32-bit wide coefficient memory (Book 0, Page 1, Page 7, page 8. and Page 9) of the device.

Table 2-8 List of VAD Parameters
VAD ParameterFunction, Description
Initial learning period (ILP)This is the amount of time the VAD algorithm takes to adjust itself to the background noise environment, from the time instant VAD is turned on.
Hold over counter (HOC)On detecting voice activity, the VAD algorithm generates an interrupt, if the interrupt is programmed to be active high, then the interrupt goes high (logic 1) on detecting voice and goes low (logic 0) when there is no voice. Before going low, the amount of time interrupt stays high after the voice activity ceases to exist is determined by the HOC count.
Wakeup wait (WW)If VAD is programmed to be in Auto mode, on detecting voice, it will automatically turn on the ADC and start recording, simultaneously also checking for voice activity. Wakeup wait is the amount of time for which VAD is suspended after going to recording mode and thereafter resumed.
Threshold (TH)Threshold controls the decision boundary of the nodes of the decision tree. A higher value will increase the node thresholds of all the nodes of the decision tree, thus reducing the likelihood of false positives. Similarly, a lower value for the threshold parameter decreases the node thresholds, which reduces the likelihood of false negatives.

Initial learning period: ILP is the amount of time the VAD algorithm takes to adjust itself to the background noise environment, from the time instant VAD is turned on. Equation 1 shows the computation of the VAD_ILP parameter.

Equation 1. Initial learning period (s)= ILP10( 256× 8000 )

where

  • ILP10 is the ILP register value in decimal form

The default value (0x001F4000) corresponds to 1 s. Table 2-9 shows the registers that control the VAD_ILP parameter.

Table 2-9 Programmable Coefficient Registers for Initial Learning Period
CoefficientPageRegisterReset ValueDescription
VAD_ILP0x070x7C0x00ILP Byte[31:24]
0x070x7D0x1FILP Byte[23:16]
0x070x7E0x40ILP Byte[15:8]
0x070x7F0x00ILP Byte[7:0]

Hold over counter: On detecting voice activity, the VAD algorithm generates an interrupt, if the interrupt is programmed to be active high, then the interrupt goes high (logic 1) on detecting voice and goes low (logic 0) when there is no voice. Before going low the amount of time interrupt stays high after the voice activity ceases to exist is determined by the hold over counter count. Equation 2 shows the computation of the VAD_HOC parameter.

Equation 2. Hold over counter (s)= HOC10( 256× 8000 )

where

  • HOC10 is the HOC register value in decimal form

The default value (0x00032000) corresponds to 100 ms. Table 2-10 shows the registers that control the VAD_HOC parameter.

Table 2-10 Programmable Coefficient Registers for Hold Over Counter
CoefficientPageRegisterReset ValueDescription
VAD_HOC0x080x0C0x00HOC Byte[31:24]
0x080x0D0x03HOC Byte[23:16]
0x080x0E0x20HOC Byte[15:8]
0x080x0F0x00HOC Byte[7:0]

Wakeup wait: If VAD is programmed to be in auto mode, on detecting voice, it will automatically turn on the ADC and start recording, simultaneously also checking for voice activity. Wakeup wait is the amount of time for which VAD is suspended after going to recording mode and thereafter resumed. Equation 3 shows the computation of the VAD_WW parameter.

Equation 3. Wakeup wait (s)= WW10( 256× 8000 )

where

  • WW10 is the Wakeup wait register value in decimal

The default value (0x01388000) corresponds to 10 s. Table 2-11 shows the registers that control the VAD_WW parameter.

Table 2-11 Programmable Coefficient Registers for Wakeup Wait
CoefficientPageRegisterReset ValueDescription
VAD_WW0x080x080x01WW Byte[31:24]
0x080x090x38WW Byte[23:16]
0x080x0A0x80WW Byte[15:8]
0x080x0B0x00WW Byte[7:0]

Threshold: Threshold (TH) controls the decision boundary of the nodes of the decision tree. A higher value will increase the node thresholds of all the nodes of the decision tree, thus reducing the likelihood of false positives. Similarly, a lower value for the threshold parameter decreases the node thresholds, which reduces the likelihood of false negatives. Thus the threshold parameter can be adjusted to settle at the appropriate balance between false negatives and false positives.

Equation 4 shows the computation of the VAD_TH parameter.

Equation 4. Thresholdnew=Thresholddefault×10thr20

where

  • thr is the threshold value in dB (–20 dB to 0 dB )
  • Thresholddefault is the default value in the Threshold register in decimal (16777216 )

The default value (16777216) corresponds to 0 dB. Table 2-12 shows the registers that control the VAD_TH parameter.

Table 2-12 Programmable Coefficient Registers for Threshold
CoefficientPageRegisterReset ValueDescription
VAD_TH0x090x500x01TH Byte[31:24]
0x090x510x00TH Byte[23:16]
0x090x520x00TH Byte[15:8]
0x090x530x00TH Byte[7:0