王 鵬
濟(jì)南軍區(qū)綜合訓(xùn)練基地學(xué)生軍訓(xùn)教研室,山東濟(jì)南 214035
基于MATLAB的高通濾波器設(shè)計(jì)
王 鵬
濟(jì)南軍區(qū)綜合訓(xùn)練基地學(xué)生軍訓(xùn)教研室,山東濟(jì)南 214035
為了進(jìn)一步優(yōu)化濾波器設(shè)計(jì),便于及時(shí)調(diào)整濾波器的參數(shù),提出了基于MATLAB平臺(tái)利用濾波器設(shè)計(jì)與分析工具箱設(shè)計(jì)數(shù)字濾波器。闡述了數(shù)字濾波器的基本原理和濾波器設(shè)計(jì)的操作步驟,并進(jìn)行仿真模擬。結(jié)果表明:所設(shè)計(jì)的濾波器可以有效抑制干擾信號(hào),提高信噪比;設(shè)計(jì)過(guò)程快速簡(jiǎn)單,方便根據(jù)實(shí)際需求調(diào)整濾波器的參數(shù),適用于工程實(shí)踐中。
MATLAB;高通;數(shù)字濾波器
在工程實(shí)際的各種測(cè)量與控制系統(tǒng)中,系統(tǒng)通常輸出的信號(hào)并不是模擬的電壓電流信號(hào),而是數(shù)字信號(hào)。對(duì)于數(shù)字信號(hào)的處理,為了去除噪聲的影響和其他頻率成分信號(hào)的干擾,提高系統(tǒng)測(cè)量的準(zhǔn)確性和穩(wěn)定性,需要對(duì)數(shù)字信號(hào)進(jìn)行濾波處理,所以數(shù)字濾波器的設(shè)計(jì)對(duì)于實(shí)際工程應(yīng)用中的測(cè)量與控制系統(tǒng)就顯得尤為重要。而對(duì)于傳統(tǒng)數(shù)字濾波器的設(shè)計(jì)方法而言,一方面其設(shè)計(jì)步驟冗雜,需要進(jìn)行大量的計(jì)算;另一方面,一旦濾波器設(shè)計(jì)好,它的濾波特性也就固定了,想要調(diào)整的它的濾波特性就變得非常困難[1-4]。因此針對(duì)傳統(tǒng)濾波器的缺點(diǎn),文章提出一種新的便捷的數(shù)字濾波器設(shè)計(jì)方法——利用MATLAB平臺(tái)中的濾波器設(shè)計(jì)與分析工具箱。
數(shù)字濾波技術(shù)是信號(hào)分析與處理技術(shù)中非常重要的一個(gè)分支,它作為一個(gè)線性處理模塊在工程實(shí)際中得到了廣泛的應(yīng)用,更為重要的是它能夠得到準(zhǔn)確的線性相位關(guān)系,這是模擬器件幾乎無(wú)法實(shí)現(xiàn)的。通常,數(shù)字濾波器分為兩種,分別是有限沖激響應(yīng)濾波器(FIR)和無(wú)限沖激響應(yīng)濾波器(IIR)。相比于IIR,F(xiàn)IR具有更加良好的線性相位特性,所以它的應(yīng)用更加廣泛。它內(nèi)核的結(jié)構(gòu)是一個(gè)分節(jié)的延時(shí)線,然后再對(duì)把每一分節(jié)的輸出進(jìn)行加權(quán)求和,最終得到濾波后的輸出,它的差分方程[5]可表示為
式中N為抽頭數(shù),x(n)為輸入序列,y(n)為輸出序列,h(i)是第i個(gè)抽頭系數(shù)。
濾波器的相應(yīng)函數(shù)即為
由(1)式和(2)式可知,數(shù)字濾波器設(shè)計(jì)的核心工作就是計(jì)算其脈沖響應(yīng)系數(shù)。計(jì)算脈沖響應(yīng)系數(shù)的傳統(tǒng)方法主要三種:等波紋最佳逼近法、頻率采樣法和窗函數(shù)法。運(yùn)用這些方法設(shè)計(jì)濾波器時(shí),計(jì)算工作量大,費(fèi)時(shí)。
MATLAB平臺(tái)中含有專(zhuān)門(mén)用于濾波器設(shè)計(jì)與分析的工具箱——FDATool(Filter Design & Analysis Tool)。在FDATool這個(gè)工具箱中,我們可以快捷、方便、靈活地設(shè)計(jì)各種常規(guī)濾波器。
圖1為濾波器設(shè)計(jì)與分析工具箱的工作界面,它主要分為三個(gè)部分:現(xiàn)有濾波器信息(Current Filter Information),用于顯示已經(jīng)設(shè)計(jì)完成的濾波器的信息,包括結(jié)構(gòu)和階數(shù)等、濾波器特點(diǎn)(Filter Specification),直觀地展示已經(jīng)設(shè)計(jì)完成的濾波器的各種特性,包括幅頻相應(yīng)曲線、相頻相應(yīng)曲線和濾波器系數(shù)等、濾波器設(shè)計(jì)(Design Filter),主要是選擇每一個(gè)參數(shù)來(lái)設(shè)計(jì)所需的濾波器,包括響應(yīng)類(lèi)型(Response Type)、設(shè)計(jì)方法 (Design Method)、濾波器階數(shù) (Filter Order)、頻率描述(Frenquency Specifications) 和幅值描述(Magnitude Specifications)。
圖1 FDATool工作界面
圖2 高通濾波器的幅頻響應(yīng)
圖3 高通濾波器的相頻響應(yīng)
表1 濾波器系數(shù)
以頻率為4kHz的理想正弦信號(hào)作為仿真信號(hào),在其中加入頻率為300Hz的低頻信號(hào)用來(lái)驗(yàn)證設(shè)計(jì)的濾波器的性能。為了消除低頻干擾,可以設(shè)計(jì)一個(gè)高通濾波器。這里選擇設(shè)計(jì)最少階數(shù)的濾波器,采樣頻率為20kHz。根據(jù)以上要求,在響應(yīng)類(lèi)型中選擇Highpass、在設(shè)計(jì)方法中選擇有限沖擊響應(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è)置完成后即可進(jìn)行濾波器設(shè)計(jì),在濾波器特點(diǎn)中就可以直觀地觀看所設(shè)計(jì)濾波器的各種特性,包括幅頻響應(yīng)(圖2)、相頻響應(yīng)(圖3)和濾波器系數(shù)(表1)等等。
利用MATLAB中濾波器設(shè)計(jì)與分析工具箱得到的濾波器的系數(shù),再編寫(xiě)數(shù)字濾波程序,對(duì)含有低頻干擾的理想正弦信號(hào)進(jìn)行模擬仿真。需保留信號(hào)的頻率為4kHz,幅值為1;需去除的低頻干擾頻率為50Hz,幅值為1。相應(yīng)的數(shù)字濾波程序?yàn)椋?/p>
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é)果,包含濾波前、后仿真的信號(hào)及其頻譜。不難發(fā)現(xiàn),所設(shè)計(jì)的高通濾波器很好地去除了300Hz的低頻干擾,也很好地保留了4kHz的有用信號(hào)。濾波后的信號(hào)圖中的信號(hào)起始部分,相比后面的部分,信號(hào)的幅度小,主要是因?yàn)閿?shù)字濾波中的加權(quán)累加需要一定的時(shí)間,從而導(dǎo)致延時(shí)。延時(shí)的大小與所設(shè)置的濾波器的階段有關(guān)。通常階數(shù)越高,延時(shí)越大。
圖4 濾波前、后信號(hào)的頻譜
基于MATLAB軟件,利用軟件中內(nèi)含的濾波器設(shè)計(jì)與分析工具箱得到濾波器的系數(shù),從而設(shè)計(jì)相應(yīng)的高通濾波器,運(yùn)算量小,而且方便調(diào)整濾波參數(shù),這大大縮短了濾波器設(shè)計(jì)的時(shí)間,提高了設(shè)計(jì)效率。
[1]樓順天,李博菡.基于MATLAB的系統(tǒng)分析與設(shè)計(jì)——信號(hào)處理[M].北京:西安電子科技大學(xué)出版社,1998.
[2]倪養(yǎng)華,王董瑋.數(shù)字信號(hào)處理一原理與實(shí)現(xiàn)[M].上海:上海交通大學(xué)出版社,1997.
[3]程佩青.數(shù)字信號(hào)處理教程[M].第2版.北京:清華大學(xué)出版社,2002.
[4]胡廣書(shū).數(shù)字信號(hào)處理一理論、算法與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2003.
[5]蔣志凱.數(shù)字濾波與卡爾曼濾波[M].北京:中國(guó)科學(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-),男,漢族,山東臨沂人,濟(jì)南軍區(qū)綜合訓(xùn)練基地學(xué)生軍訓(xùn)教研室,助教,主要從事國(guó)防教育工作。
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