《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于 TMS320C6713的IIR格型自適應濾波器
基于 TMS320C6713的IIR格型自適應濾波器
摘要: TMS320C6713是TI公司開發(fā)的一款新型浮點DSP芯片,它基于超長指令字結構(VLIW),非常適合于做高強度的數(shù)學運算,被認為是TI公司運算能力最強的處理器之一。本文使用合眾達公司開發(fā)的一款基于TMS320C6713芯片的開發(fā)板構建了音頻信號處理系統(tǒng),對音頻信號的IIR格型自適應濾波處理算法進行硬件驗證。
Abstract:
Key words :

    TMS320C6713是TI公司開發(fā)的一款新型浮點DSP芯片,它基于超長指令字結構(VLIW),非常適合于做高強度的數(shù)學運算,被認為是TI公司運算能力最強的處理器之一。本文使用合眾達公司開發(fā)的一款基于TMS320C6713芯片的開發(fā)板構建了音頻信號處理系統(tǒng),對音頻信號的IIR格型自適應濾波處理算法進行硬件驗證。

  1 硬件系統(tǒng)設計

  開發(fā)板系統(tǒng)總體方案框圖如圖1所示。模擬音頻信號首先通過高性能前置運算NE5532進行預放,然后進入音頻ADC進行A/D轉(zhuǎn)換得到串行輸出的數(shù)字音頻信號,本文使用CIRRUS公司最新專業(yè)級音頻芯片CS4272,該芯片使用了一個差分模擬結構,采樣率高達192 kHz,實際信噪比超過90 dB。接著數(shù)字音頻信號經(jīng)過FPGA通過DSP的McBSP口進入DSP芯片TMS320C6713。進入DSP的數(shù)據(jù)存放在DSP的內(nèi)部存儲區(qū)以利于處理器進行高速運算,經(jīng)過DSP處理后的數(shù)據(jù)同樣通過DSP的McBSP口輸出到FPGA,然后通過DAC輸出到前置運算NE5532進行放大后輸出。電路中同時還接了一個單片機芯片STC89LE52,它用于控制LED、按鍵、A/D、D/A轉(zhuǎn)換器以及與FPGA進行數(shù)據(jù)通信。

  

  2 CCS和CSL簡介

  CCS(Code Composer Studio)是TI公司推出的用于開發(fā)DSP芯片的集成開發(fā)環(huán)境,它采用熟悉的Windows風格界面,提供了基本的代碼生成工具,具有編輯、編譯、鏈接、軟件仿真、硬件調(diào)試以及實時跟蹤等功能,支持*.asm,*.c,*.h,*.cmd等多種格式并最終生成*.out等可供下載至硬件電路運行的二進制格式文件,它還提供了多種C/C++代碼優(yōu)化功能和一些實時分析及編程方案。此外,CCS的調(diào)試和仿真具有很強的功能:允許中斷點、剖析點及探測點三種斷點設置,分別實現(xiàn)程序斷點、實時分析和數(shù)據(jù)導入等功能。CCS為DSP芯片的開發(fā)與設計提供了極大的便利,是目前使用最為廣泛的DSP開發(fā)環(huán)境之一,其版本已發(fā)展至4.1甚至更高。

  在DSP應用系統(tǒng)中,不可避免地會涉及到大量對DSP器件外設特別是片上外設的編程處理工作,這將消耗開發(fā)工程師在開發(fā)初期大量的精力。在TI公司的CCS開發(fā)環(huán)境中,提供了DSP片級支持庫CSL作為一個組件,多數(shù)CSL模塊都由對應函數(shù)、宏、類和表示符號組成,利用這些模塊可以非常方便地完成對DSP片上外設的配置和控制的編程工作,從而簡化了DSP片上外設的開發(fā)工作,縮短了用戶程序的開發(fā)周期,并且可以達到標準化控制管理片上外設的能力,減少DSP硬件特殊性對用戶程序代碼的影響,以方便對用戶代碼在不同器件間的移植工作。

  3 自適應IIR格型濾波器及算法

    3.1 自適應IIR格型濾波器

  自適應濾波器就是其權系數(shù)可以根據(jù)某種自適應算法來不斷修改,使系統(tǒng)的沖激響應滿足給定的性能判斷。它的設計包括結構設計和自適應算法的選取、最佳參數(shù)的確定,以及有效字長效應影響的最小化等。自適應濾波器的原理圖如圖2所示。它主要由兩部分組成:系數(shù)可調(diào)的數(shù)字濾波器和用來調(diào)節(jié)或修正濾波器系數(shù)的自適應算法。

  

 

  圖中濾波器的結構可以是IIR型結構,也可以是FIR型結構。盡管IIR結構的濾波器性能不夠穩(wěn)定,但在實際應用中它能夠以很小的復雜度實現(xiàn)和FIR濾波器相同的功能,且可以利用模擬濾波器設計的結果,所以在對穩(wěn)定性要求不高的情況下這是一個理想的選擇。本文所采用的是IIR格型自適應濾波器,格型結構的優(yōu)點是按階遞歸,增加或者減少級數(shù)不會影響已經(jīng)存在的階數(shù)設計。

  格型IIR濾波器的結構框圖如圖3所示。它由兩個格型濾波器級聯(lián)而成,上方的格型濾波器H1(z)的輸入為Input,輸出設為s0(n);下方的格型濾波器H2(z)的輸入為s0(n),輸出為Output。

  

 

  采用TI公司開發(fā)的C67xDSPLIB庫函數(shù)DSPF_sp_iirlat。DSPF_sp_iirlat是單精度IIR格型濾波算法。其C語言形式為:

  

  3.2 自適應濾波器算法

  在前面討論了自適應濾波器的原理和結構,接下來討論自適應濾波器的另一個關鍵組成部分:自適應算法。目前,大多數(shù)自適應濾波器都采用最小均方算法(LMS),因為它容易設計、實現(xiàn)且性能穩(wěn)健。自適應算法是根據(jù)某種準則來設計的,目的在于設法使y(n)和d(n)盡量接近,不同的算法實質(zhì)一樣,只是接近的衡量標準不一樣。最常用的準則是最小均方誤差(Mean Square Error,MSE)準則,即期望信號d(n)與濾波器輸出y(n)之差e(n)的平方值最小,并根據(jù)這個準則來不斷調(diào)整自適應算法。采用TI公司開發(fā)的C67xDSPLIB庫函數(shù)DSPF_sp_lms。DSPF_ sp_lms為單精度浮點LMS算法,實現(xiàn)LMS自適應算法。其C語言形式為:

  

 
4 自適應IIR格型濾波算法的DSP實現(xiàn)

  由于自適應濾波器需要兩個輸入端,一個為主信號輸入端,另一個為參考信號輸入端。因此,如何在軟件和硬件上設計和實現(xiàn)兩個信號通路的建立問題是自適應濾波器的關鍵之一。為了解決雙通道自適應濾波器的信號輸入通道問題,可以采用開發(fā)板上的CS4272編解碼器的立體聲輸入功能,利用立體聲編解碼器的左、右兩路音頻輸入作為主信號輸入和參考信號輸入。然后將兩個通道的信號送往DSP進行自適應IIR格型濾波處理,將處理后的信號通過McBSP0傳送到CS4272編解碼器,CS4272編解碼器的D/A轉(zhuǎn)換電路再將數(shù)字信號轉(zhuǎn)換為模擬音頻。整個自適應濾波的過程如圖4所示。

  

 

  本文中自適應濾波器的參考輸入通道采用的是目標板上的立體聲輸入接口的左通道,主信號通道采用立體聲接口的右通道,操作完成后進行交替,采用Ping-Pong數(shù)據(jù)緩沖結構,Ping-Pong緩沖存儲區(qū)分配采用下面的C語言形式:

  

 

  程序使用CCS開發(fā)環(huán)境進行編譯、鏈接生成可執(zhí)行公共目標文件(COFF),然后加載運行。濾波器的權系數(shù)設定為512階,自適應步長為5×10-5,輸入信號為某組給定的音頻信號,通過CCS開發(fā)環(huán)境的圖形分析工具得到測試結果如圖5所示??梢钥吹?,濾波前后的頻譜圖非常相似,結果表明該濾波器具有很好的濾波效果。

  

 

  最后通過SEED-XDSusb 2.O仿真器下載到開發(fā)板上運行并播放音樂進行實時測試,實驗結果符合預期效果,有很好的實用價值。

    5 結語

  本文設計的重點和難點是掌握和應用DSP來實現(xiàn)音頻信號的采集、輸出的硬件平臺的構建,研究了IIR格型自適應濾波處理算法的DSP實現(xiàn)問題,最終通過DSP軟件編程完成了目標算法的工程實現(xiàn)。本文提出的基于這種特殊結構的自適應濾波器,由于實時性強和濾波效果明顯,將越來越廣泛地被應用于各種工程中。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。