快来看看我们最新的定向麦克风模块,帮助您加快新产品开发!

音频集线器

紫蓝波浪背景

音频集线器

音频 DSP 系统概述

音频 DSP 系统概述

作者:布拉德-戴蒙德
2024-06-05

数字音频处理

了解数字音频路径和数字信号处理器(DSP)中的音频回调概念是实时数字音频处理的基础。在本文中,我们将尝试帮助读者直观地了解数字音频处理的工作原理和一些关键注意事项,但这并不详尽。

下面是一个音频系统的原理框图示例,该系统捕捉和处理来自两个麦克风的音频,并通过 USB 输出。

音频 dsp 系统
音频采集系统的组成部分

在典型的音频采集系统中,主要组件包括麦克风、音频编解码器、SoC/DSP 和参考时钟。麦克风提供外部声音的测量,而音频编解码器则将麦克风输出转换为数字格式,这种格式更易于通过典型的计算机处理器读取和传输。片上系统(SoC)处理许多功能,包括将音频传输到数字信号处理器(DSP)进行处理,并接收其输出发送到外部世界。最后,参考时钟用于确保这些不同系统和组件之间传输的数据同步。

数字音频流的主要参数是采样率、比特深度和音频块大小,它们决定了数字音频系统的保真度和效率。

采样率和比特深度可确保将麦克风输出转换成计算机友好的格式。采样率决定对声波进行 "快照 "的频率,而比特深度则表示每个快照中的细节。采样率和比特深度越高,精度越高,但对 CPU 功耗的要求也越高。

数字音频接口

在 DSP 系统中,声音快照被分组为音频块,而不是单独处理。音频块大小表示一次处理的采样数量。SoC 在直接内存访问 (DMA) 缓冲器中收集音频样本。一旦音频块被采样填满,就会触发音频回调中断。这将触发音频回调,该函数在有新音频数据时触发,并在收集的音频块上运行所需的处理。音频块越大,中断次数越少,但处理时间越长;音频块越小,延迟时间越短,但由于回调频率较高,可能会增加处理开销。

I2S、USB 和 PDM 等数字音频接口有助于在 DSP 和输出/输入端口之间传输音频数据。由于硬件、协议或时钟差异,处理多个音频接口会带来挑战。例如,从麦克风采集数据的 PDM 输入可能在自己的时钟周期内运行,而用于外部设备的 USB 输出则使用不同的定时机制。要避免缓冲区不足或溢出等问题,从而导致音频失真或丢失,同步这些独立的数据流就变得至关重要。如果不同步,定时或数据对齐不匹配就会导致故障。

其中一种同步解决方案包含时钟同步器等专用硬件组件。硬件同步器接受单一时钟源作为参考时钟,并为每个独立的音频接口(如 I2S、USB)生成同步时钟。

延迟

在采集音频数据时,会将其存储在缓冲器中,直到采集到足够的样本来触发处理。缓冲音频数据会带来延迟。计算缓冲所带来的延迟的公式是

延迟(秒)= 缓冲区大小(样本)/采样率(样本/秒)

缓冲区的大小由音频块的大小决定,因为音频块本质上就是一个缓冲区。因此,在本示例中,以采样测量的音频块大小可视为缓冲区大小。块大小越大,通常意味着处理前存储的样本越多,从而导致延迟增加。通过提高采样率,可以更快地填满缓冲区,从而减少整体延迟。在某些情况下,缓冲区可存储多个音频块。

音频系统从输入到输出的总延迟除取决于算法延迟外,还取决于缓冲区延迟。减少总延迟涉及优化块大小和提高 CPU 处理效率。要在确保高效音频处理的同时最大限度地减少延迟,平衡这些因素至关重要。

同步

理想的同步解决方案需要结合软件和硬件方法,并根据系统的具体要求进行调整。在可用的情况下,利用基于硬件的同步,并辅以软件级缓冲和重采样方法,可确保不同音频接口之间的同步运行。

考虑在数字音频路径中采用波束成形算法的麦克风阵列。每个麦克风通过 PDM 向 DSP 发送数据。在音频回调中,DSP 接收多个数据流,通过调整相位和振幅,使波束成形算法能够创建定向音频,同时最大限度地减少干扰。同步后,表示数据就绪(可能是通过中断),处理过的音频块将作为输出发送到 USB 音频驱动程序。

该示例展示了音频回调如何与处理技术相结合,从而增强音频的指向性。

了解有关SimplyClear 软件的更多信息!