0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-02-18 08:21 ? 次閱讀

數(shù)字音頻和語音無處不在,產(chǎn)品范圍從專業(yè)工業(yè)嵌入式系統(tǒng)到消費(fèi)類產(chǎn)品,如耳機(jī)和車載套件。許多應(yīng)用需要處理器將噪聲抑制,回聲消除和增益控制等算法實(shí)時(shí)應(yīng)用于流,以最大化音頻質(zhì)量。大多數(shù)設(shè)計(jì)團(tuán)隊(duì)可能會(huì)將此類算法與專用于DSP專用處理器的實(shí)現(xiàn)相關(guān)聯(lián),這些處理器專用于音頻任務(wù)。然而,今天,集成DSP數(shù)學(xué)功能的微控制器MCU) - 通常稱為數(shù)字信號(hào)控制器(DSC) - 可以處理實(shí)時(shí)音頻算法和其余的應(yīng)用要求。我們將研究一些典型的算法,并考慮如何在主流MCU和DSC上實(shí)現(xiàn)這些算法。

首先,我們將介紹一些典型的以音頻為中心的功能,這些功能可能會(huì)用于通信應(yīng)用,如電話,免提套件,對(duì)講機(jī),無線電和其他設(shè)備。噪聲是此類應(yīng)用中的常見問題,盡管抑制算法可以通過麥克風(fēng)大大降低與語音一起捕獲的環(huán)境噪聲(圖1)。噪聲源可能是機(jī)器,甚至是PC的風(fēng)扇噪音。

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

圖1:噪聲抑制算法可以大大降低麥克風(fēng)隨聲音捕獲的環(huán)境噪聲。

噪聲抑制算法通常必須在數(shù)據(jù)流上實(shí)時(shí)執(zhí)行。 Microchip提供了與dsPIC DSC一起使用的算法。該算法對(duì)語音數(shù)據(jù)進(jìn)行操作,該數(shù)據(jù)采用8 kHz采樣,分辨率為16位。該算法順序處理10毫秒的語音塊。

噪聲抑制算法中的主要DSP功能是頻域快速傅立葉變換(FFT)。該算法不斷更新檢測到的噪聲的輪廓。它可以縮放各個(gè)頻段的信號(hào),放大語音和靜音噪聲。

Microchip在噪聲抑制庫中提供算法。該算法以匯編語言編碼以獲得最大性能,但高級(jí)語言應(yīng)用程序代碼可以通過應(yīng)用程序編程接口(API)訪問這些函數(shù)。

聲學(xué)回聲消除

回聲消除是另一種方便的算法,可以提高音頻質(zhì)量,尤其是在有線或無線通信鏈路上(圖2)。當(dāng)麥克風(fēng)和揚(yáng)聲器彼此靠近時(shí),從揚(yáng)聲器到麥克風(fēng)的信號(hào)傳播到通信鏈路的另一端,產(chǎn)生最多會(huì)分散注意力的回聲,并且最壞的情況是使鏈路無用。

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

圖2:回聲消除依賴于時(shí)域有限脈沖響應(yīng)(FIR)濾波器來消除通過通信鏈路傳播的語音中的回聲。

Microchip提供聲學(xué)回聲消除庫,以消除回聲現(xiàn)象。時(shí)域算法依賴于自適應(yīng)有限脈沖響應(yīng)(FIR)濾波器,該濾波器應(yīng)用于來自通信鏈路遠(yuǎn)端的音頻。濾波器系數(shù)提供此自適應(yīng)能力,并使用歸一化最小均方(NLMS)算法進(jìn)行設(shè)置。該算法確保濾波器緊密地模擬實(shí)際聲學(xué)路徑。此外,非線性處理器算法消除了殘余回聲。

與噪聲抑制算法類似,聲學(xué)回聲消除庫采用匯編語言編碼,可以在dsPIC處理器上實(shí)時(shí)處理數(shù)據(jù)。它提供大于40 dB的消除,并使用8 kHz采樣率。它還與通常用于汽車免提應(yīng)用的G.167 ITU標(biāo)準(zhǔn)兼容。

Microchip提供了幾個(gè)額外的以音頻為中心的庫。例如,符合ITU G.168標(biāo)準(zhǔn)的線路回聲消除庫以電話系統(tǒng)為目標(biāo)?;贕UI的語音和音頻快進(jìn)工具可與其他庫(如噪聲抑制庫)配合使用,以允許調(diào)整應(yīng)用程序。自動(dòng)增益控制庫可輕松調(diào)整音頻電平。

數(shù)字信號(hào)控制器

現(xiàn)在我們將討論您可能在音頻應(yīng)用中使用的處理器類型。如上所述,Microchip庫是為公司的dsPIC DSC設(shè)計(jì)的。 DSC本質(zhì)上只是一個(gè)增加了數(shù)學(xué)硬件以支持以DSP為中心的應(yīng)用的MCU。與典型的MCU一樣,這些IC仍然集成了存儲(chǔ)器和各種外設(shè)。

Microchip實(shí)際上是第一個(gè)使用DSC的術(shù)語,盡管現(xiàn)在幾乎每個(gè)MCU供應(yīng)商都有這樣的產(chǎn)品。 Microchip提供的產(chǎn)品包括dsPIC30F和dsPIC33F/E系列。所有產(chǎn)品都包括單周期硬件MAC(乘法器累加器) - 具體來說,是一個(gè)16x16位乘法器和一個(gè)40位累加器。 DSC還包括一個(gè)桶形移位器,可以在一個(gè)周期內(nèi)移位任意數(shù)量的位。桶形移位器和MAC一起實(shí)現(xiàn)了以DSP為中心的算法的實(shí)時(shí)執(zhí)行。圖3中的框圖描述了dsPIC30F架構(gòu)。

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

圖3:dsPIC30F DSC包括一個(gè)16x16位乘法器和40位累加器,以及一個(gè)桶形移位器,用于實(shí)現(xiàn)以DSP為中心的應(yīng)用。

選擇DSPIC系列的成員添加在音頻和語音應(yīng)用中特別方便的外設(shè)。例如,dsPIC33FJ128GP804 DSC包含一個(gè)16位雙通道數(shù)模轉(zhuǎn)換器DAC),可用于輸出音頻。此外,DSC還包括一個(gè)10位模數(shù)轉(zhuǎn)換器ADC),支持多達(dá)13個(gè)音頻輸入通道。 ADC每秒可捕獲超過一百萬個(gè)樣本。 40 MIPS處理器提供了實(shí)現(xiàn)應(yīng)用程序代碼和音頻算法的性能余量。

DSC開發(fā)板

想要嘗試dsPIC技術(shù)的設(shè)計(jì)團(tuán)隊(duì)有許多可供選擇的開發(fā)板。 Microchip DM24001-ND dsPIC Explorer板包含dsPIC33FL256GP710 DSC,Microchip DM24002-ND dsPIC Explorer板包含dsPIC33FJ32GP204 DSC。兩者都配有16位PIC MCU。

Explorer板是一般實(shí)驗(yàn)的理想選擇,但Microchip還提供針對(duì)特定應(yīng)用的夾層PICtail板,可與基本Explorer板一起使用。音頻PICtail plus開發(fā)板包括一個(gè)16/24位編解碼器,一個(gè)耳機(jī)放大器,以及具有可調(diào)增益的麥克風(fēng)和線路輸入。語音PICtail開發(fā)板支持自適應(yīng)差分脈沖編碼調(diào)制(ADPCM)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8053

    瀏覽量

    349524
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17194

    瀏覽量

    351879
  • 編解碼器
    +關(guān)注

    關(guān)注

    0

    文章

    265

    瀏覽量

    24261
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    32位MCU是物聯(lián)網(wǎng)市場的絕對(duì)主流?

    隨著物聯(lián)網(wǎng)的快速發(fā)展,各大MCU廠商都將目光聚焦到32位MCU,目前主流的8位MCU最終是否會(huì)退出市場?32位
    發(fā)表于 06-02 01:05 ?5270次閱讀

    labview 數(shù)據(jù)壓縮傳輸 各種壓縮算法實(shí)現(xiàn)?

    image實(shí)時(shí)視頻實(shí)時(shí)音頻還有其他實(shí)時(shí)數(shù)據(jù)如何快速壓縮傳輸1 如何在lab實(shí)現(xiàn)speex 等算法2有沒有l(wèi)ab相關(guān)的壓縮工具庫---go
    發(fā)表于 08-26 19:10

    何在STM32F4平臺(tái)實(shí)現(xiàn)算法仿真和集成?

    何在STM32F4平臺(tái)實(shí)現(xiàn)算法仿真和集成?
    發(fā)表于 11-19 06:36

    何在FETMX8MQ-C核心板實(shí)現(xiàn)低功耗音頻播放

    Cortex-M4處理器。本文將系統(tǒng)講解——如何在FETMX8MQ-C核心板實(shí)現(xiàn)低功耗音頻播放。01、低功率音頻應(yīng)用概述在這個(gè)應(yīng)用中,i.
    發(fā)表于 12-20 07:24

    何在AT32 MCU使用FPU功能

    How to use FPU描述了如何在AT32 MCU使用FPU功能。
    發(fā)表于 10-24 07:45

    功率驅(qū)動(dòng)器件與MCU_DSC的接口電路設(shè)計(jì)技巧

    功率驅(qū)動(dòng)器件與MCU_DSC的接口電路設(shè)計(jì)技巧
    發(fā)表于 01-14 12:15 ?10次下載

    選擇一個(gè)用于音頻捕獲回放的MCU

    音頻捕獲和回放成為許多基于微控制器(MCU)的應(yīng)用程序的必要條件。然而,音頻支持的保真度和編解碼器的范圍是難以置信的廣泛。你可以啟用基于主機(jī)的音頻應(yīng)用簡單的8位微控制器平臺(tái),但質(zhì)量的
    發(fā)表于 07-03 11:41 ?7次下載
    選擇一個(gè)用于<b class='flag-5'>音頻</b>捕獲回放的<b class='flag-5'>MCU</b>

    如何將音頻開發(fā)板用作開發(fā)工具來設(shè)計(jì)高質(zhì)量音頻開發(fā)平臺(tái)的詳細(xì)概述

    本文檔介紹了如何將音頻開發(fā)板用作開發(fā)工具來設(shè)計(jì)高質(zhì)量音頻開發(fā)平臺(tái)。 音頻開發(fā)板展示了帶有真正 24 位音頻編解碼器的 16/32 位音頻
    發(fā)表于 06-13 10:27 ?11次下載
    如何將<b class='flag-5'>音頻</b>開發(fā)板用作開發(fā)工具來設(shè)計(jì)高質(zhì)量<b class='flag-5'>音頻</b>開發(fā)平臺(tái)的詳細(xì)概述

    如何使用微芯片DSPIC DSC系列實(shí)現(xiàn)永磁同步電機(jī)的無傳感器聚焦算法

    該應(yīng)用筆記討論了使用微芯片DSPIC?DSC系列實(shí)現(xiàn)永磁同步電機(jī)(PMSM)的無傳感器聚焦算法。
    發(fā)表于 06-01 09:16 ?14次下載
    如何使用微芯片DSPIC <b class='flag-5'>DSC</b>系列<b class='flag-5'>實(shí)現(xiàn)</b>永磁同步電機(jī)的無傳感器聚焦<b class='flag-5'>算法</b>

    何在MATLAB中開發(fā)基于像素的視頻和圖像處理算法

    此講座將結(jié)合新產(chǎn)品的特性,重點(diǎn)介紹如何在MATLAB?中開發(fā)基于像素流的視頻和圖像處理的算法,并通過HDL代碼產(chǎn)生的技術(shù)快速在FPGA實(shí)現(xiàn)。你將了解到:如
    的頭像 發(fā)表于 08-29 06:08 ?2893次閱讀
    如<b class='flag-5'>何在</b>MATLAB中開發(fā)基于像素的視頻和圖像處理<b class='flag-5'>算法</b>

    何在DSP芯片實(shí)現(xiàn)Matlab的仿真算法

    當(dāng)用Matlab完成數(shù)字信號(hào)處理算法仿真后,如何在DSP芯片實(shí)時(shí)實(shí)現(xiàn),是電氣信息類大學(xué)生需要掌握的一項(xiàng)重要的工程實(shí)踐能力。在仿真過程中,有算法
    發(fā)表于 09-10 16:08 ?34次下載
    如<b class='flag-5'>何在</b>DSP芯片<b class='flag-5'>上</b><b class='flag-5'>實(shí)現(xiàn)</b>Matlab的仿真<b class='flag-5'>算法</b>

    何在 MCU 快速部署 TinyML

    您對(duì)人工智能 (AI) 和機(jī)器學(xué)習(xí) (ML) 感到好奇嗎?您想知道如何在您已經(jīng)使用過的微控制器使用它嗎?在本文中,我們向您介紹了微控制器的機(jī)器學(xué)習(xí)。該主題也稱為微型機(jī)器學(xué)習(xí) (TinyML
    的頭像 發(fā)表于 07-19 10:24 ?1879次閱讀
    如<b class='flag-5'>何在</b> <b class='flag-5'>MCU</b> <b class='flag-5'>上</b>快速部署 TinyML

    怎么用FPGA做算法何在FPGA實(shí)現(xiàn)最大公約數(shù)算法

    FPGA算法是指在FPGA(現(xiàn)場可編程門陣列)實(shí)現(xiàn)算法。FPGA是一種可重構(gòu)的硬件設(shè)備,可以通過配置和編程實(shí)現(xiàn)各種不同的功能和
    的頭像 發(fā)表于 08-16 14:31 ?2938次閱讀
    怎么用FPGA做<b class='flag-5'>算法</b> 如<b class='flag-5'>何在</b>FPGA<b class='flag-5'>上</b><b class='flag-5'>實(shí)現(xiàn)</b>最大公約數(shù)<b class='flag-5'>算法</b>

    何在AT32 MCU使用FPU功能

    何在AT32 MCU使用FPU功能
    的頭像 發(fā)表于 11-01 17:18 ?4088次閱讀
    如<b class='flag-5'>何在</b>AT32 <b class='flag-5'>MCU</b><b class='flag-5'>上</b>使用FPU功能

    MCU如何實(shí)現(xiàn)AI功能

    在討論如何在微控制器單元(MCU實(shí)現(xiàn)AI功能時(shí),我們需要認(rèn)識(shí)到MCU通常具有較為有限的計(jì)算資源和內(nèi)存空間,這與專為高性能計(jì)算設(shè)計(jì)的GPU
    的頭像 發(fā)表于 07-19 11:51 ?970次閱讀