XVF3800概述和主要功能

        XVF3800 集成了一系列先进的数字信号处理 (DSP) 算法,包括声学回声消除 (AEC)、波束成形、去混响、噪声抑制和自动增益控制。这些先进的 DSP 算法可实现高信噪比、自然流畅的语音效果,并消除声学回声,同时保持透明且低延迟的通信链路。

        XVF3800解决方案的主要特点包括:

  • 在会议室和客厅环境下,可实现高水平的声学回声消除和抑制。

  • 先进、稳定、自然的双讲/全双工性能。

  • 即使用户距离数米远,也能获得很高的语音清晰度,无需定向麦克风。

  • 快速自适应波束成形,用于跟踪多个近端用户。

  • 静态/动态噪声抑制。

  • 自动增益控制。

主要功能模块

下图展示了该解决方案的高级示意图。

语音处理流水线

麦克风输入

        XVF3800 通过四个数字麦克风采集语音信号,并将其从脉冲密度调制 (PDM) 转换为脉冲编码调制 (PCM)。它将转换后的信号以及经过数模转换器 (DAC) 和放大器后在扬声器上播放的远端信号一起传递到语音传输管道。

声学回声消除器

        处理流程的第一阶段是声学回声消除器(AEC),它使用自适应滤波器从麦克风信号中消除远端信号的回声。每个麦克风信号都独立处理,AEC 的输出被送入波束形成器。

        启动时,AEC 会校准自适应滤波器,以匹配扬声器和麦克风之间的声学​​路径。这需要一些远端音频内容来为设备提供信号。如果在运行过​​程中,AEC 检测到声学路径发生显著变化(例如,设备被移动),它将启动重新收敛操作。

波束形成器

        波束形成器模块处理AEC信号以选择目标说话人。波束形成器包含一组自适应滤波器,可将来自四个麦克风的信号相干叠加,从而选择来自特定方向的声音。此操作可提高特定方向上的语音噪声比,同时降低点噪声源和混响的影响。

        XVF3800 采用三束光束:一束自由波束用于扫描环境中的新说话者,两束聚焦波束用于跟踪单个说话者。它还支持另一种工作模式,在该模式下,两束聚焦光束可以固定在用户指定的方位角。流程的最后阶段会自动选择哪束光束作为设备的输出。

波束形成器工作原理

        可通过 XVF3800 控制界面访问所选波束的信息。该设备提供到达方向 (DoA) 测量值,指示所选光束的方向。

后处理器

        波束形成器的输出信号被送至后处理阶段,进一步降低混响并抑制漫射噪声和点噪声源。之后,信号经过可编程均衡滤波器以调节输出信号的频率响应,以及增益控制模块以确保输出电平的一致性,不受扬声器与麦克风距离的影响。最终输出信号通过限幅器,以防止过大的信号导致输出过载。该管道的输出是所需的近端语音的增强语音信号,没有回声和混响。

自动语音识别 (ASR) 输出

        波束形成器的输出可用作自动语音识别 (ASR) 引擎的输入。在此模式下,XVF3800 提供可配置的固定增益,以使输入电平适应 ASR 引擎。(这里注意ASR引擎的降噪没有那么厉害,用于ASR的识别,而通话的时候降噪模式不一样,在调试的时候注意不同的应用场景使用不同的模式和配置

输入和输出

        XVF3800 支持两种音频接口,用于与主机系统之间传输音频:I²S或USB。这两种接口互斥,在构建固件映像时进行选择。

I2S音频接口

        XVF3800 支持 16 kHz 或 48 kHz 的 I²S采样率。输入和输出必须使用相同的采样率。

        音频管道以 16 kHz 的采样率处理数据,因此,如果使用 48 kHz 的输入,则需要在信号路径中引入一个采样率转换器模块来转换采样率。采样率在固件中设置,在设备运行期间无法更改。采样位深度固定为 32 位。

        当使用 UA 模式(通过 USB 传输主机音频)时,XVF3800 具有主动式 I 2 S 主输出,可将远端信号提供给 DAC。

USB音频接口

        XVF3800 在自适应模式下实现了标准的 UAC 2.0 音频类,兼容支持 USB 2.0 和 3.0 接口的 USB 主机。所有主流操作系统现在都原生支持 USB 音频类 2 (UAC 2) 设备,无需安装额外的音频驱动程序。

        在 UA 配置中,XVF3800 的音频采样率可以是 16 kHz 或 48 kHz(在构建时固定),并且必须与连接到 I²S输出的 DAC 的输出采样率相同。USB 采样的位深度可以是 16 位、24 位或 32 位(在构建时固定)。

AEC参考信号

        XVF3800 支持单声道音频输出,并使用单个声道为声学回声消除器 (AEC) 提供参考信号。远端 AEC 参考信号必须通过 I²S或USB 输入信号的左声道 (0) 提供。右声道的数据将被忽略。为了确保房间内播放的远端信号与 AEC 预期的远端信号一致,DAC 配置为将左声道输入信号同时输出到左右声道(XVF3800 内部只有一个 AEC 引擎,它默认系统是单声道播放的

关键参数

下表显示了音频处理流程的关键运行参数。

参数项目 参数值 说明
麦克风数量 4 颗 PDM 麦克风 如 Infineon IM69D130
麦克风一致性 ±2 dB 麦克风灵敏度差异
麦克风阵列结构 线性阵列 / 方形阵列 两种布局均可
工作频率范围 80 Hz ~ 8 kHz 有效语音带宽
采样率 16 kHz 语音处理采样率
AEC 回声抵消尾长 192 ms 回声滤波器可处理的尾长
AEC 参考通道数量 1(单声道) Echo Reference 输入
输出到 DAC 支持
双讲检测 连续检测 支持持续双讲判断
参考延时补偿范围 0 ~ 500 ms(固定) 主机输出到参考信号延时对齐
麦克风与参考信号对齐 支持 自动对齐参考与麦克风输入
波束数量 3 个 2 个定向波束 + 1 个扫描波束
波束扫描角度 360° 全向 支持任意角度拾音
噪声抑制能力 最多 25 dB 取决于输入信噪比
推荐工作距离 0.3 m ~ 5 m 最佳拾音范围
波束形成更新时间 16 ms 波束方向刷新周期
输入延迟 最低 58 ms 麦克风 → I2S 输出的处理延时
输出延迟 典型 50 ms 若设备端进行远端处理(Far-end)
I2S/USB 采样率 16 kHz 或 48 kHz 固件可配置
I2S 输出位深 32 bit 固件可选
USB 输入位深 16 / 24 / 32 bit 固件可选
USB 输出位深 16 / 24 / 32 bit 固件可选
内部 PLL 调整范围 ±1000 ppm 满足 USB 自适应音频要求

引脚配置

        下图展示了 XVF3800 的引脚图,包括所有可选接口。部分引脚说明指明了这些引脚在 XMOS XK-VOICE-SQ66 开发套件 (DVK) 上的分配方式,但可以通过固件重新配置以用于其他用途。

        VDDIOT、VDDIOL 和 VDDIOR 必须连接到 3.3V 电源。VDDIO18 必须连接到 1.8V 电源,所有 VDD 引脚必须连接到 0.9V 电源。所有封装引脚(61 至 65 号引脚)都必须连接。建议在每个引脚下方放置一个过孔,以便将其直接连接到 PCB 电源层。

XMOS XK-VOICE-SQ66 开发套件

引脚描述

下表列出了上述所有引脚的功能,并按它们在封装体上的排列顺序排列。

Pin# 引脚名 信号名 描述 备注 方向 电源域
1 X0D05 QSPI_D1 QSPI 数据线 D1 / 启动模式选择 上电时 4.7k 上拉=SPI 从机启动;浮空=QSPI 主机启动 I/O IOL
2 X0D07 QSPI_D3 QSPI 数据线 D3 I/O IOL
3 X0D01 QSPI_CS_N QSPI Flash 片选 需外接 4.7k 上拉 O IOL
5 X0D10 QSPI_CLK QSPI 时钟 O IOL
6 X0D00 SPI_CS_N SPI 从机启动 / 外设 SPI 片选 需 4.7k 上拉 I IOL
7 X0D11 SPI_MOSI SPI 主发从收 I IOL
8 VDDIOL VDDIOL I/O 电源 3.3V 所有 VDD 必须连接 PWR
9 X1D00 I2S_DATA0 I2S 数据线 INT-Device:参考输入;UA/Host:输出 I/O IOL
10 X1D01 I2S_LRCK I2S LR 时钟 Master/Slave 可选 O/I IOL
11 X1D09 P_BUTTON_0 按键输入 0 10k 上拉(XK-VOICE-SQ66) I IOL
13 X1D10 I2S_BCLK I2S 位时钟 16k/48k 可配 O/I IOL
14 X1D11 MCLK_INOUT 主时钟输入/输出 INT-Device 可作输入 I/O IOL
15 XOUT XOUT 晶振输出 使用外部时钟时需悬空 O IOB
16 XIN XIN 晶振输入或外部时钟输入 I IOB
17 VDDIOB18 VDDIOB18 I/O 电源 1.8V 必须连接 PWR
18 TDI TDI JTAG 数据输入 内部弱上拉 I IOB
20 TDO TDO JTAG 数据输出 O IOB
21 RST_N RST_N 复位输入 低有效,内部弱上拉 I IOB
22 PLL_AVDD PLL_AVDD PLL 模拟电源 使用滤波的 0.9V PWR
23 TMS TMS JTAG 模式选择 内部弱上拉 I IOB
24 TCK TCK JTAG 时钟 内部弱下拉 I IOB
25 NC NC 无连接 不能连任何网 IOB
26 VDDIOB18 VDDIOB18 I/O 电源 1.8V 必须连接 PWR
28 USB_DM USB_DM USB D– 无 USB 可悬空 I/O
29 USB_DP USB_DP USB D+ 无 USB 可悬空 I/O
30 USB_VDD33A USB_VCC33A USB 3.3V 供电 无 USB 可悬空 PWR
31 USB_VDD18A USB_VCC18A USB 1.8V 供电 无 USB 可悬空 PWR
32 X1D13 P_BUTTON_1 按键输入 1 10k 上拉 I IOR
33 X1D16 XL_DN1 XLINK Debug 高级调试 I IOR
35 X1D17 XL_DN0 XLINK Debug I IOR
36 X1D18 XL_UP0 XLINK Debug O IOR
37 X1D19 XL_UP1 XLINK Debug O IOR
38 VDDIOR VDDIOR I/O 电源 3.3V 必须连接 PWR
39 X1D22 I2S_DATA1 I2S 数据 INT-Device:输出;INT-Host:参考输入 I/O IOR
40 X0D29 CODEC_RST_N 外部 DAC/AMP 复位信号 O IOR
41 X0D35 MCLK 主时钟输入 需连接 Pin14 I IOR
43 X0D36 MIC_CLK PDM 麦克风时钟 3.072MHz O IOR
44 X0D37 I2C_SCL I2C 时钟 控主机/控制 DAC I/O IOR
45 X0D38 I2C_SDA I2C 数据 控主机/控制 DAC I/O IOR
46 X0D40 MIC_DATA0 麦克风数据 0 SDR I IOT
47 X0D39 SPI_MISO SPI 主入从出 SPI 控制模式使用 O IOT
48 X0D42 MIC_DATA2 麦克风数据 2 SDR I IOT
50 X0D41 MIC_DATA1 麦克风数据 1 SDR I IOT
51 X0D43 MIC_DATA3 麦克风数据 3 SDR I IOT
52 VDDIOT VDDIOT I/O 3.3V 电源 必须连接 PWR
53 X1D34 I2S_DATA2 I2S 数据 2 INT-Device 远端音频输出 O IOT
54 X0D30 SQ_nLIN 麦克风拓扑选择 O IOT
55 X0D31 INT_N 向主机发中断 O IOT
56 X0D32 LED_R 红色 LED O IOT
58 X0D33 LED_G 绿色 LED O IOT
59 X0D04 QSPI_D0 QSPI 数据线 D0 I/O IOL
60 X0D06 QSPI_D2 QSPI 数据线 D2 I/O IOL
65 GND GND 必须连到地平面 GND
61–64 VDD VDD 核心电源 0.9V 全部必须连接 PWR
4,12,19,27,34,42,49,57 VDD VDD 核心电源 0.9V 全部必须连接 PWR

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐