數字音頻和語音無處不在,產品范圍從專業(yè)工業(yè)嵌入式系統(tǒng)到消費類產品,如耳機和車載套件。許多應用需要處理器將噪聲抑制,回聲消除和增益控制等算法實時應用于流,以最大化音頻質量。大多數設計團隊可能會將此類算法與專用于DSP專用處理器的實現(xiàn)相關聯(lián),這些處理器專用于音頻任務。然而,今天,集成DSP數學功能的微控制器(MCU) - 通常稱為數字信號控制器(DSC) - 可以處理實時音頻算法和其余的應用要求。我們將研究一些典型的算法,并考慮如何在主流MCU和DSC上實現(xiàn)這些算法。
首先,我們將介紹一些典型的以音頻為中心的功能,這些功能可能會用于通信應用,如電話,免提套件,對講機,無線電和其他設備。噪聲是此類應用中的常見問題,盡管抑制算法可以通過麥克風大大降低與語音一起捕獲的環(huán)境噪聲(圖1)。噪聲源可能是機器,甚至是PC的風扇噪音。
圖1:噪聲抑制算法可以大大降低麥克風隨聲音捕獲的環(huán)境噪聲。
噪聲抑制算法通常必須在數據流上實時執(zhí)行。 Microchip提供了與dsPIC DSC一起使用的算法。該算法對語音數據進行操作,該數據采用8 kHz采樣,分辨率為16位。該算法順序處理10毫秒的語音塊。
噪聲抑制算法中的主要DSP功能是頻域快速傅立葉變換(FFT)。該算法不斷更新檢測到的噪聲的輪廓。它可以縮放各個頻段的信號,放大語音和靜音噪聲。
Microchip在噪聲抑制庫中提供算法。該算法以匯編語言編碼以獲得最大性能,但高級語言應用程序代碼可以通過應用程序編程接口(API)訪問這些函數。
聲學回聲消除
回聲消除是另一種方便的算法,可以提高音頻質量,尤其是在有線或無線通信鏈路上(圖2)。當麥克風和揚聲器彼此靠近時,從揚聲器到麥克風的信號傳播到通信鏈路的另一端,產生最多會分散注意力的回聲,并且最壞的情況是使鏈路無用。
圖2:回聲消除依賴于時域有限脈沖響應(FIR)濾波器來消除通過通信鏈路傳播的語音中的回聲。
Microchip提供聲學回聲消除庫,以消除回聲現(xiàn)象。時域算法依賴于自適應有限脈沖響應(FIR)濾波器,該濾波器應用于來自通信鏈路遠端的音頻。濾波器系數提供此自適應能力,并使用歸一化最小均方(NLMS)算法進行設置。該算法確保濾波器緊密地模擬實際聲學路徑。此外,非線性處理器算法消除了殘余回聲。
與噪聲抑制算法類似,聲學回聲消除庫采用匯編語言編碼,可以在dsPIC處理器上實時處理數據。它提供大于40 dB的消除,并使用8 kHz采樣率。它還與通常用于汽車免提應用的G.167 ITU標準兼容。
Microchip提供了幾個額外的以音頻為中心的庫。例如,符合ITU G.168標準的線路回聲消除庫以電話系統(tǒng)為目標。基于GUI的語音和音頻快進工具可與其他庫(如噪聲抑制庫)配合使用,以允許調整應用程序。自動增益控制庫可輕松調整音頻電平。
數字信號控制器
現(xiàn)在我們將討論您可能在音頻應用中使用的處理器類型。如上所述,Microchip庫是為公司的dsPIC DSC設計的。 DSC本質上只是一個增加了數學硬件以支持以DSP為中心的應用的MCU。與典型的MCU一樣,這些IC仍然集成了存儲器和各種外設。
Microchip實際上是第一個使用DSC的術語,盡管現(xiàn)在幾乎每個MCU供應商都有這樣的產品。 Microchip提供的產品包括dsPIC30F和dsPIC33F/E系列。所有產品都包括單周期硬件MAC(乘法器累加器) - 具體來說,是一個16x16位乘法器和一個40位累加器。 DSC還包括一個桶形移位器,可以在一個周期內移位任意數量的位。桶形移位器和MAC一起實現(xiàn)了以DSP為中心的算法的實時執(zhí)行。圖3中的框圖描述了dsPIC30F架構。
圖3:dsPIC30F DSC包括一個16x16位乘法器和40位累加器,以及一個桶形移位器,用于實現(xiàn)以DSP為中心的應用。
選擇DSPIC系列的成員添加在音頻和語音應用中特別方便的外設。例如,dsPIC33FJ128GP804 DSC包含一個16位雙通道數模轉換器(DAC),可用于輸出音頻。此外,DSC還包括一個10位模數轉換器(ADC),支持多達13個音頻輸入通道。 ADC每秒可捕獲超過一百萬個樣本。 40 MIPS處理器提供了實現(xiàn)應用程序代碼和音頻算法的性能余量。
DSC開發(fā)板
想要嘗試dsPIC技術的設計團隊有許多可供選擇的開發(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位編解碼器,一個耳機放大器,以及具有可調增益的麥克風和線路輸入。語音PICtail開發(fā)板支持自適應差分脈沖編碼調制(ADPCM)。
-
dsp
+關注
關注
554文章
8059瀏覽量
350744 -
mcu
+關注
關注
146文章
17370瀏覽量
352914 -
編解碼器
+關注
關注
0文章
268瀏覽量
24325
發(fā)布評論請先 登錄
相關推薦
32位MCU是物聯(lián)網市場的絕對主流?
labview 數據壓縮傳輸 各種壓縮算法實現(xiàn)?
如何在FETMX8MQ-C核心板上實現(xiàn)低功耗音頻播放
選擇一個用于音頻捕獲回放的MCU
![選擇一個用于<b class='flag-5'>音頻</b>捕獲回放的<b class='flag-5'>MCU</b>](https://file.elecfans.com/web2/M00/49/98/pYYBAGKhtGeAW1o4AAAmjDtx4rw730.png)
如何將音頻開發(fā)板用作開發(fā)工具來設計高質量音頻開發(fā)平臺的詳細概述
![如何將<b class='flag-5'>音頻</b>開發(fā)板用作開發(fā)工具來設計高質量<b class='flag-5'>音頻</b>開發(fā)平臺的詳細概述](https://file.elecfans.com/web1/M00/53/38/o4YBAFsg1IKALslUAAVjGM55Hkc177.png)
如何使用微芯片DSPIC DSC系列實現(xiàn)永磁同步電機的無傳感器聚焦算法
![如何使用微芯片DSPIC <b class='flag-5'>DSC</b>系列<b class='flag-5'>實現(xiàn)</b>永磁同步電機的無傳感器聚焦<b class='flag-5'>算法</b>](https://file.elecfans.com/web1/M00/52/0D/o4YBAFsQnxmAFHSwAACDFJlOtxo774.png)
如何在MATLAB中開發(fā)基于像素的視頻和圖像處理算法
![如<b class='flag-5'>何在</b>MATLAB中開發(fā)基于像素的視頻和圖像處理<b class='flag-5'>算法</b>](https://file.elecfans.com/web1/M00/93/B6/o4YBAFztHoOADFBHAAAiWltSFMw087.jpg)
如何在DSP芯片上實現(xiàn)Matlab的仿真算法
![如<b class='flag-5'>何在</b>DSP芯片<b class='flag-5'>上</b><b class='flag-5'>實現(xiàn)</b>Matlab的仿真<b class='flag-5'>算法</b>](https://file.elecfans.com/web1/M00/C6/2B/o4YBAF9Z4kqASB68AAQXc4R4jT0402.png)
如何在 MCU 上快速部署 TinyML
![如<b class='flag-5'>何在</b> <b class='flag-5'>MCU</b> <b class='flag-5'>上</b>快速部署 TinyML](https://file.elecfans.com/web2/M00/54/B1/pYYBAGLVchyAPyt8AAFa_Th1MRw266.png)
怎么用FPGA做算法 如何在FPGA上實現(xiàn)最大公約數算法
![怎么用FPGA做<b class='flag-5'>算法</b> 如<b class='flag-5'>何在</b>FPGA<b class='flag-5'>上</b><b class='flag-5'>實現(xiàn)</b>最大公約數<b class='flag-5'>算法</b>](https://file1.elecfans.com/web2/M00/90/B7/wKgZomTcbQWALa-GAAKIfwRwWgQ221.png)
評論