沙巖+李娜娜+王換換+朱曉寧+王丹
數(shù)字濾波器是對(duì)數(shù)字信號(hào)進(jìn)行濾波處理以得到期望的響應(yīng)特性的離散時(shí)間系統(tǒng)。在眾多通用數(shù)字信號(hào)處理器中,美國TI公司生產(chǎn)的TMS320系列單片DSP在國際上占有較大市場,這種單片DSP把高速控制器的靈活性和陣列處理器的數(shù)值計(jì)算能力結(jié)合起來。
一、IIR數(shù)字濾波器結(jié)構(gòu)原理
本文IIR數(shù)字濾波器的設(shè)計(jì)方法:借助于模擬濾波器的設(shè)計(jì)方法設(shè)計(jì)出模擬濾波器,利用沖激響應(yīng)不變法或雙線性變換法轉(zhuǎn)換成數(shù)字濾波器,然后用硬件或軟件實(shí)現(xiàn)。
從IIR數(shù)字濾波器的實(shí)現(xiàn)來看,有直接型、級(jí)聯(lián)型、并聯(lián)型等基本網(wǎng)絡(luò)結(jié)構(gòu)。其中直接Ⅱ型僅需要N級(jí)延遲單元,且可作為級(jí)聯(lián)型和并聯(lián)型結(jié)構(gòu)中的基本單元。本文以二階IIR濾波器的直接實(shí)現(xiàn)形式表示。其系統(tǒng)函數(shù)H(z)可以表示為:
在編程時(shí),可以將變量和系數(shù)都存在DARAM中,采用循環(huán)緩沖區(qū)方式尋址,共需開辟4個(gè)緩沖區(qū),用來存放變量和系數(shù)。
二階IIR濾波器的直接IIR 型差分方程為:
(3)
二、IIR數(shù)字濾波器在C54x上的設(shè)計(jì)與實(shí)現(xiàn)
1.IIR數(shù)字濾波器在TMS320VC5409 DSP上的實(shí)現(xiàn)流程
1.1根據(jù)指標(biāo)確定濾波器的類型,設(shè)計(jì)出濾波器的參數(shù);
1.2根據(jù)DSP的特點(diǎn)(字長、精度等)對(duì)參數(shù)進(jìn)行取舍、量化,仿真;
1.3根據(jù)仿真結(jié)果對(duì)濾波器的結(jié)構(gòu)、參數(shù)再次進(jìn)行調(diào)整,直到滿足要求為止;
1.4在DSP上用語言實(shí)現(xiàn)濾波器功能。
2.IIR數(shù)字濾波器在TMS320VC5409 DSP上的實(shí)現(xiàn)算法
從理論上說,可以用高階IIR數(shù)字濾波器實(shí)現(xiàn)良好的濾波效果[2]。但由于DSP本身有限字長和精度的因素,加上IIR濾波器在結(jié)構(gòu)上存在反饋回路,是遞歸型的,再者高階濾波器參數(shù)的動(dòng)態(tài)范圍很大。這樣一來造成兩個(gè)后果:結(jié)果溢出和誤差增大。解決此問題的有效方法是把高階IIR數(shù)字濾波器簡化成幾個(gè)2階濾波器來設(shè)計(jì),即采用級(jí)聯(lián)結(jié)構(gòu)。
通過CCS的數(shù)據(jù)輸入輸出功能和RTDX功能,可以隨時(shí)觀察DSP結(jié)果和理論仿真結(jié)果之間的差異,及時(shí)發(fā)現(xiàn)數(shù)據(jù)的溢出和計(jì)算誤差 [3]。濾波沒有產(chǎn)生溢出現(xiàn)象且濾波效果滿足設(shè)計(jì)要求。采用間接尋址指向數(shù)據(jù)存儲(chǔ)單元,主要指令為加法、乘法和循環(huán)實(shí)現(xiàn),這些都可以通過MAC等指令直接實(shí)現(xiàn)[4]。
三、IIR濾波器性能仿真和實(shí)際測試
1.在CCS環(huán)境下實(shí)現(xiàn)IIR數(shù)字濾波器
在CCS環(huán)境中用匯編語言編寫一個(gè)實(shí)現(xiàn)IIR數(shù)字濾波器的程序及鏈接器命令文件,最終通過CCS的圖形顯示工具觀察輸入信號(hào)和輸出信號(hào)波形以及頻譜的變換。
采用雙線性變化法設(shè)計(jì),主要技術(shù)指標(biāo)如下:Fp=100Hz,F(xiàn)st=300Hz,Rp=3dB,Rs=20dB,取樣頻率為1000Hz。
濾波器采用巴特沃思模擬低通濾波器設(shè)計(jì),經(jīng)計(jì)算可得:
2.結(jié)果分析
由MATLAB編程生成的IIR數(shù)字濾波器的輸入數(shù)據(jù)。頻率分別為50赫茲和350赫茲的兩個(gè)頻率信號(hào),經(jīng)過此IIR濾波器后,頻率為350赫茲的信號(hào)得到一定程度的壓制,頻率為50赫茲的信號(hào)被保留,基本上達(dá)到預(yù)期的濾波效果。但因?yàn)闉V波器的性能不是非常理想,因此引入一定的噪聲(比如150Hz頻段)。輸入、輸出信號(hào)的1頻譜圖見圖1。
本文介紹了一種基于C5409硬件平臺(tái)的IIR數(shù)字濾波器實(shí)現(xiàn)方案。IIR數(shù)字濾波器是針對(duì)采樣率固定的系統(tǒng)設(shè)計(jì)的,更改系統(tǒng)或系統(tǒng)采樣率改變時(shí)應(yīng)重新設(shè)計(jì)。用到的數(shù)據(jù)存儲(chǔ)單元,程序開始時(shí)應(yīng)對(duì)這些單元進(jìn)行初始化。如果要進(jìn)行連續(xù)濾波,應(yīng)保存上一次濾波的結(jié)果。針對(duì)TI公司的TMS320VC5409 DSP,闡述了IIR數(shù)字濾波器的理論設(shè)計(jì)及在DSP上的實(shí)現(xiàn)過程。根據(jù)其實(shí)現(xiàn)思路,可以很方便設(shè)計(jì)出符合要求的濾波器。該方法具有較強(qiáng)的實(shí)用性。
參考文獻(xiàn)
[1]彭啟琮,管慶,李玉柏.DSP技術(shù)的發(fā)展與應(yīng)用.北京:高等教育出版社,2012
[2]張偉雄,徐光輝,陳亮.DSP芯片的原理與開發(fā)應(yīng)用.北京:電子工業(yè)出版社,2013
[3]彭啟琮.TMS320VC54x實(shí)用教程.成都:電子科技大學(xué)出版社,2010
[4]劉順蘭,吳杰.數(shù)字信號(hào)處理.西安:西安電子科技大學(xué)出版社,2013