<ol id="pyomo"><blockquote id="pyomo"></blockquote></ol>

    <span id="pyomo"><sup id="pyomo"></sup></span>

      <ol id="pyomo"><output id="pyomo"><div id="pyomo"></div></output></ol><optgroup id="pyomo"><small id="pyomo"><pre id="pyomo"></pre></small></optgroup>

      1. 你的位置:首頁 > RF/微波 > 正文

        實例測試解讀,典型音頻系統中FIR和IIR濾波器硬件加速器的使用

        發布時間:2022-05-23 來源:ADI 責任編輯:wenwei

        【導讀】有限脈沖響應(FIR)和無限脈沖響應(IIR)濾波器都是常用的數字信號處理算法——尤其適用于音頻處理應用。因此,在典型的音頻系統中,處理器內核的很大一部分時間用于FIR和IIR濾波。數字信號處理器上的片內FIR和IIR硬件加速器也分別稱為FIRA和IIRA,我們可以利用這些硬件加速器來分擔FIR和IIR處理任務,讓內核去執行其他處理任務。在本文中,我們將借助不同的使用模型以及實時測試示例來探討如何在實踐中利用這些加速器。


        1652446765206359.png

        圖1.FIRA和IIRA系統方框圖。


        圖1顯示了FIRA和IIRA的簡化方框圖,以及它們與其余處理器系統和資源的交互方式。


        ●    FIRA和IIRA模塊均主要包含一個計算引擎(乘累加(MAC)單元)以及一個小的本地數據和系數RAM。


        ●    為開始進行FIRA/IIRA處理,內核使用通道特定信息初始化處理器存儲器中的DMA傳輸控制塊(TCB)鏈。然后將該TCB鏈的起始地址寫入FIRA/IIRA鏈指針寄存器,隨后配置FIRA/IIRA控制寄存器以啟動加速器處理。一旦所有通道的配置完成,就會向內核發送一個中斷,以便內核將處理后的輸出用于后續操作。


        ●    從理論上講,最好的方法是將所有FIR和/或IIR任務從內核轉移給加速器,并允許內核同時執行其他操作。但在實踐中,這并非始終可行,特別是當內核需要使用加速器輸出進一步處理,并且沒有其他獨立的任務需要同時完成時。在這種情況下,我們需要選擇合適的加速器使用模型來達到最佳效果。


        在本文中,我們將討論針對不同應用場景充分利用這些加速器的各種模型。


        實時使用FIRA和IIRA


        1652446748301232.png

        圖2.典型實時音頻數據流。


        圖2顯示了典型實時PCM音頻數據流圖。一幀數字化PCM音頻數據通過同步串行端口(SPORT)接收,并通過直接存儲器訪問(DMA)發送至存儲器。在繼續接收幀N+1時,幀N由內核和/或加速器處理,之前處理的幀(N-1)的輸出通過SPORT發送至DAC進行數模轉換。


        加速器使用模型


        如前所述,根據應用的不同,可能需要以不同的方式使用加速器,以最大限度分擔FIR和/或IIR處理任務,并盡可能節省內核周期以用于其他操作。從高層次角度來看,加速器使用模型可分為三類:直接替代、拆分任務和數據流水線。


        直接替代


        ●    內核FIR和/或IIR處理直接被加速器替代,內核只需等待加速器完成此任務。

        ●    此模型僅在加速器的處理速度比內核快時才有效;即,使用FIRA模塊。


        拆分任務


        ●    FIR和/或IIR處理任務在內核和加速器之間分配。

        ●    當多個通道可并行處理時,此模型特別有用。

        ●    根據粗略的時序估算,在內核和加速器之間分配通道總數,使二者大致能夠同時完成任務。

        ●    如圖3所示,與直接替代模型相比,此使用模型可節省更多的內核周期。


        數據流水線


        ●    內核和加速器之間的數據流可進行流水線處理,使二者能夠在不同數據幀上并行處理。

        ●    如圖3所示,內核處理第N個幀,然后啟動加速器對該幀進行處理。內核隨后繼續進一步并行處理加速器在上一迭代中產生的第N-1幀的輸出。該序列允許將FIR和/或IIR處理任務完全轉移給加速器,但輸出會有一些延遲。

        ●    流水線級以及輸出延遲都可能會增加,具體取決于完整處理鏈中此類FIR和/或IIR處理級的數量。


        圖3說明了音頻數據幀如何在不同加速器使用模型的三個階段之間傳輸——DMA IN、內核/加速器處理和DMA OUT。它還顯示了通過采用不同的加速器使用模型將FIR/IIR全部或部分處理轉移到加速器上,與僅使用內核模型相比,內核空閑周期如何增加。


        1652446731559168.png

        圖3.加速器使用模型比較。


        SHARC處理器上的FIRA和IIRA


        以下ADI SHARC?處理器系列支持片內FIRA和IIRA(從舊到新)。


        ●    ADSP-214xx (例如, ADSP-21489)

        ●    ADSP-SC58x

        ●    ADSP-SC57x/ADSP-2157x

        ●    ADSP-2156x


        這些處理器系列:


        ●    計算速度不同

        ●    基本編程模型保持不變,ADSP-2156x處理器上的自動配置模式(ACM)除外。

        ●    FIRA有四個MAC單元,而IIRA只有一個MAC單元。


        ADSP-2156x的FIRA/IIRA改進


        ADSP-2156x是SHARC處理器系列中的最新的產品。它是第一款單核1 GHz SHARC處理器,其FIRA和IIRA也可在1 GHz下運行。ADSP-2156x處理器上的FIRA和IIRA與其前代ADSP-SC58x/ADSP-SC57x處理器相比,具有多項改進。


        性能改進


        ●    計算速度提高了8倍(從SCLK-125 MHz至CCLK-1 GHz)。

        ●    由于內核和加速器借助專用內核結構實現了更緊密的集成,因此減少了內核和加速器之間的數據和MMR訪問延遲。


        功能改進


        ●    添加了ACM支持,以盡量減少進行加速器處理所需的內核干預。此模式主要具有以下新特性:

        ●    允許加速器暫停以進行動態任務排隊。

        ●    無通道數限制。

        ●    支持觸發生成(主器件)和觸發等待(從器件)。

        ●    為每個通道生成選擇性中斷。


        實驗結果


        在本節中,我們將討論在ADSP-2156x評估板上,借助不同的加速器使用模型實施兩個實時多通道FIR/IIR用例的結果


        用例1

        圖4顯示用例1的方框圖。采樣率為48 kHz,模塊大小為256個采樣點,拆分任務模型中使用的內核與加速器通道比為5:7。


        表1顯示測得的內核和FIRA MIPS數量,以及與僅使用內核模型相比獲得的節約內核MIPS結果。表中還顯示了相應使用模型增加的額外輸出延遲。正如我們所看到的,使用加速器配合數據流水線使用模型,可節約高達335內核MIPS,但導致1塊(5.33 ms)的輸出延遲。直接替代和拆分任務使用模型也分別可節約98 MIPS和189 MIPS,而且未導致任何額外的輸出延遲。


        40.png

        圖4.用例1方框圖。


        41.png

        表1.用例1的內核和FIR/IIRA MIPS總結


        用例2

        圖5顯示用例2的方框圖。采樣率為48 kHz,模塊大小為128個采樣點,拆分任務模型中使用的內核與加速器通道比為1:1。


        與表1一樣,表2也顯示了此用例的結果。正如我們所看到的,使用加速器配合數據流水線使用模型,可節約高達490內核MIPS,但導致1模塊(2.67 ms)的輸出延遲。拆分任務使用模型可節約234內核MIPS,而沒有導致任何額外輸出延遲。請注意,與用例1中不同,在用例2中內核使用頻域(快速卷積)處理,而非時域處理。這就是為何處理一個通道所需的內核MIPS比FIRA MIPS少的原因,這可導致直接替代使用模型實現負的內核MIPS節約。


        42.png

        圖5.用例2方框圖。


        43.png

        表2.用例2的內核和FIR/IIRA MIPS總結


        結論


        在本文中,我們看到如何利用不同的加速器使用模型實現所需的MIPS和處理目標,從而將大量內核MIPS轉移到ADSP-2156x處理器上的FIRA和IIRA加速器。



        免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。


        推薦閱讀:


        村田專家帶你了解鋰離子電池的工作原理和特點

        IGBT門極驅動到底要不要負壓

        CTSD精密ADC—利用異步采樣速率轉換(ASRC)簡化數字數據接口

        RF通信的數字預失真:從數學運算等式到解決方案的實現

        可輕松實現無線供電功能的13.56MHz無線充電模塊

        特別推薦
        技術文章更多>>
        技術白皮書下載更多>>
        熱門搜索

        關閉

        關閉

        欧美人与动人物牲交
          <ol id="pyomo"><blockquote id="pyomo"></blockquote></ol>

          <span id="pyomo"><sup id="pyomo"></sup></span>

            <ol id="pyomo"><output id="pyomo"><div id="pyomo"></div></output></ol><optgroup id="pyomo"><small id="pyomo"><pre id="pyomo"></pre></small></optgroup>