王 鵬
濟南軍區(qū)綜合訓(xùn)練基地學(xué)生軍訓(xùn)教研室,山東濟南 214035
基于MATLAB的高通濾波器設(shè)計
王 鵬
濟南軍區(qū)綜合訓(xùn)練基地學(xué)生軍訓(xùn)教研室,山東濟南 214035
為了進一步優(yōu)化濾波器設(shè)計,便于及時調(diào)整濾波器的參數(shù),提出了基于MATLAB平臺利用濾波器設(shè)計與分析工具箱設(shè)計數(shù)字濾波器。闡述了數(shù)字濾波器的基本原理和濾波器設(shè)計的操作步驟,并進行仿真模擬。結(jié)果表明:所設(shè)計的濾波器可以有效抑制干擾信號,提高信噪比;設(shè)計過程快速簡單,方便根據(jù)實際需求調(diào)整濾波器的參數(shù),適用于工程實踐中。
MATLAB;高通;數(shù)字濾波器
在工程實際的各種測量與控制系統(tǒng)中,系統(tǒng)通常輸出的信號并不是模擬的電壓電流信號,而是數(shù)字信號。對于數(shù)字信號的處理,為了去除噪聲的影響和其他頻率成分信號的干擾,提高系統(tǒng)測量的準(zhǔn)確性和穩(wěn)定性,需要對數(shù)字信號進行濾波處理,所以數(shù)字濾波器的設(shè)計對于實際工程應(yīng)用中的測量與控制系統(tǒng)就顯得尤為重要。而對于傳統(tǒng)數(shù)字濾波器的設(shè)計方法而言,一方面其設(shè)計步驟冗雜,需要進行大量的計算;另一方面,一旦濾波器設(shè)計好,它的濾波特性也就固定了,想要調(diào)整的它的濾波特性就變得非常困難[1-4]。因此針對傳統(tǒng)濾波器的缺點,文章提出一種新的便捷的數(shù)字濾波器設(shè)計方法——利用MATLAB平臺中的濾波器設(shè)計與分析工具箱。
數(shù)字濾波技術(shù)是信號分析與處理技術(shù)中非常重要的一個分支,它作為一個線性處理模塊在工程實際中得到了廣泛的應(yīng)用,更為重要的是它能夠得到準(zhǔn)確的線性相位關(guān)系,這是模擬器件幾乎無法實現(xiàn)的。通常,數(shù)字濾波器分為兩種,分別是有限沖激響應(yīng)濾波器(FIR)和無限沖激響應(yīng)濾波器(IIR)。相比于IIR,F(xiàn)IR具有更加良好的線性相位特性,所以它的應(yīng)用更加廣泛。它內(nèi)核的結(jié)構(gòu)是一個分節(jié)的延時線,然后再對把每一分節(jié)的輸出進行加權(quán)求和,最終得到濾波后的輸出,它的差分方程[5]可表示為

式中N為抽頭數(shù),x(n)為輸入序列,y(n)為輸出序列,h(i)是第i個抽頭系數(shù)。
濾波器的相應(yīng)函數(shù)即為

由(1)式和(2)式可知,數(shù)字濾波器設(shè)計的核心工作就是計算其脈沖響應(yīng)系數(shù)。計算脈沖響應(yīng)系數(shù)的傳統(tǒng)方法主要三種:等波紋最佳逼近法、頻率采樣法和窗函數(shù)法。運用這些方法設(shè)計濾波器時,計算工作量大,費時。
MATLAB平臺中含有專門用于濾波器設(shè)計與分析的工具箱——FDATool(Filter Design & Analysis Tool)。在FDATool這個工具箱中,我們可以快捷、方便、靈活地設(shè)計各種常規(guī)濾波器。
圖1為濾波器設(shè)計與分析工具箱的工作界面,它主要分為三個部分:現(xiàn)有濾波器信息(Current Filter Information),用于顯示已經(jīng)設(shè)計完成的濾波器的信息,包括結(jié)構(gòu)和階數(shù)等、濾波器特點(Filter Specification),直觀地展示已經(jīng)設(shè)計完成的濾波器的各種特性,包括幅頻相應(yīng)曲線、相頻相應(yīng)曲線和濾波器系數(shù)等、濾波器設(shè)計(Design Filter),主要是選擇每一個參數(shù)來設(shè)計所需的濾波器,包括響應(yīng)類型(Response Type)、設(shè)計方法 (Design Method)、濾波器階數(shù) (Filter Order)、頻率描述(Frenquency Specifications) 和幅值描述(Magnitude Specifications)。

圖1 FDATool工作界面

圖2 高通濾波器的幅頻響應(yīng)

圖3 高通濾波器的相頻響應(yīng)

表1 濾波器系數(shù)
以頻率為4kHz的理想正弦信號作為仿真信號,在其中加入頻率為300Hz的低頻信號用來驗證設(shè)計的濾波器的性能。為了消除低頻干擾,可以設(shè)計一個高通濾波器。這里選擇設(shè)計最少階數(shù)的濾波器,采樣頻率為20kHz。根據(jù)以上要求,在響應(yīng)類型中選擇Highpass、在設(shè)計方法中選擇有限沖擊響應(yīng)Equiripple、在選擇濾波器階數(shù)中選擇Minimum Order、在頻率描中設(shè)定Fs為20000Hz,F(xiàn)stop=3000Hz,F(xiàn)pass=3900Hz、在頻率描述中設(shè)定Astop=60dB,Apass=1dB。各種參數(shù)設(shè)置完成后即可進行濾波器設(shè)計,在濾波器特點中就可以直觀地觀看所設(shè)計濾波器的各種特性,包括幅頻響應(yīng)(圖2)、相頻響應(yīng)(圖3)和濾波器系數(shù)(表1)等等。
利用MATLAB中濾波器設(shè)計與分析工具箱得到的濾波器的系數(shù),再編寫數(shù)字濾波程序,對含有低頻干擾的理想正弦信號進行模擬仿真。需保留信號的頻率為4kHz,幅值為1;需去除的低頻干擾頻率為50Hz,幅值為1。相應(yīng)的數(shù)字濾波程序為:
clear
clc
N=512;
fs=20000;
n=0:1:N-1;
f=n*fs/N;
x=sin(2*pi*4000*n/ fs)+sin(2*pi*300*n/fs);
b=abs(fft(x));
coe=load('lingxiangwei_coe.mat'); h=coe.Num;
for m=1:1:512
for k=1:1:49
if(m>=k)
a(k)=h(k)*x(m+1-k); end
end
y(m)=sum(a); end
z=abs(fft(y)); subplot(2,2,1) plot(n,x);
subplot(2,2,2) plot(f,b);
subplot(2,2,3) plot(n,y);
subplot(2,2,4)
plot(f,z);
圖4給出了仿真結(jié)果,包含濾波前、后仿真的信號及其頻譜。不難發(fā)現(xiàn),所設(shè)計的高通濾波器很好地去除了300Hz的低頻干擾,也很好地保留了4kHz的有用信號。濾波后的信號圖中的信號起始部分,相比后面的部分,信號的幅度小,主要是因為數(shù)字濾波中的加權(quán)累加需要一定的時間,從而導(dǎo)致延時。延時的大小與所設(shè)置的濾波器的階段有關(guān)。通常階數(shù)越高,延時越大。

圖4 濾波前、后信號的頻譜
基于MATLAB軟件,利用軟件中內(nèi)含的濾波器設(shè)計與分析工具箱得到濾波器的系數(shù),從而設(shè)計相應(yīng)的高通濾波器,運算量小,而且方便調(diào)整濾波參數(shù),這大大縮短了濾波器設(shè)計的時間,提高了設(shè)計效率。
[1]樓順天,李博菡.基于MATLAB的系統(tǒng)分析與設(shè)計——信號處理[M].北京:西安電子科技大學(xué)出版社,1998.
[2]倪養(yǎng)華,王董瑋.數(shù)字信號處理一原理與實現(xiàn)[M].上海:上海交通大學(xué)出版社,1997.
[3]程佩青.數(shù)字信號處理教程[M].第2版.北京:清華大學(xué)出版社,2002.
[4]胡廣書.數(shù)字信號處理一理論、算法與實現(xiàn)[M].北京:清華大學(xué)出版社,2003.
[5]蔣志凱.數(shù)字濾波與卡爾曼濾波[M].北京:中國科學(xué)技術(shù)出版社,1993.
The Design of High-pass Filter Based on MATLAB
Wang Peng
Student military training office of the combined training station of Jinan military area, Shandong Jinan, 250029
10.3969/j.issn.1001-8972.2012.19.040
王鵬(1985-),男,漢族,山東臨沂人,濟南軍區(qū)綜合訓(xùn)練基地學(xué)生軍訓(xùn)教研室,助教,主要從事國防教育工作。
AbstractIn order to simplify the process of filter design and adjust the parameters easily, a novel method based on MATLAB was put forward.The basic principle of digital filter and detail procedures were introduced and then simulation of sinusoidal signal was done.The results show that the designed filter is able to reject the noisy signal well and improve the signal-to-noise ratio.The whole process is simple and the parameters of filter are easily to adjust, so it is suitable for engineering.
KeywordsMATLAB; high-pass; digital filter