ZHCABF0A December   2021  – April 2022 PCM6120-Q1 , TLV320ADC5120 , TLV320ADC6120

 

  1.   使用 TLV320ADC5120_PCM5120-Q1 和 TLV320ADC6120_PCM6120-Q1 中的语音活动检测器 (VAD)
  2.   商标
  3. 1引言
  4. 2语音活动检测器
    1. 2.1 VAD 配置
    2. 2.2 VAD 参数
  5. 3VAD 结果
  6. 4示例
  7. 5相关文档
  8. 6修订历史记录

VAD 参数

表 2-8 显示了 VAD 算法的参数。这些参数驻留在器件的 32 位宽系数存储器(Book 0、Page 1、Page 7、Page 8 和 Page 9)中。

表 2-8 VAD 参数列表
VAD 参数功能、说明
初始学习周期 (ILP)这是从 VAD 开启瞬间开始 VAD 算法调整自身以适应背景噪声环境所花费的时间。
保持计数器 (HOC)在检测到语音活动时,VAD 算法会生成一个中断,如果该中断被编程为高电平有效,则在检测到语音时中断变为高电平(逻辑 1),当没有语音时变为低电平(逻辑 0)。在变为低电平之前,语音活动停止后中断保持高电平的时长由 HOC 计数决定。
唤醒等待 (WW)如果 VAD 被编程为处于自动模式,则在检测到语音时,它将自动开启 ADC 并开始记录,同时还会检查是否存在语音活动。唤醒等待是 VAD 在进入记录模式后暂停的时长,经过该时长后会恢复。
阈值 (TH)阈值控制决策树节点的决策边界。较高的值将增加决策树所有节点的节点阈值,从而降低误报的可能性。类似地,较低的阈值参数值会降低节点阈值,从而降低漏报的可能性。

初始学习周期:ILP 是从 VAD 开启瞬间开始 VAD 算法调整自身以适应背景噪声环境所花费的时间。Equation1 显示了如何计算 VAD_ILP 参数。

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

其中

  • ILP10 是以十进制形式表示的 ILP 寄存器值

默认值 (0x001F4000) 对应于 1s。表 2-9 显示了控制 VAD_ILP 参数的寄存器。

表 2-9 用于初始学习周期的可编程系数寄存器
系数寄存器复位值说明
VAD_ILP0x070x7C0x00ILP 字节 [31:24]
0x070x7D0x1FILP 字节 [23:16]
0x070x7E0x40ILP 字节 [15:8]
0x070x7F0x00ILP 字节 [7:0]

保持计数器:在检测到语音活动时,VAD 算法会生成一个中断,如果该中断被编程为高电平有效,则在检测到语音时中断变为高电平(逻辑 1),当没有语音时变为低电平(逻辑 0)。在变为低电平之前,语音活动停止后中断保持高电平的时长由保持计数器计数决定。Equation2 显示了如何计算 VAD_HOC 参数。

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

其中

  • HOC10 是以十进制形式表示的 HOC 寄存器值

默认值 (0x00032000) 对应于 100ms。表 2-10 显示了控制 VAD_HOC 参数的寄存器。

表 2-10 用于保持计数器的可编程系数寄存器
系数寄存器复位值说明
VAD_HOC0x080x0C0x00HOC 字节 [31:24]
0x080x0D0x03HOC 字节 [23:16]
0x080x0E0x20HOC 字节 [15:8]
0x080x0F0x00HOC 字节 [7:0]

唤醒等待:如果 VAD 被编程为处于自动模式,则在检测到语音时,它将自动开启 ADC 并开始记录,同时还会检查是否存在语音活动。唤醒等待是 VAD 在进入记录模式后暂停的时长,经过该时长后会恢复。Equation3 显示了如何计算 VAD_WW 参数。

Equation3. Wakeup Wait (s)= WW10( 256× 8000 )

其中

  • WW10 是以十进制形式表示的唤醒等待寄存器值

默认值 (0x01388000) 对应于 10s。表 2-11 显示了控制 VAD_WW 参数的寄存器。

表 2-11 用于唤醒等待的可编程系数寄存器
系数寄存器复位值说明
VAD_WW0x080x080x01WW 字节 [31:24]
0x080x090x38WW 字节 [23:16]
0x080x0A0x80WW 字节 [15:8]
0x080x0B0x00WW 字节 [7:0]

阈值:阈值 (TH) 控制决策树节点的决策边界。较高的值将增加决策树所有节点的节点阈值,从而降低误报的可能性。类似地,较低的阈值参数值会降低节点阈值,从而降低漏报的可能性。因此,可以调整阈值参数,以在漏报和误报之间达到适当的平衡。

Equation4 显示了如何计算 VAD_TH 参数。

Equation4. ThresholdneW=Thresholddefault×10thr20

其中

  • thr 是以 dB 为单位的阈值(–20dB 至 0dB)
  • Thresholddefault 是以十进制表示的阈值寄存器中的默认值 (16777216)

默认值 (16777216) 对应于 0dB。表 2-12 显示了控制 VAD_TH 参数的寄存器。

表 2-12 用于阈值的可编程系数寄存器
系数寄存器复位值说明
VAD_TH0x090x500x01TH 字节 [31:24]
0x090x510x00TH 字节 [23:16]
0x090x520x00TH 字节 [15:8]
0x090x530x00TH 字节 [7:0]