Skip to main content

PXVF3500-KIT_dsp_描述

阅读前确认

用户需要确认一下内容,以方便阅读下文

  • 已拥有了PXVF3500-KIT
  • 已获取到PXVF3500-KIT的资料包
  • 已能够进行使用dfu_usb和vfvtrl_usb工具,
  • 已详细了解XMOS 的XVF3500-DSP-Databrief文档
  • 已详细了XVF3500 内置的前端算法AEC , BF , NS, AGC等

下文将不再对XVF3500-DSP-Databrief里的专业术语进行解释,重点是描述DSP参数的意义和数值的方向

PXVF3500-KIT DSP 初始参数

PXVF3500-KIT 使用XVF3500-DSP-Databrief的默认参数,可以通过查阅文档和使用vfctrl_usb 可以读取PXVF3500-KIT的DSP参数。且PXVF3500-KIT每次重新上电,所有DSP 参数都重置为初始值

vfctrl_usb HPFONOFF

其重新上电后首次打印输出的内容为初始值,

HPFONOFF:3

其他参数使用vfctrl_usb工具读取方式同理

查阅文档XVF3500-DSP-Databrief的从page 14开始的参数描述中可以获取初始参数

DSP 参数写入和认证

使用vfctrl_usb 工具进行写入DSP 参数,如键入指令:

vfctrl_usb HPFONOFF 2

PXVF3500-KIT可以实时更改HPFONOFF参数为3,并且打印输出如下,

HPFONOFF:3

键入指令时需要注意空格的输入,同时查阅XVF3500-DSP-Databrief里HPFONOFF描述的的范围为[0..3] ,其值的类型为INT型(整数型)。 确认写入完成了后,可以使用audaciy或者其他录音软件实时查看vfctril_usb工具修改DSP参数的效果。同时建议使用系统声卡监听功能进行实时侦听修改效果。使用3.5mm耳机插入PC电脑的耳机孔后,参考下图,进行如下操作,

  • 在录音栏项,右键 XMOS VocalFusion St(UAC1.0) -> 点击属性
  • 选中侦听此设备
  • 在通过此设备中播放下拉栏中->选择PC电脑内置的播放声卡
  • 必须使用耳机插入PC的3.5mm耳机口进行侦听,否正会产生啸叫

DSP 参数简单介绍

HP 高通滤波

XVF3500-DSP-Databrief文档描述的高通滤波器仅有一组参数HPFONOFF,其最高值为是180Hz,如将PXVF3500-KIT作为会议设备(Comms输出)使用,建议设置HPFONOFF为3。如作为语音识别(ASR),该值可以使用初始值

vfctrl_usb HPFONOFF 3

AEC 回音消除

PC电脑将XMOS VocalFusion St(UAC 1.0)作为播放设备时,电脑声音播放则通过PXVF3500-KIT Line-out接口(3.5mm耳机孔)播放输出,后级需要接一个有源音箱,并且有源音箱是必须是线性放大,不能存在EQ处理。 PXVF3500-KIT的AEC ref参考信号则由UAC1.0播放时,经过XVF3500就已经拷贝AEC参考信号提供给XVF3500 的AEC 算法模块。

AECFREEZEONOFF

查看到AECFREEZEONOFF的初始值为0,意味着改变有源音箱到PXVF3500-KIT的距离或者路径,XVF3500的AEC性能可以通过少些时间自适应恢复。如产品已经有结构,并且保持了音箱(喇叭)和XVF3500 4路麦克风相对位置没有任何改变,可以设置为1,以确保产品的AEC性能

vfctrl_usb AECFREEZEONOFF 1

AECFREEZEONOFFAECPATHCHANGE参数有关联,如XVF3500检测到音箱(喇叭)和XVF3500 4路麦克风相对位置已改变,明显出现的现象是AEC性能很差,可以使用vfctrl_usb读出AECPATHCHANGE 为1时,则说明位置已改变。

ACE 其他

其他参数需要结合产品接口调整,如作为简单测试,则兼容PXVF3500-KIT无需调整其他参数 需要了解XVF3500的AEC性能最高为50dB抑制,确保喇叭的声压到达PXVF3500-KIT的尽量小于100dBA, 如超过该值,则大概会有50dB以上的回音残余在输出的信号中,50dB以上残余回音 较为容易被人耳辨识出来。

AGC 自动增益

AGCONOFF为AGC的总开关,初始值为1。使用vfctrl_usb工具能够实时读出AGC的增益值AGCGAIN,同时能够修改实时写入修改AGCGAIN的值。

vfctrl_usb AGCGAIN  
vfctrl_usb AGCGAIN  100

AGCGAIN的值为实时变化,其主要是围绕着AGCDESIREDLEVEL这个参数。

AGCDESIREDLEVEL

AGC重点的调试DSP参数为AGCDESIREDLEVEL,该参数的值决定了ASR / Comms output的整体水平大小,值的选取同时也决定了拾音距离。

设置AGCDESIREDLEVEL的值为整体ASR / Comms output的信噪比不变,即输出的人声和噪声比例保持线性不变,同时增大,所以建议AGCDESIREDLEVEL不能设置太大,避免引入过大的噪声。 使用AGCMAXGAIN作为AGC的阈值能够限制AGC无限增大,避免ASR/Comms output的过大,出现截幅和失真。

NS 噪声抑制

STATNOISEONOFF为稳态噪声抑制开关,初始值为1。STATNOISEONOFF设置为1时,GAMMA_NSMIN_NS的调整有效。

NONSTATNOISEONOFF为非稳态噪声抑制开关,主要是对非规律性或者突如其来的噪声抑制,初始值为1。STATNOISEONOFF设置为1时,GAMMA_NNMIN_NN的调整有效。

GAMMA_NS和GAMMA_NN

GAMMA_NSGAMMA_NN这两个参数的值的范围为[0.0 .. 3.0] ,可以理解为评估环境的稳态或者非稳态的噪声量最大值3.0。设置改参数的值,即提供相应比例的噪声量给MIN_NSMIN_NN设值来实现噪声抑制。

通常建议参数GAMMA_NSGAMMA_NN的值不能设置太大,提供过多的噪声量,往往会使得ASR/Comms输出的声音过于失真,扭曲过大。

MIN_NS和MIN_NN

MIN_NSMIN_NN 可以理解为需要把ASR/Comms output的环境噪声抑制到一个目标底噪,取值范围为[0.0 .. 1.0],其值越小,则ASR/Comms output的底噪越小。 该参数受前面参数GAMMA_NSGAMMA_NN影响,如提供出来的噪声量越多,则MIN_NSMIN_NN 更容易实现目标值(目标底噪)。

通常建议参数MIN_NSMIN_NN的值不能设置太小,过度的噪声抑制,往往会使得ASR/Comms输出的声音过于失真,扭曲过大。

ASR 参数

DSP参数带有“SR”部分的仅针对ASR信号输出的调试有效,其他基础的参数和Comms信号输出共用。