數(shù)字音頻和語音無處不在,產(chǎn)品范圍從專業(yè)工業(yè)嵌入式系統(tǒng)到消費類產(chǎn)品,如耳機和車載套件。許多應用需要處理器將噪聲抑制,回聲消除和增益控制等算法實時應用于流,以最大化音頻質(zhì)量。大多數(shù)設(shè)計團隊可能會將此類算法與專用于DSP專用處理器的實現(xiàn)相關(guān)聯(lián),這些處理器專用于音頻任務。然而,今天,集成DSP數(shù)學功能的微控制器(MCU) - 通常稱為數(shù)字信號控制器(DSC) - 可以處理實時音頻算法和其余的應用要求。我們將研究一些典型的算法,并考慮如何在主流MCU和DSC上實現(xiàn)這些算法。
首先,我們將介紹一些典型的以音頻為中心的功能,這些功能可能會用于通信應用,如電話,免提套件,對講機,無線電和其他設(shè)備。噪聲是此類應用中的常見問題,盡管抑制算法可以通過麥克風大大降低與語音一起捕獲的環(huán)境噪聲(圖1)。噪聲源可能是機器,甚至是PC的風扇噪音。

圖1:噪聲抑制算法可以大大降低麥克風隨聲音捕獲的環(huán)境噪聲。
噪聲抑制算法通常必須在數(shù)據(jù)流上實時執(zhí)行。 Microchip提供了與dsPIC DSC一起使用的算法。該算法對語音數(shù)據(jù)進行操作,該數(shù)據(jù)采用8 kHz采樣,分辨率為16位。該算法順序處理10毫秒的語音塊。
噪聲抑制算法中的主要DSP功能是頻域快速傅立葉變換(FFT)。該算法不斷更新檢測到的噪聲的輪廓。它可以縮放各個頻段的信號,放大語音和靜音噪聲。
Microchip在噪聲抑制庫中提供算法。該算法以匯編語言編碼以獲得最大性能,但高級語言應用程序代碼可以通過應用程序編程接口(API)訪問這些函數(shù)。
聲學回聲消除
回聲消除是另一種方便的算法,可以提高音頻質(zhì)量,尤其是在有線或無線通信鏈路上(圖2)。當麥克風和揚聲器彼此靠近時,從揚聲器到麥克風的信號傳播到通信鏈路的另一端,產(chǎn)生最多會分散注意力的回聲,并且最壞的情況是使鏈路無用。

圖2:回聲消除依賴于時域有限脈沖響應(FIR)濾波器來消除通過通信鏈路傳播的語音中的回聲。
Microchip提供聲學回聲消除庫,以消除回聲現(xiàn)象。時域算法依賴于自適應有限脈沖響應(FIR)濾波器,該濾波器應用于來自通信鏈路遠端的音頻。濾波器系數(shù)提供此自適應能力,并使用歸一化最小均方(NLMS)算法進行設(shè)置。該算法確保濾波器緊密地模擬實際聲學路徑。此外,非線性處理器算法消除了殘余回聲。
與噪聲抑制算法類似,聲學回聲消除庫采用匯編語言編碼,可以在dsPIC處理器上實時處理數(shù)據(jù)。它提供大于40 dB的消除,并使用8 kHz采樣率。它還與通常用于汽車免提應用的G.167 ITU標準兼容。
Microchip提供了幾個額外的以音頻為中心的庫。例如,符合ITU G.168標準的線路回聲消除庫以電話系統(tǒng)為目標?;贕UI的語音和音頻快進工具可與其他庫(如噪聲抑制庫)配合使用,以允許調(diào)整應用程序。自動增益控制庫可輕松調(diào)整音頻電平。
數(shù)字信號控制器
現(xiàn)在我們將討論您可能在音頻應用中使用的處理器類型。如上所述,Microchip庫是為公司的dsPIC DSC設(shè)計的。 DSC本質(zhì)上只是一個增加了數(shù)學硬件以支持以DSP為中心的應用的MCU。與典型的MCU一樣,這些IC仍然集成了存儲器和各種外設(shè)。
Microchip實際上是第一個使用DSC的術(shù)語,盡管現(xiàn)在幾乎每個MCU供應商都有這樣的產(chǎn)品。 Microchip提供的產(chǎn)品包括dsPIC30F和dsPIC33F/E系列。所有產(chǎn)品都包括單周期硬件MAC(乘法器累加器) - 具體來說,是一個16x16位乘法器和一個40位累加器。 DSC還包括一個桶形移位器,可以在一個周期內(nèi)移位任意數(shù)量的位。桶形移位器和MAC一起實現(xiàn)了以DSP為中心的算法的實時執(zhí)行。圖3中的框圖描述了dsPIC30F架構(gòu)。

圖3:dsPIC30F DSC包括一個16x16位乘法器和40位累加器,以及一個桶形移位器,用于實現(xiàn)以DSP為中心的應用。
選擇DSPIC系列的成員添加在音頻和語音應用中特別方便的外設(shè)。例如,dsPIC33FJ128GP804 DSC包含一個16位雙通道數(shù)模轉(zhuǎn)換器(DAC),可用于輸出音頻。此外,DSC還包括一個10位模數(shù)轉(zhuǎn)換器(ADC),支持多達13個音頻輸入通道。 ADC每秒可捕獲超過一百萬個樣本。 40 MIPS處理器提供了實現(xiàn)應用程序代碼和音頻算法的性能余量。
DSC開發(fā)板
想要嘗試dsPIC技術(shù)的設(shè)計團隊有許多可供選擇的開發(fā)板。 Microchip DM24001-ND dsPIC Explorer板包含dsPIC33FL256GP710 DSC,Microchip DM24002-ND dsPIC Explorer板包含dsPIC33FJ32GP204 DSC。兩者都配有16位PIC MCU。
Explorer板是一般實驗的理想選擇,但Microchip還提供針對特定應用的夾層PICtail板,可與基本Explorer板一起使用。音頻PICtail plus開發(fā)板包括一個16/24位編解碼器,一個耳機放大器,以及具有可調(diào)增益的麥克風和線路輸入。語音PICtail開發(fā)板支持自適應差分脈沖編碼調(diào)制(ADPCM)。
-
dsp
+關(guān)注
關(guān)注
559文章
8193瀏覽量
363194 -
mcu
+關(guān)注
關(guān)注
147文章
18494瀏覽量
382367 -
編解碼器
+關(guān)注
關(guān)注
0文章
277瀏覽量
25142
發(fā)布評論請先 登錄
32位MCU是物聯(lián)網(wǎng)市場的絕對主流?
labview 數(shù)據(jù)壓縮傳輸 各種壓縮算法實現(xiàn)?
如何在FETMX8MQ-C核心板上實現(xiàn)低功耗音頻播放
選擇一個用于音頻捕獲回放的MCU
如何使用微芯片DSPIC DSC系列實現(xiàn)永磁同步電機的無傳感器聚焦算法
如何在MATLAB中開發(fā)基于像素的視頻和圖像處理算法
如何在DSP芯片上實現(xiàn)Matlab的仿真算法
如何在 MCU 上快速部署 TinyML
怎么用FPGA做算法 如何在FPGA上實現(xiàn)最大公約數(shù)算法
MCU如何實現(xiàn)AI功能
如何在TMS320C6727 DSP上創(chuàng)建基于延遲的音頻效果

如何在主流MCU和DSC上實現(xiàn)音頻算法
評論