吉首大學物理與機電工程學院 宋治國 譚明濤 張銀行
在信號的產生和傳輸過程中,難免會混雜噪聲,因此在信號的接收端必須消除或減弱噪聲干擾。根據噪聲與信號的不同特性,濾除或消弱信號中的噪聲成分就稱為濾波。數字濾波器由于其精度高,穩定性好,使用靈活等特點,廣泛應用在數據通信、語音信號處理及圖像處理等眾多領域[1]。帶通濾波器濾波器作為濾波器中重要的一種,它主要功能是使某一頻率范圍內的信號通過,而其它頻率范圍的信號被衰減或濾除。DSP作為通用的數字信號處理芯片,內部具有專門針對信號處理的硬件單元,使其在數字信號處理領域具體獨特的優勢。
IIR濾波器可以用較少的階數獲得很高的傳輸特性,所用的存儲單元少,運算次數少,具有經濟高效的特點。N階無限沖擊響應濾波器的脈沖傳遞函數可以表達為:

它的差分方程表達式為:

IIR濾波器的一般結構[3]如圖1所示:
Matlab信號處理工具箱中包含了許多執行信號處理算法的函數,方便了濾波器的設計[4]。利用matlab的信號處理函數設計了一個切比雪夫帶通濾波器,濾波器參數為:采樣頻率Fs為16kHz,通頻帶在3.2kHz和4.8kHz之間,內損耗不大于1dB;頻率小于2.4kHz和大于5.6kHz為阻帶,阻帶衰減大于20dB。
核心程序為:
wp=[3.2,4.8];ws=[2.4,5.6];rp=1;rs=20;
[n,wn]=cheb1ord(wp/8,ws/8,rp,rs);
[b,a]=cheby1(n,rp,wn);
由以上程序計算出濾波器的系數如表1所示:

表1 濾波器系數
仿真所得帶通濾波器的幅頻特性如圖2所示。
采用TMS320C5402為目標芯片,它是是16位定點DSP,具有改進的哈佛結構、一組程序總線和三組數據總線,高度并行性的算術邏輯單元ALU,專用硬件邏輯,片內存儲器,片內外設和專業的指令集,使該芯片在信號處理領域得到了廣泛應用[5]。
在用DSP匯編編程時,將濾波器的系數定標為Q15,將變量和系數都存放在DARAM中,并采用循環緩沖區方式尋址,共開辟4個循環緩沖區,用來存放變量和系數。這4個循環緩沖區的定義如下:
BN .usect "BN",7; 存放系數bi
AN .usect "AN",7; 存放系數ai
IN .usect “IN”,256;輸入緩沖區
OUT .usect “OUT”,256;輸出緩沖區
實現IIR帶通濾波器的核心程序為:
IIR: SUB A, A
STM #BN,BCOFF_P
STM #AN,ACOFF_P
RPT #5; 計算前向通道
MAC *XN_P+,*BCOFF_P+,A
MAC *XN_P,*BCOFF_P,A
MAR *XN_P-0; 將AR2指向x(n-N) RPT #5; 計算反饋通道
MAC *YN_P+,*ACOFF_P+,A
STH A,*YN_P-0; 保存y(n)
EEND B EEND;
.end

圖1 IIR濾波器結構
利用c語言編程產生一個含有4kHz和6.5kHz混合的正弦信號作為測試輸入信號,經過帶通濾波器濾波后輸出。利用DSP集成開發環境CCS的圖形顯示功能,分別對輸入信號x(n)、輸出信號y(n)的時域和頻域波形進行了觀察分析,波形如圖3-4所示:

圖2 帶通濾波器幅頻特性

圖3 輸入信號波形和頻譜

圖4 輸出信號波形和頻譜
從圖3和圖4的輸入信號頻譜和輸出信號的頻譜比較可以看出,經過濾波器濾波處理后,原輸入信號中頻率為6.5kHz的信號也衰減的很小,只剩下頻率為4kHz的信號。
IIR濾波器在信號處理領域有著廣泛的應用,而DSP作為通用數字信號處理器,在信號處理方面具體其它硬件無法比擬的優勢。本文首先根據數字濾波器的性能指標,用matlab編程計算出了濾波器的系數,然后以TMS320C5402為目標芯片,在ccs集成開發環境下,用匯編編程實現了該濾波器,并對濾波器的濾波效果進行了測試分析,結果表明:該濾波器能有效實現對信號的帶通濾波。
[1]王亞軍,李艷芳.基于GA-BP網絡的FIR數字濾波器優化設計[J].電測與儀表,2010,47(7):13-15.
[2]戴明楨,周建江.TMS320C54x DSP結構原理及應用[M].北京:北京航空航天大學出版社,2001.
[3]程佩青.數字信號處理教程(第三版)[M].北京:清華大學出版社,2010.
[4]朱習軍,隋思漣 等. Matlab在信號與圖像處理中的應用[M].北京:電子工業出版社,2009.
[5]鄒翼.基于DSP的G.729語音編碼的研究與實現[D].長沙:湖南大學,2009.