打印

如何在主流MCU和DSC上实现音频算法

[复制链接]
784|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Plantt|  楼主 | 2020-4-25 23:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如何在主流MCU和DSC上实现音频算法



数字音频和语音无处不在,产品范围从专业工业嵌入式系统到消费类产品,如耳机和车载套件。许多应用需要处理器将噪声抑制,回声消除和增益控制等算法实时应用于流,以最大化音频质量。大多数设计团队可能会将此类算法与专用于DSP专用处理器的实现相关联,这些处理器专用于音频任务。然而,今天,集成DSP数学功能的微控制器(MCU) - 通常称为数字信号控制器(DSC) - 可以处理实时音频算法和其余的应用要求。我们将研究一些典型的算法,并考虑如何在主流MCU和DSC上实现这些算法。

首先,我们将介绍一些典型的以音频为中心的功能,这些功能可能会用于通信应用,如电话,免提套件,对讲机,无线电和其他设备。噪声是此类应用中的常见问题,尽管抑制算法可以通过麦克风大大降低与语音一起捕获的环境噪声(图1)。噪声源可能是机器,甚至是PC的风扇噪音。



图1:噪声抑制算法可以大大降低麦克风随声音捕获的环境噪声。

噪声抑制算法通常必须在数据流上实时执行。 Microchip提供了与dsPIC DSC一起使用的算法。该算法对语音数据进行操作,该数据采用8 kHz采样,分辨率为16位。该算法顺序处理10毫秒的语音块。

噪声抑制算法中的主要DSP功能是频域快速傅立叶变换(FFT)。该算法不断更新检测到的噪声的轮廓。它可以缩放各个频段的信号,放大语音和静音噪声。

Microchip在噪声抑制库中提供算法。该算法以汇编语言编码以获得最大性能,但高级语言应用程序代码可以通过应用程序编程接口(API)访问这些函数。


声学回声消除

回声消除是另一种方便的算法,可以提高音频质量,尤其是在有线或无线通信链路上(图2)。当麦克风和扬声器彼此靠近时,从扬声器到麦克风的信号传播到通信链路的另一端,产生最多会分散注意力的回声,并且最坏的情况是使链路无用。

图2:回声消除依赖于时域有限脉冲响应(FIR)滤波器来消除通过通信链路传播的语音中的回声。

Microchip提供声学回声消除库,以消除回声现象。时域算法依赖于自适应有限脉冲响应(FIR)滤波器,该滤波器应用于来自通信链路远端的音频。滤波器系数提供此自适应能力,并使用归一化最小均方(NLMS)算法进行设置。该算法确保滤波器紧密地模拟实际声学路径。此外,非线性处理器算法消除了残余回声。

与噪声抑制算法类似,声学回声消除库采用汇编语言编码,可以在dsPIC处理器上实时处理数据。它提供大于40 dB的消除,并使用8 kHz采样率。它还与通常用于汽车免提应用的G.167 ITU标准兼容。

Microchip提供了几个额外的以音频为中心的库。例如,符合ITU G.168标准的线路回声消除库以电话系统为目标。基于GUI的语音和音频快进工具可与其他库(如噪声抑制库)配合使用,以允许调整应用程序。自动增益控制库可轻松调整音频电平。


数字信号控制器

现在我们将讨论您可能在音频应用中使用的处理器类型。如上所述,Microchip库是为公司的dsPIC DSC设计的。 DSC本质上只是一个增加了数学硬件以支持以DSP为中心的应用的MCU。与典型的MCU一样,这些IC仍然集成了存储器和各种外设。

Microchip实际上是第一个使用DSC的术语,尽管现在几乎每个MCU供应商都有这样的产品。 Microchip提供的产品包括dsPIC30F和dsPIC33F/E系列。所有产品都包括单周期硬件MAC(乘法器累加器) - 具体来说,是一个16x16位乘法器和一个40位累加器。 DSC还包括一个桶形移位器,可以在一个周期内移位任意数量的位。桶形移位器和MAC一起实现了以DSP为中心的算法的实时执行。图3中的框图描述了dsPIC30F架构。



图3:dsPIC30F DSC包括一个16x16位乘法器和40位累加器,以及一个桶形移位器,用于实现以DSP为中心的应用。

选择DSPIC系列的成员添加在音频和语音应用中特别方便的外设。例如,dsPIC33FJ128GP804 DSC包含一个16位双通道数模转换器(DAC),可用于输出音频。此外,DSC还包括一个10位模数转换器(ADC),支持多达13个音频输入通道。 ADC每秒可捕获超过一百万个样本。 40 MIPS处理器提供了实现应用程序代码和音频算法的性能余量。





使用特权

评论回复
沙发
coshi| | 2020-5-6 12:57 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
板凳
quickman| | 2020-5-9 21:38 | 只看该作者
是为了消除噪声的吗  

使用特权

评论回复
地板
jstgotodo| | 2020-5-9 21:39 | 只看该作者
音频处理中的噪声抑制、回声消除  

使用特权

评论回复
5
iamaiqiyi| | 2020-5-9 21:39 | 只看该作者
利用FFT算法对音频噪声进行处理  

使用特权

评论回复
6
dzfansman| | 2020-5-9 21:39 | 只看该作者
  如何对音频文件进行降噪?

使用特权

评论回复
7
sanxingnote7| | 2020-5-9 21:39 | 只看该作者
音频降噪最好的音频算法   

使用特权

评论回复
8
backlugin| | 2020-5-9 21:40 | 只看该作者
如何处理音频降噪  

使用特权

评论回复
9
sdCAD| | 2020-5-9 21:41 | 只看该作者
怎么降低音频的噪音?

使用特权

评论回复
10
fengm| | 2020-5-9 21:41 | 只看该作者
用 单片机处理音频信号?  

使用特权

评论回复
11
updownq| | 2020-5-9 21:41 | 只看该作者
           

使用特权

评论回复
12
sanfuzi| | 2020-5-9 21:42 | 只看该作者
精准音频处理算法      

使用特权

评论回复
13
iamaiqiyi| | 2020-5-9 21:43 | 只看该作者
有效去除音频中的噪音  

使用特权

评论回复
14
dzfansman| | 2020-5-9 21:43 | 只看该作者
用小波分析法除去音频信号的噪声  

使用特权

评论回复
15
jstgotodo| | 2020-5-9 21:43 | 只看该作者
如何利用bp神经算法去除音频噪声

使用特权

评论回复
16
sanxingnote7| | 2020-5-9 21:43 | 只看该作者
音频信号中幅度最大的两个频率分量怎么滤波

使用特权

评论回复
17
quickman| | 2020-5-9 21:43 | 只看该作者
有哪些措施可以提高中值滤波算法的速度

使用特权

评论回复
18
fengm| | 2020-5-9 21:43 | 只看该作者
音频降噪算法     

使用特权

评论回复
19
sdCAD| | 2020-5-9 21:43 | 只看该作者
做噪声估计算法性能分析  

使用特权

评论回复
20
updownq| | 2020-5-9 21:43 | 只看该作者
谢谢楼主的分析的。     

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

637

主题

901

帖子

4

粉丝