吳子騰
(華僑大學 政治與公共管理學院, 福建 泉州 362021)
用于實驗教學的新型數字濾波器設計
吳子騰
(華僑大學 政治與公共管理學院, 福建 泉州 362021)
分析了FIR濾波器的特點之后,設計了一個低通的數字濾波器,并且用Matlab軟件對FIR數字濾波器進行了仿真,更形象地看到設計的濾波器的特性。用Matlab軟件的科學計算功能,對該任務進行計算,得出的設計數據可以提供給DSP系統的程序,進行調用。數字濾波器是按照程序計算信號,達到濾波的目的。通過對數字濾波器的存儲器編寫程序,就可以實現各種濾波功能。對FIR數字濾波器來說,增加功能只是增加程序,不用增加元件,不受元件誤差的影響,對低頻信號的處理不用增加該芯片的體積。用數字濾波方法可以擺脫模擬濾波器被元件限制的困擾。
數字濾波器; DSP; FIR; 窗函數
數字信號處理器(DSP)技術是基于VLSI技術和計算機技術發展起來的一門重要技術,DSP 技術已在通信、控制信號處理、儀器儀表、醫療、家電等很多領域得到了越來越廣泛的應用,在數字信號處理中數字濾波占有極其重要的地位[1-3]。與模擬濾波相比,數字濾波具有很多突出的優點,主要是因為數字濾波器是過濾時間離散信號的數字系統,它可以用軟件(計算機仿真)或用硬件來實現,而且在兩種情況下都可以用來過濾實時信號或非實時信號[4-7]。用可編程DSP芯片實現數字濾波可通過修改濾波器的參數、十分方便地改變濾波器的特性。因此有必要對濾波器的設計方法進行研究,理解其工作原理并優化設計方法,設計開發穩定性好的濾波器系統[8-9]。本文通過DSP設計平臺實現較為重要的“FIR濾波器系統”和它們的應用系統——以TMS320VC5402芯片為核心的硬件電路[10-13],并用Matlab進行仿真。本課題的研究為設計以DSP為核心部件的嵌入式系統集成提供技術準備。
(1) 給定要求的頻率響應函數Hd(e)jw;
(2) 計算離散形式的頻率響應函數hd(n);
(3) 可以根據過渡的帶寬和阻帶的最小衰減的要求,選定窗的屬性以及窗的大小N,N能通過多次嘗試后進行最優確定;
(4) 根據所選擇的合適的窗函數w(n)修正hd(n),得到所設計的抽樣響應。
1.1 濾波器的硬件電路設計
1.1.1 DSP芯片的選擇
正常情況下,選擇DSP芯片時應考慮以下因素:DSP芯片的運算速度,DSP芯片的價格,DSP芯片的硬件資源,DSP芯片的開發工具,以及其他因素。
1.1.2 電源和外部時鐘信號輸入的選擇
著名公司的專用電源芯片常常可以提供雙電源輸出,3.3 V/2.5 V、3.3 V/1.8 V、3.3 V/1.5 V、3.3 V/1.2 V,本文選用3.3 V/2.5 V的穩定電壓芯片,3.3 V電壓為DSP全程工作供電。時鐘信號由時鐘芯片給出,可以選擇工作電壓為3.3 V的有源晶振。
1.1.3 A/D轉換器與DSP芯片的連接
對于一般的A/D轉換器,選擇時主要考慮下面幾個方面的因素:
(1) 轉換器的精度。一般系統要求能對信號作一些簡單的處理,例如快速傅里葉變換等。
(2) 轉換時間。DSP芯片的指令周期為納秒級,運算速度特別快,能夠對信號進行一些適時的處理。為了能體現它的優勢,它的外圍電路設備的數據處理速度就要盡一切可能地與DPS芯片相匹配。
(3) 轉換器的價格。價錢也是選擇A/D轉換器的一個特別重要的因素。如何能選擇一個性價比高的A/D轉換器是非常考驗能力的一件事,這也體現出來你對這個行業的了解到底有多少。
除了上面所述的幾個因素外,選擇A/D轉換器還應該考慮到芯片的功耗、封裝、質量標準、供貨情況、生命周期等。
FIR數字濾波器系統框圖見圖1。設計采用TI公司的TMS320VC5402核心處理單元。TMS320VC5402為低功耗定點的數字信號處理器,它的運算速度可達到532 MIPS;它采用改進的哈佛結構,片內總共有8條總線。TMS320VC5402采用并行結構的設計,以便它可以在任一條指令周期內,快速地完成多項算術運算。TMS320VC5402的豐富片上外圍電路與外部接口連接方便。TMS320VC5402的芯片上包含2個McBSP(多通道緩沖串行口)接口,可以在這2個通道中模擬實現SPI的時序,所以本設計在電路圖中采用了SPI接口器件,以便實現數據的模擬-數字轉換和數字-模擬轉換。

圖1 FIR數字濾波器系統框圖
該數字濾波器系統中采用了著名的TI公司的TLV 1570芯片作為一個模擬數字轉換器,它是具有8通道10位2.7 V~5.5 V低電壓模擬數字轉換裝置。圖2為TLV1570的功能時序圖。

圖2 TLV1570的功能時序圖
從函數時序圖中可以看到,TLV1570包含8通道輸入電壓的10位多路復用器、高速的AD和內部電壓參考源和一個高速的串行接口。每個取樣和轉換過程需要16個系統工作時鐘。因為模擬到數字的轉換選擇了10位的裝置,為了簡化程序的代碼,降低DSP的運算工作量,在系統中的數字濾波器選擇TI公司的TLV5608芯片,它是一個8通道、10位2.7 V~5.5 V的低電壓的數字模擬轉換芯片。
基于DSP的FIR數字濾波器的整體硬件電路設計電路圖見圖3。

圖3 基于DSP的FIR數字濾波器的硬件設計電路圖
1.2 濾波器的軟件設計
用矩形窗設計一個基于DSP的FIR數字低通濾波器的要求[6]:濾波器階數N=64,截止角頻率ωc=0.4 π,描繪理想和實際濾波器的脈沖響應、窗函數以及濾波器的幅頻響應曲線。
程序如下:
Wc=0.4*pi; %輸入設計指標 N=64; n=0: N-1; Hd=ideal_lp(wc, N); %設計理想的低通濾波器 Windows=(boxcar(N))′; %使用矩形窗函數,并把列向量變為行向量 b=hd. *window; %求FIR系統函數系數 [H, w]=freqz(b,1); %求解頻率特性 bdH=20* log10((abs(H) + eps)/ max(abs(H))); %化為分貝值 %作圖 Subplot( 2,2,1 ),setm( n,hd ); axis([ 0,N, 1.1 *min( hd ),1.1 *max(hd)]; title(′理想脈沖響應′); xlable(′n′) ylabel(′hd(n)′); subplot( 2,2, 2), stem( n,windouw); axis([0,N,0,1.1]);title(′窗函數特性′); xlabel(′n′);ylabel(′wd(n)′); subplot( 2, 2 ,3), stem( n,d ); axis([0,N,1.1*min(b), 1.1*max(b)]); title(′實際脈沖響應′); xlable(′n′);ylable(′h(n)′); subplot( 2,2, 4),plot(w/pi,dbH); axis([0,1,-80,10]);title(′幅度頻率響應′);a xlable(′頻率(單位:pi)′);ylable(H(e^{jomega})′); set(gca,′XTickMode′,′manual′,′XTick′,[0,wc/pi,1]; set(gca,′YTickMode′,′manual′,′YTick′,[-50,-20,-3,0];grid
加入高斯白噪聲的正弦信號(見圖4)的數學表達式:
x=sin(2×pi×20×t)+randn(1,length(t))
通過Matlab的仿真結果見圖5。x′(t)為仿真輸出信號。

圖4 輸入的帶高斯白噪聲的正弦信號

圖5 仿真輸出的正弦信號
如果要將正弦信號從噪聲信號中分離出來,可以設計一個中心頻率在20 Hz的帶通濾波器(截止頻率分別為19 Hz,21 Hz),從而達到濾除噪聲的效果。
從圖5可以看出,濾波效果還是比較明顯的,不過它又不能完全濾除。再加上通過FIR數字濾波器后,信號有一定的時間延遲。
圖6為濾波器的頻率響應曲線,圖7為相位曲線。

圖6 濾波器的頻率響應曲線

圖7 濾波器的相位曲線
圖8為加入白噪聲之后的上述正弦信號的傅里葉變換的幅度響應。

圖8 傅里葉變換的幅度響應曲線
從圖8可以清楚地看到,除了在20 Hz附近的信號外,在其他頻域時間段里都是一些雜亂的噪聲。
圖9為經過FIR數字濾波器后的信號幅度響應。從圖9可以很明顯地看出,在經過FIR數字濾波器后,其他頻域時間段的噪聲都已經被濾掉了。

圖9 經FIR數字濾波器的傅里葉變換的幅度響應
對于FIR數字濾波器的研究以及FIR數字濾波器的計算機仿真表明,FIR數字濾波器對于夾雜著噪聲的信號還是很有效果的,得到的輸出信號比較接近于原輸入信號。
經實驗,本文的方式在不衰減有用信號的情況下可以達到非常好的濾波效果,本文的FIR 濾波器已經在一個超聲波測距項目得到應用,根據反饋,使用性能良好。本文主要研究FIR數字濾波器設計方法,從數字濾波器的概念及基本原理的分析出發,得出數字濾波器設計的基本步驟。本文主要用窗函數設計FIR低通濾波器,一方面用Matlab仿真實現;另一方面以TI公司的TMS320C5402作為DSP芯片處理器,設計并實現了FIR數字濾波器,編寫了相應的C語言和匯編程序。并利用混入噪聲的語音信號進行實時處理得到純凈的語言信號,較好地滿足了預期的頻率特性。
References)
[1] 程培青.數字信號處理教程[M].北京:清華大學出版社,2007:32-36.
[2] 陸廣平,卜迎春.基于DSP的FIR數字濾波器的研究與實現[M].北京:國防工業出版社, 2002:25-48.
[3] 蘇濤,吳順群,廖曉群.高性能數字信號處理器與高速實時信號處理[M].西安:西安電子科技大學出版社,1999:148-160.
[4]丁玉美,高西全.數字信號處理[M].西安:西安電子科技大學出版社,2002:103-140.
[5] 胡廣書.數字信號處理:理論算法與實現[M].北京:清華大學出版社,2003:78-83.
[6] 陳永彬.數字信號處理[M].南京:南京工學院出版社,1987:63-80.
[7] 王世一.數字信號處理[M].修訂版.北京:北京理工大學出版社,1997:37-42.
[8] 黃順吉.數字信號處理及其應用[M].北京:國防工業出版社,1982:178-184.
[9] 鄒理和.數字信號處理[M].北京:國防工業出版社,1985:223-240.
[10] Vinay K. Digital Signal Process Using Matlab[M]. Nelson Engineering,2006:220-225.
[11] MATLAB user’s Guide[M]. The Mathworks Inc,1995:145-148.
[12] 奧本海姆 A V, 謝費 R W.數字信號處理[M].北京:科學出版社,1983:177-183.
[13] Mathods J H, Fink K K. Numerical Methods Using MATLAB[M].Third Edition.Pearson, 2004:223-240.
Design of new digital filter for experimental teaching
Wu Ziteng
(School of Political Science and Public Administration, Huaqiao University, Quanzhou 362021, China)
The digital filter is designed by using the several common window functions for FIR. After analyzing the characteristics of the FIR filter, a low-pass digital filter is designed. The FIR digital filter is simulated by using the Matlab software to see the characteristics of the designed filter and its disadvantages more visually. By using the Matlab software, mainly its scientific computing function, the calculation is carried out to obtain the design data which can be provided for the DSP system program and the coordinated utilization. Usually the Matlab is first changed into the C or DSP assembly language, which is realized on the target DSP. The digital filter calculates the signal in accordance with the procedure so as to achieve the purpose of filtering. Through the memory program of the digital filter, various filtering functions can be realized. For the FIR digital filter, the increase of the functions is only to increase the programs without the increase of the components, which is not affected by the component error. For the processing of the low frequency signal, the chip size doesn’t need to be increased. The digital filtering method can get rid of the limitation of the analog filter by components.
digit filter; DSP; FIR; window fuction
TN273
: A
: 1002-4956(2017)09-0100-04
10.16791/j.cnki.sjg.2017.09.025
2017-03-02
國家自然科學基金面上項目(9810646513656j)
吳子騰(1984—),男,福建泉州,助理實驗師,研究方向為電子政務和嵌入式系統開發.
E-mail:wuziteng@hqu.edu.cn