《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > 通過(guò)仔細(xì)規(guī)劃來(lái)成功實(shí)現(xiàn)實(shí)時(shí)聲學(xué)處理

通過(guò)仔細(xì)規(guī)劃來(lái)成功實(shí)現(xiàn)實(shí)時(shí)聲學(xué)處理

2022-03-10
作者:ADI公司信息娛樂(lè)系統(tǒng)架構(gòu)總監(jiān) David Katz
來(lái)源: ADI公司
關(guān)鍵詞: ANC SOC DSP

  低延時(shí)時(shí),、實(shí)時(shí)聲學(xué)處理是許多嵌入式處理應(yīng)用的關(guān)鍵因素,其中包括語(yǔ)音預(yù)處理,、語(yǔ)音識(shí)別和主動(dòng)降噪(ANC)。隨著這些應(yīng)用領(lǐng)域?qū)?shí)時(shí)性能的要求穩(wěn)步提高,,開(kāi)發(fā)人員需要以戰(zhàn)略思維來(lái)妥善應(yīng)對(duì)這些要求。由于許多大型系統(tǒng)都由芯片提供可觀的性能,,因此我們往往會(huì)將出現(xiàn)的任何額外任務(wù)都加載到這些設(shè)備上,,但我們需要知道,延時(shí)時(shí)和其確定性是非常關(guān)鍵的因素,,如果未仔細(xì)考慮,,很容易引發(fā)重大的實(shí)時(shí)系統(tǒng)問(wèn)題,。本文將探討設(shè)計(jì)人員在選擇SoC和專用音頻DSP時(shí)應(yīng)考慮的問(wèn)題,,以避免實(shí)時(shí)聲學(xué)系統(tǒng)出現(xiàn)令人不快的意外。

  低延時(shí)聲學(xué)系統(tǒng)的應(yīng)用非常廣泛,。例如,,單單是在汽車(chē)領(lǐng)域,低延時(shí)對(duì)于個(gè)人音頻區(qū)域,、路噪降噪和車(chē)內(nèi)通訊系統(tǒng)等都至關(guān)重要,。

  隨著汽車(chē)電氣化趨勢(shì)涌現(xiàn),路噪降噪變得更加重要,,因?yàn)闆](méi)有內(nèi)燃機(jī)產(chǎn)生明顯噪音,。所以,與汽車(chē)道路接觸相關(guān)的噪音會(huì)變得更明顯,、更擾人,。減少這種噪音不僅能帶來(lái)更舒適的駕駛體驗(yàn),還能減少駕駛員疲勞感,。與在專用音頻DSP上部署低延時(shí)時(shí)聲學(xué)系統(tǒng)相比,,在SoC上部署會(huì)面臨諸多挑戰(zhàn)。這些問(wèn)題包括延時(shí)時(shí),、可擴(kuò)展性,、可升級(jí)性、算法考量,、硬件加速和客戶支持,。我們來(lái)逐一進(jìn)行介紹。

  延時(shí)

  在實(shí)時(shí)聲學(xué)處理系統(tǒng)中,,延時(shí)問(wèn)題非常重要,。如果處理器跟不上系統(tǒng)的實(shí)時(shí)數(shù)據(jù)搬運(yùn)和計(jì)算需求,會(huì)導(dǎo)致不可接受的音頻斷續(xù),。

  一般來(lái)說(shuō),,SoC會(huì)配備小型片內(nèi)SRAM,,因此,大部分本地存儲(chǔ)器訪問(wèn)必須依賴緩存,。這導(dǎo)致代碼和數(shù)據(jù)的使用具有不確定性,,還會(huì)增大處理延時(shí)。對(duì)于ANC這樣的實(shí)時(shí)應(yīng)用來(lái)說(shuō),,單是這一點(diǎn)就無(wú)法接受,。但是,事實(shí)上,,SoC也會(huì)運(yùn)行管理繁重的多任務(wù)非實(shí)時(shí)操作系統(tǒng),。這會(huì)放大系統(tǒng)的不確定性操作特性,使其很難在多任務(wù)環(huán)境中支持相對(duì)復(fù)雜的聲學(xué)處理,。

  圖1顯示了一個(gè)運(yùn)行實(shí)時(shí)音頻處理負(fù)載的SoC的具體示例,,在處理更高優(yōu)先級(jí)的SoC任務(wù)時(shí),CPU負(fù)載出現(xiàn)峰值,。例如,,在執(zhí)行以SoC為中心的任務(wù)時(shí),包括在系統(tǒng)上進(jìn)行媒體渲染,、瀏覽或執(zhí)行應(yīng)用,,可能會(huì)出現(xiàn)這些峰值。當(dāng)峰值超過(guò)100% CPU負(fù)載時(shí),,SoC將不再實(shí)時(shí)運(yùn)行,,這會(huì)導(dǎo)致音頻丟失。

  

1.jpg

  圖1.除了運(yùn)行其他任務(wù)外,,運(yùn)行高音頻負(fù)載處理的典型SoC的瞬時(shí)CPU負(fù)載,。1

  另一方面,音頻DSP的架構(gòu)是為了在整個(gè)信號(hào)處理路徑(從采樣音頻輸入到處理(例如,,音效+噪聲抑制)到揚(yáng)聲器輸出)中實(shí)現(xiàn)低延時(shí),。L1指令和數(shù)據(jù)SRAM是最接近處理器內(nèi)核的單周期存儲(chǔ)器,足以支持多個(gè)處理算法,,無(wú)需將中間數(shù)據(jù)轉(zhuǎn)存到片外存儲(chǔ)器,。此外,片內(nèi)L2存儲(chǔ)器(離內(nèi)核較遠(yuǎn),,但訪問(wèn)速度仍然比片外DRAM快得多)可以在L1 SRAM的存儲(chǔ)容量不夠時(shí),,提供中間數(shù)據(jù)操作緩存。最后,,音頻DSP通常運(yùn)行實(shí)時(shí)操作系統(tǒng)(RTOS),,確保可以在新輸入數(shù)據(jù)到達(dá)之前完成輸入數(shù)據(jù)處理并將其搬移到目標(biāo)位置,,從而確保數(shù)據(jù)緩沖區(qū)在實(shí)時(shí)操作期間不會(huì)上溢,。

  系統(tǒng)啟動(dòng)時(shí)的實(shí)際延時(shí)時(shí)(通常通過(guò)啟動(dòng)發(fā)聲來(lái)表征)也是重要指標(biāo),,尤其是對(duì)于汽車(chē)系統(tǒng),它要求在啟動(dòng)后的某個(gè)窗口內(nèi)播報(bào)提示音,。在SoC領(lǐng)域,,通常采用很長(zhǎng)的啟動(dòng)時(shí)序,其中包括啟動(dòng)整個(gè)設(shè)備的操作系統(tǒng),,所以很難或無(wú)法滿足這個(gè)啟動(dòng)要求,。另一方面,可以對(duì)運(yùn)行自己的RTOS,、不受其他無(wú)關(guān)的系統(tǒng)優(yōu)先級(jí)影響的獨(dú)立式音頻DSP實(shí)施優(yōu)化,,以加快其啟動(dòng)速度,從而滿足啟動(dòng)發(fā)聲要求,。

  可擴(kuò)展性

  雖然在諸如噪聲控制等應(yīng)用中,,對(duì)于SoC來(lái)說(shuō),延時(shí)是個(gè)問(wèn)題,,但對(duì)于想要執(zhí)行聲學(xué)處理的SoC來(lái)說(shuō),,可擴(kuò)展性是另一個(gè)缺點(diǎn)。換句話說(shuō),,控制具有許多不同子系統(tǒng)的大型系統(tǒng)(例如汽車(chē)多媒體主機(jī)和儀表盤(pán))的SoC無(wú)法輕易從低端擴(kuò)展到滿足高端音頻需求,這是因?yàn)槊總€(gè)子系統(tǒng)組件的可擴(kuò)展性需求之間始終存在沖突,,需要在整體SoC利用率方面進(jìn)行權(quán)衡,。例如,如果前端SoC連接到遠(yuǎn)端收音模組,,并且適配多種車(chē)型,,那么該收音模組需要從幾個(gè)通道擴(kuò)展到多個(gè)通道,而每個(gè)通道都會(huì)加劇之前提到的實(shí)時(shí)問(wèn)題,。這是因?yàn)镾oC控制下的每個(gè)附加特性都會(huì)改變SoC的實(shí)時(shí)行為,,以及多個(gè)功能所使用的關(guān)鍵架構(gòu)組件的資源可用性。這些資源包括存儲(chǔ)器帶寬,、處理器內(nèi)核周期和系統(tǒng)總線結(jié)構(gòu)仲裁槽等方面,。

  除了有關(guān)連接到多任務(wù)SoC的其他子系統(tǒng)的問(wèn)題外,聲學(xué)系統(tǒng)本身也存在擴(kuò)展性問(wèn)題,。其中涉及低端到高端的擴(kuò)展(例如,,增加ANC應(yīng)用中麥克風(fēng)和揚(yáng)聲器通道的數(shù)量),也涉及音頻體驗(yàn)擴(kuò)展,,從基本的音頻解碼和立體聲播放一直到3D虛擬化和其他高級(jí)功能,。雖然這些要求不具有ANC系統(tǒng)的實(shí)時(shí)限制,但它們與系統(tǒng)音頻處理器的選擇直接相關(guān),。

  使用一個(gè)單獨(dú)的音頻DSP作為SoC的協(xié)處理器是解決音頻可擴(kuò)展性問(wèn)題的極佳解決方案,,可以實(shí)現(xiàn)模塊化的系統(tǒng)設(shè)計(jì)和成本優(yōu)化的解決方案,。SoC可以減少對(duì)大型系統(tǒng)實(shí)時(shí)聲學(xué)處理需求的關(guān)注,將這種處理需求轉(zhuǎn)移到低延時(shí)音頻DSP上進(jìn)行,。此外,,音頻DSP提供代碼兼容和引腳兼容選項(xiàng),涵蓋幾種不同的價(jià)格/性能/存儲(chǔ)容量等級(jí),,讓系統(tǒng)設(shè)計(jì)人員能夠最大限度地靈活選擇適合給定產(chǎn)品層級(jí)的音頻性能產(chǎn)品,。

  \

  

2.jpg

  圖2.ADSP-2156x DSP,高度可擴(kuò)展的音頻處理器

  可升級(jí)性

  隨著如今的汽車(chē)越來(lái)越普遍地采用OTA,,通過(guò)發(fā)布關(guān)鍵補(bǔ)丁或提供新功能進(jìn)行升級(jí)變得越來(lái)越重要,。由于其各個(gè)子系統(tǒng)之間的依賴性增加,這可能會(huì)導(dǎo)致SoC的關(guān)鍵問(wèn)題,。首先,,多個(gè)處理和數(shù)據(jù)移動(dòng)線程會(huì)在SoC上爭(zhēng)奪資源。在添加新功能時(shí),,尤其是在處于活動(dòng)高峰期間時(shí),,這會(huì)加劇處理器MIPS和存儲(chǔ)空間的競(jìng)爭(zhēng)。從音頻的角度來(lái)看,,其他SoC控制域中的新增特性可能會(huì)對(duì)實(shí)時(shí)聲學(xué)性能產(chǎn)生無(wú)法預(yù)測(cè)的影響,。這種情況帶來(lái)的一個(gè)負(fù)面影響是:新功能必須在所有操作平面上進(jìn)行交叉測(cè)試,導(dǎo)致彼此競(jìng)爭(zhēng)的子系統(tǒng)的各種操作模式之間出現(xiàn)無(wú)數(shù)排列組合,。所以,,每個(gè)升級(jí)包的軟件驗(yàn)證次數(shù)都會(huì)成倍增加。

  從另一個(gè)角度來(lái)看,,可以說(shuō)除了受SoC控制的其他子系統(tǒng)的功能圖譜外,,SoC音頻性能的改善還取決于可用的SoC MIPS。

  算法開(kāi)發(fā)與性能

  顯然,,在開(kāi)發(fā)實(shí)時(shí)聲學(xué)算法時(shí),,音頻DSP旨在達(dá)成任務(wù)目標(biāo)。與SoC的顯著區(qū)別在于,,獨(dú)立音頻DSP可以提供圖形化開(kāi)發(fā)環(huán)境,,讓缺乏DSP編碼經(jīng)驗(yàn)的工程師能夠在其設(shè)計(jì)中集成高質(zhì)量的聲學(xué)處理。這種類型的工具可以在不犧牲質(zhì)量和性能的情況下通過(guò)縮短開(kāi)發(fā)時(shí)間來(lái)降低開(kāi)發(fā)成本,。

  例如,,ADI的SigmaStudio?圖形音頻開(kāi)發(fā)環(huán)境提供多種集成至直觀的圖形用戶界面(GUI)的信號(hào)處理算法,從而能夠創(chuàng)建復(fù)雜的音頻信號(hào)流,。它還支持采用圖形A2B配置進(jìn)行音頻傳輸,,非常有助于加快實(shí)時(shí)聲學(xué)系統(tǒng)開(kāi)發(fā)。

  音頻輔助硬件特性

  除了專為高效并行浮點(diǎn)計(jì)算和數(shù)據(jù)訪問(wèn)而設(shè)計(jì)的處理器內(nèi)核架構(gòu)外,音頻DSP通常還采用專用的多通道加速器來(lái)運(yùn)行通用算法,,例如快速傅立葉變換(FFT),、有限和無(wú)限脈沖響應(yīng)(FIR和IIR)濾波,以及異步采樣速率轉(zhuǎn)換(ASRC),。這樣允許在內(nèi)核CPU之外進(jìn)行實(shí)時(shí)音頻濾波,、采樣和頻域轉(zhuǎn)換,從而提高內(nèi)核的有效性能,。此外,,由于它們采用優(yōu)化的架構(gòu),提供數(shù)據(jù)流管理功能,,所以有助于構(gòu)建靈活且方便用戶使用的編程模型,。

  由于音頻通道數(shù)量、濾波器流,、采樣速率等增加,,我們需要使用配置程度最高的引腳接口,以支持在線采樣速率轉(zhuǎn)換,、精密時(shí)鐘和同步高速串行端口來(lái)高效的路由數(shù)據(jù),,避免導(dǎo)致延時(shí)或外部接口邏輯增加。ADI公司的SHARC?系列處理器的數(shù)字音頻互連口(DAI)就展現(xiàn)了這種能力,,如圖4所示,。

  

3.jpg

  圖3.ADI公司的SigmaStudio圖形開(kāi)發(fā)環(huán)境

  

4.jpg

  圖4.數(shù)字音頻互連(DAI)框圖

  客戶支持

  在使用嵌入式處理器進(jìn)行開(kāi)發(fā)時(shí),我們常常會(huì)忽略一點(diǎn),,即客戶對(duì)設(shè)備的支持,。

  盡管SoC供應(yīng)商提倡在他們的內(nèi)置DSP產(chǎn)品上運(yùn)行聲學(xué)算法,但在實(shí)際使用時(shí)這會(huì)帶來(lái)一些負(fù)擔(dān),。一方面,供應(yīng)商的支持通常更復(fù)雜,,因?yàn)镾oC應(yīng)用開(kāi)發(fā)領(lǐng)域一般不涉及聲學(xué)專業(yè)知識(shí),。因此,往往很難為想要基于SoC的片內(nèi)DSP技術(shù)開(kāi)發(fā)自己的聲學(xué)算法的客戶提供支持,。而是由供應(yīng)商提供標(biāo)準(zhǔn)算法,,并收取可觀的NRE費(fèi)用,然后將聲學(xué)算法移植到SoC的一個(gè)或多個(gè)內(nèi)核中,。即使如此,,也無(wú)法保證一定能成功,在供應(yīng)商無(wú)法提供成熟,、低延時(shí)的框架軟件時(shí)更是如此,。最后,適合基于SoC的聲學(xué)處理的第三方生態(tài)系統(tǒng)往往相當(dāng)脆弱,,因?yàn)檫@個(gè)領(lǐng)域不是SoC關(guān)注的重點(diǎn),。

  顯然,,專用音頻DSP可為開(kāi)發(fā)復(fù)雜的聲學(xué)系統(tǒng)提供更強(qiáng)大的生態(tài)系統(tǒng),從優(yōu)化的算法庫(kù)和設(shè)備驅(qū)動(dòng)程序到實(shí)時(shí)操作系統(tǒng)和易于使用的開(kāi)發(fā)工具,。此外,,有助于加快產(chǎn)品上市的以音頻為主的參考平臺(tái)(例如ADI的SHARC音頻模塊平臺(tái),如圖5所示)對(duì)于SoC來(lái)說(shuō)比較少見(jiàn),,但在獨(dú)立音頻DSP領(lǐng)域卻很常見(jiàn),。

  

5.jpg

  圖5.SHARC音頻模塊(SAM)開(kāi)發(fā)平臺(tái)

  總之,很明顯,,設(shè)計(jì)實(shí)時(shí)聲學(xué)系統(tǒng)需要細(xì)致,、戰(zhàn)略性的規(guī)劃系統(tǒng)資源,不能單單通過(guò)在多任務(wù)SoC上分配處理裕量來(lái)進(jìn)行管理,。相反,,針對(duì)低延時(shí)處理而優(yōu)化獨(dú)立的音頻DSP有望提高其耐用性,縮短開(kāi)發(fā)時(shí)間,,實(shí)現(xiàn)出色的可擴(kuò)展性,,以適應(yīng)未來(lái)的系統(tǒng)需求和性能等級(jí)。

  參考資料

  1 Paul Beckmann,?!岸嗪薙OC處理器:性能、分析和優(yōu)化,?!?017年度AES國(guó)際汽車(chē)音頻大會(huì),2017年8月,。

  作者簡(jiǎn)介

  David Katz在模擬,、數(shù)字和嵌入式系統(tǒng)設(shè)計(jì)方面擁有30年的經(jīng)驗(yàn)。他是ADI公司汽車(chē)信息娛樂(lè)系統(tǒng)架構(gòu)總監(jiān),。他在國(guó)際上已發(fā)表了將近100篇關(guān)于嵌入式處理的文章,,并在該領(lǐng)域提交了數(shù)篇會(huì)議論文。加入ADI公司之前,,他在摩托羅拉公司工作,,擔(dān)任電纜調(diào)制解調(diào)器和工廠自動(dòng)化部門(mén)的高級(jí)設(shè)計(jì)工程師。David擁有康奈爾大學(xué)電氣工程學(xué)士學(xué)位和工程碩士學(xué)位,。





圖片.jpg


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。