www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]ARM Cortex-M的音頻性能解析

近年來(lái),便攜式音樂(lè)播放器大放異彩,備受人們喜愛(ài)。其中的原因有很多,例如海量的壓縮音樂(lè)內(nèi)容,數(shù)據(jù)存儲(chǔ)成本不斷下降、操作簡(jiǎn)便和輕松訪問(wèn)不同流行元素的在線音樂(lè)內(nèi)容。消費(fèi)者對(duì)下一代音樂(lè)播放器日益挑剔,期盼更長(zhǎng)的音頻播放時(shí)間、更豐富的聆聽(tīng)體驗(yàn)。

  由此誕生了Cortex-M系列,這是新一代ARM低成本微處理器,采用低功耗設(shè)計(jì)。Cortex-M3內(nèi)核和最近發(fā)布的Cortex-M4內(nèi)核基于哈佛架構(gòu)的3級(jí)流水線并采用Thumb-2指令集架構(gòu)(ISA),內(nèi)存要求更低。但這些MCU能否勝任音頻處理任務(wù)?它們能否打造更出色的傾聽(tīng)體驗(yàn),滿足人們的期望?
 

  為了分析這些處理器是否適合處理音頻,首先我們以MP3解碼器和均衡器為例,大致了解一下音頻解碼器和后處理等音頻部件中常用音頻處理模塊實(shí)施方案,然后按照高效實(shí)現(xiàn)這些模塊對(duì)處理器指令集架構(gòu)的要求,對(duì)模塊加以分類(lèi)。

  我們重點(diǎn)從指令集角度來(lái)探討Cortex-M3和Cortex-M4內(nèi)核在音頻處理方面的優(yōu)勢(shì)。為此,我們先討論不同音頻部件的一些模塊代碼示例,隨后分析這些處理器在循環(huán)和指令方面的獨(dú)到優(yōu)勢(shì),最后,將展示流行音頻編解碼器和音頻后處理部件的典型性能指標(biāo)以佐證這些處理器內(nèi)核的音頻能力。

  音頻處理模塊的功能塊

  為了分析音頻處理器要求,現(xiàn)先從音頻處理模塊所涉及的功能塊,即音頻編解碼器和音頻后處理部件談起。本節(jié)框圖中的模塊用顏色標(biāo)為3種不同類(lèi)別。綠色表示乘加(MAC)密集模塊、紅色表示MAC和控制代碼混合模塊、藍(lán)色表示控制代碼模塊。

  音頻編解碼器

  互聯(lián)網(wǎng)提供了大量壓縮音頻數(shù)據(jù),必然要求音樂(lè)播放器支持多種流行的音頻解碼器。音頻編碼器的處理功能涉及一系列功能塊,我們接下來(lái)回顧一下。

  

 

  圖1:典型音頻編碼器框圖。

  音頻編碼器:音頻編解碼器的用途是實(shí)現(xiàn)音頻數(shù)據(jù)壓縮,同時(shí)在給定比特率的限制下努力獲得保真音質(zhì)。典型編碼器如圖1所示。一般來(lái)說(shuō),音頻編碼器采用如下三步完成壓縮:首先,通過(guò)數(shù)據(jù)濾波調(diào)節(jié)音頻數(shù)據(jù)。然后,通過(guò)窗口化和重疊對(duì)音頻數(shù)據(jù)進(jìn)行幀化,等待進(jìn)一步處理;接著,將此數(shù)據(jù)變換至頻域,消除時(shí)域內(nèi)的冗余。使用心理聲學(xué)原理,對(duì)可能引入的、聽(tīng)不見(jiàn)的量化噪聲數(shù)量進(jìn)行計(jì)算;最后,對(duì)此數(shù)據(jù)進(jìn)行量化并通過(guò)熵編碼實(shí)現(xiàn)進(jìn)一步無(wú)損壓縮。此編碼數(shù)據(jù)經(jīng)緊密打包成為位流。盡管所實(shí)現(xiàn)的壓縮有些損耗,但聽(tīng)覺(jué)難以分辨細(xì)微差別。

  音頻解碼器:將上述關(guān)于音頻編碼器的過(guò)程反向,即是音頻解碼器從位流中還原音頻數(shù)據(jù)的原理。這里以MP3解碼器為例進(jìn)行討論,高層模塊分解如圖2所示??驁D以MP3文件格式的壓縮音頻作為輸入并輸出PCM格式的非壓縮音頻。

  這些模塊以功能命名,并代表各自執(zhí)行的操作

  

 

  圖2:MP3解碼器框圖。

  “Bit Stream Demux”模塊解析MP3位流

  “Entropy&Inv Q”模塊執(zhí)行霍夫曼解碼和反向量化

  “IMDCT”模塊對(duì)此數(shù)據(jù)進(jìn)行反向修改離散余弦變換

  “Overlap and Add”模塊執(zhí)行窗口化、重疊和加法運(yùn)算

  “Synthesis Filter Bank”從濾波器組域數(shù)據(jù)中重構(gòu)時(shí)域樣本[!--empirenews.page--]音頻后處理

 

  兩種情況一定需要音頻數(shù)據(jù)后處理。首先,要求提供豐富的聆聽(tīng)體驗(yàn)。例如,可使用立體聲加寬等空間定位器(Spatializer)來(lái)消除長(zhǎng)時(shí)間使用耳機(jī)的聽(tīng)覺(jué)疲勞。即使是基本的音頻播放,也需要后處理。例如,音樂(lè)播放器的DAC如果僅支持有限系列采樣率的情況下,可能需要對(duì)音頻數(shù)據(jù)進(jìn)行重新采樣。

  

 

  圖3:均衡器框圖。

  我們以均衡器為例,探討后處理器中用到的典型模塊。均衡器一般是為了滿足聆聽(tīng)者的偏好,同時(shí)也可用于校正耳機(jī)或揚(yáng)聲器的頻響。圖3所示為基本參數(shù)均衡器的高層模塊分解。下列模塊用于僅修改一小段音頻頻譜,具體做法是利用增益值、帶寬和中心/截止頻率的可控參數(shù)提供增益或衰減。要獲得所需頻響,可將多個(gè)此類(lèi)二階IIR濾波器級(jí)聯(lián)。

  低頻(LF)斜率濾波器:一種用于修改音頻頻譜低音部分的濾波器

  峰化濾波器:一種用于修改音頻頻譜中頻范圍的濾波器

  高頻(HF)斜率濾波器:一種用于修改音頻頻譜高音部分的濾波器

  音頻處理模塊類(lèi)別

  根據(jù)特性,音頻處理模塊廣義上分為三類(lèi)。我們將詳細(xì)討論每種模塊及其特性,然后進(jìn)一步分析高效實(shí)現(xiàn)這些模塊對(duì)處理器的要求。表1概述了本節(jié)所述音頻處理的處理器要求。

  

 

  表1:音頻處理模塊及其處理器要求。

  MAC密集模塊

  這些模塊屬于計(jì)算密集型,主要執(zhí)行乘加(MAC)運(yùn)算,通常有一個(gè)預(yù)定的代碼流。濾波(FIR、IIR濾波器)、窗口化、相關(guān)性及卷積等信號(hào)處理運(yùn)算屬于此類(lèi)別的典型例子。此類(lèi)模塊的處理器要求稍后論述。

  高精度MAC:這些模塊正常工作需要高精度乘加法。例如,IIR濾波器的穩(wěn)定性要求高精度運(yùn)算。輸出的保真度和精度直接取決于MAC指令的精度。盡管可使用低精度指令來(lái)某些仿真高精度MAC指令(例如32位乘以32位,在64位結(jié)果內(nèi)累加),但最好是使用高精度MAC指令來(lái)獲得高效實(shí)現(xiàn)。

  SIMD能力:這些模塊內(nèi)的運(yùn)算往往是少量指令的反復(fù)執(zhí)行,從而產(chǎn)生精簡(jiǎn)循環(huán)內(nèi)核。單指令多數(shù)據(jù)(SIMD)能力對(duì)于此類(lèi)模塊的高效執(zhí)行最為理想。內(nèi)置此功能的處理器更有利于處理此類(lèi)模塊。

  飽和算法:某些運(yùn)算需要使用飽和算法。例如,當(dāng)在運(yùn)行時(shí)產(chǎn)生窗口系數(shù)或在產(chǎn)生PCM輸出數(shù)據(jù)到所需位寬時(shí)。針對(duì)飽和算術(shù)的需求可以減少,但無(wú)法完全避免,因?yàn)橹虚g結(jié)果的位寬更高。因此,支持飽和算法的指令是高效實(shí)現(xiàn)的理想之選。

  分支推測(cè):這些模塊有一個(gè)預(yù)定的代碼流。由于這些模塊需要對(duì)指令反復(fù)執(zhí)行運(yùn)算,簡(jiǎn)單的分支推測(cè)有利于減少因流水線清空所產(chǎn)生的開(kāi)銷(xiāo)。

  MAC和控制代碼混合模塊

  這些模塊同樣是計(jì)算密集型,但在MAC密集運(yùn)算中還涉及控制代碼運(yùn)算??焖俑道锶~變換(FFT)、濾波器組等變換運(yùn)算是這一類(lèi)型的典型例子。此類(lèi)模塊的處理器要求為:

  DSP指令:由于上述兩類(lèi)模塊(MAC密集模塊和MAC和控制代碼混合模塊)主要涉及MAC運(yùn)算,因此,如果只有MAC和MLS(乘法和減法)指令而無(wú)運(yùn)算累加的開(kāi)銷(xiāo),一定能提高效率。

  混合位寬運(yùn)算:運(yùn)算對(duì)象的最小位寬取決于各種因素。例如,在濾波運(yùn)算中,輸出精度和濾波器穩(wěn)定性決定濾波器系數(shù)的位寬。所以高效實(shí)現(xiàn)離不開(kāi)能夠處理混合位寬運(yùn)算對(duì)象的指令。

  壓縮數(shù)據(jù)處理:FFT等這類(lèi)模塊的運(yùn)算一般使用稱(chēng)為旋轉(zhuǎn)因子的16位系數(shù)。FFT基數(shù)越高,所涉及的旋轉(zhuǎn)因子越多,但相對(duì)復(fù)雜度越低。這些旋轉(zhuǎn)因子可通過(guò)打包成32位數(shù)據(jù)來(lái)降低內(nèi)核循環(huán)中的任何寄存器不足。或者可通過(guò)將旋轉(zhuǎn)因子載入到內(nèi)核循環(huán)以外的寄存器來(lái)避免重復(fù)負(fù)載的可能開(kāi)銷(xiāo)。因此,能夠運(yùn)算壓縮數(shù)據(jù)的指令是提高效率的理想之選。

  位反轉(zhuǎn):能夠執(zhí)行位反轉(zhuǎn)的指令有利于需要位反轉(zhuǎn)尋址的FFT等關(guān)鍵模塊。

  控制代碼模塊

  這些模塊主要涉及控制代碼且代碼流為數(shù)據(jù)依賴型。位流解復(fù)用器和熵解碼運(yùn)算就屬于此類(lèi)。例如,MP3解碼器采用霍夫曼解碼,而WMA解碼器采用游程解碼。接下來(lái)討論此類(lèi)模塊的處理器要求。

  無(wú)符和按位運(yùn)算:這些模塊需要處理打包的數(shù)據(jù)流,而這需要數(shù)據(jù)提取。因此,能夠執(zhí)行按位運(yùn)算、提取、打包、解包的指令和能夠處理無(wú)符運(yùn)算對(duì)象的指令都是高效實(shí)現(xiàn)所需要的。

  精簡(jiǎn)數(shù)據(jù),減少占位:這些模塊中的代碼流主要為數(shù)據(jù)依賴型,因此不是預(yù)定的。所以,精簡(jiǎn)數(shù)據(jù)大小有助于減少緩存清空所引起的任何開(kāi)銷(xiāo)。

   [!--empirenews.page--]ARM Cortex-M3和Cortex-M4處理器

 

  本節(jié)將探討ARM低功耗高性能微控制器Cortex-M3內(nèi)核的功能,然后討論Cortex-M系列的最新處理器內(nèi)核M4的功能。Cortex-M系列內(nèi)核的功能及示例指令和循環(huán)如表2所列。

  Cortex-M3功能:采用高精度MAC單元,可提供最高32位乘以32位數(shù)據(jù)的乘法精度,得出64位累加結(jié)果。其他有利功能包括DSP指令、范數(shù)計(jì)算輔助指令、分支推測(cè)、因Thumb-2的高代碼密度以及硬件除法指令。這些功能都有利于音頻處理。

  Cortex-M4功能:Cortex-M4內(nèi)核是Cortex-M3的升級(jí)產(chǎn)品,除了繼承全部現(xiàn)有功能外,還增加了單循環(huán)MAC單元和浮點(diǎn)單元(FPU)等額外功能。MAC單元只需要1個(gè)循環(huán),即使對(duì)于最高精度運(yùn)算也是如此,將32位乘以32位,得出64位累加結(jié)果。增加了具有SIMD功能的DSP指令和高精度MAC單元等新功能,Cortex-M4就是一種具有DSP功能的微控制器,即數(shù)字信號(hào)控制器(DSC)。這些功能對(duì)于音頻處理非常有利,因?yàn)樾枰呔葋?lái)保持透澈的音質(zhì)。

  

 

  表2:Cortex-M3和Cortex-M4功能、指令及循環(huán)示例。

  音頻處理傳統(tǒng)上在數(shù)字信號(hào)處理器(DSP)上實(shí)施,而由通用處理器(GPP)負(fù)責(zé)系統(tǒng)相關(guān)的功能。隨著Cortex-M系列的問(wèn)世,由于這些處理器完全適合音頻處理應(yīng)用,音頻可在這些內(nèi)核上獲得高效實(shí)施而無(wú)需DSP。

  音頻模塊代碼示例

  現(xiàn)在,我們將展示一些不同音頻處理部件(音頻解碼器、編碼器、后處理及通用信號(hào)處理等)的例程的代碼示例。代碼段內(nèi)用粗體字表示的指令是最新引入Cortex-M4的。每條指令的循環(huán)次數(shù)在括號(hào)中給出。表格概述了每個(gè)示例所用的總循環(huán)、所需的指令數(shù)及所用的寄存器。

  窗口重疊加法模塊

  重疊加法窗口化是大多數(shù)音頻解碼器采用的典型模塊。它以MAC運(yùn)算為主,屬于計(jì)算密集型。圖4所示為此模塊的運(yùn)算處理流程。此例的實(shí)施方案在等式1中給出。

  

 

  圖4:窗口重疊加法模塊圖。

  

 

  等式1:窗口重疊加法模塊。

  

[!--empirenews.page--]雙二階IIR濾波器模塊

 

  雙二階濾波器是二階IIR濾波器的常用名,是均衡器等音頻編碼器和后處理器模塊的一種典型例程。本質(zhì)上屬于計(jì)算密集型,以MAC運(yùn)算為主。圖5所示為此模塊的Direct Form-1版本。此例的實(shí)施方案在等式-2中給出。在此例中,兩種處理器的寄存器用途和指令數(shù)完全相同。

  

 

  等式2:窗口重疊加法模塊。

  

 

  基2 FFT蝶形器模塊

  FFT是一種通用信號(hào)處理運(yùn)算。音頻處理模塊一般都需要FFT運(yùn)算進(jìn)行頻域變換。它計(jì)算密集型,以MAC和控制代碼混合運(yùn)算為主。此例僅說(shuō)明基2時(shí)間抽取算法(DIT)蝶形運(yùn)算。輸入輸出數(shù)據(jù)的精度均為16位。圖6所示為此模塊的運(yùn)算處理流程。此例的實(shí)施方案在等式3中給出。

  

 

  圖6:基2 DIT FFT蝶形運(yùn)算。

  

 

  等式3:基2時(shí)間抽取蝶形運(yùn)算。

  

 

  FIR濾波器模塊

  FIR濾波器是一種典型的信號(hào)處理運(yùn)算,常用于后處理模塊。此模塊也是計(jì)算密集型,以MAC運(yùn)算為主。圖7所示為此模塊的運(yùn)算處理流程。在此例中的實(shí)施方案在等式4中給出。

  

 

  圖7:FIR濾波器模塊圖。

  

 

  等式4:FIR濾波器等式。

  

[!--empirenews.page--]基于ARM Cortex-M處理器的音頻解決方案

 

  Ittiam公司基于Cortex-M處理器的音頻解決方案包含低功率音頻編解碼器和高品質(zhì)后處理部件。表3列出了Cortex-M3和Cortex-M4處理器所選的代表性音頻部件的典型性能。

  處理器的音頻功能:該音頻編解碼器進(jìn)一步優(yōu)化了性能,充分發(fā)揮了Cortex-M3的DSP指令和Cortex-M4的SIMD潛能。這款優(yōu)化的音頻解決方案提高了處理器頻率的使用效率,延長(zhǎng)了音頻播放時(shí)間。音頻后處理器部件通過(guò)高效利用高精度MAC單元來(lái)實(shí)現(xiàn)卓越音質(zhì)。借助Cortex-M處理器的這些功能,Ittiam音頻解決方案實(shí)現(xiàn)了低功耗、高音質(zhì)。

  音頻能力:這些典型性能指標(biāo)針對(duì)立體聲模式和44.1kHz采樣率。解碼器和編碼器采用128kbps配置。參數(shù)均衡器采用3頻帶配置。所有性能指標(biāo)假設(shè)零等待狀態(tài)內(nèi)存配置。硬件性能會(huì)隨實(shí)際內(nèi)存配置而有所不同。

  

 

  表3:Cortex-M3和Cortex-M4音頻部件的處理器資源利用率。

  為了計(jì)算處理器的負(fù)載百分比,假設(shè)Cortex-M3的時(shí)鐘頻率為100MHz,Cortex-M4為150MHz。執(zhí)行一次音頻解碼并施加兩個(gè)效應(yīng)(例如MP3解碼以及隨后的均衡器和立體聲加寬)的一般處理器負(fù)載在Cortex-M3上約為40%,而在Cortex-M4上約為15%。這表明這些處理器不僅音頻能力超高,還可增強(qiáng)聆聽(tīng)體驗(yàn)。

  

 

  表4:Cortex-M3和Cortex-M4音頻部件的內(nèi)存資源要求。

  內(nèi)存占用更?。罕?列出了Cortex-M3和Cortex-M4處理器所選的代表性音頻部件的內(nèi)存要求。這些內(nèi)存資源要求分別針對(duì)RAM和ROM內(nèi)存。由于Cortex-M4功能更先進(jìn),所以ROM要求比Cortex-M3更低。Cortex-M系列處理器的Thumb-2功能使音頻部件的內(nèi)存占用更小,內(nèi)存要求低,因而成本更低。

  本文小結(jié)

  通過(guò)對(duì)各種音頻處理模塊的分析以及對(duì)音頻處理的處理器要求的分析,我們可以看出,ARM Cortex-M3和Cortex-M4處理器內(nèi)核的功能和能力可以實(shí)現(xiàn)高效的音頻處理。由于低功耗、高性能,Cortex-M處理器非常適合音頻應(yīng)用。這些處理器超強(qiáng)的音頻能力可用于低功耗產(chǎn)品設(shè)計(jì),實(shí)現(xiàn)更長(zhǎng)的音頻播放時(shí)間,同時(shí)提供更豐富的聆聽(tīng)體驗(yàn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉