A. matlab濾波器設計參數設置
這兩個參數的意思你應該清楚吧,一般情況下這兩個參數是人為給定的,版即一般情況下權是已知的。通帶波紋即通帶最大衰減一般應小於1dB,可取0.2dB,阻帶最小衰減一般應大於40dB,可取50dB。具體的你可以查看一下相關的書籍。
另外,假如是低通濾波器的話,一般情況下通帶截止頻率是根據需要濾波的信號給定的,即假如要濾波信號里有15Hz和30Hz,你要求把30Hz濾掉的話,通帶截止頻率應小於30Hz,可設為20Hz。
還有一個參數是濾波器階數,在滿足要求的情況下,階數應盡量的低。
B. 如何使用matlab中的工具箱
首先,將下載的工具箱文件解壓,將文件夾復制到MATLAB安裝目錄下toolbox文件夾下專。
其次,在MATLAB命令行中輸屬入如下命令:
>>cd D:\MATLAB7\toolbox\piotr_toolbox % 找到你的工具箱
>> addpath(genpath('D:\MATLAB7\toolbox\piotr_toolbox')) %增加路徑
>> savepath %永久保存路徑
最後,檢查是否成功:
>>which hog %隨便輸入所加入工具箱中的一個m文件
D:\MATLAB7\toolbox\piotr_toolbox\channels\hog.m %得到此文件路徑,即載入正確
C. 給定系統函數怎麼在MATLAB中在fitter design中設計濾波器
基於MATLAB信號處理工具箱的數字濾波器設計與模擬
摘要:傳統的數字濾波器的設計過程復雜,計算工作量大,濾波特性調整困難,影響了它的應用。本文介紹了一種利用MATLAB信號處理工具箱(Signal Processing Toolbox)快速有效的設計由軟體組成的常規數字濾波器的設計方法。給出了使用MATLAB語言進行程序設計和利用信號處理工具箱的FDATool工具進行界面設計的詳細步驟。利用MATLAB設計濾波器,可以隨時對比設計要求和濾波器特性調整參數,直觀簡便,極大的減輕了工作量,有利於濾波器設計的最優化。本文還介紹了如何利用MATLAB環境下的模擬軟體Simulink對所設計的濾波器進行模擬模擬。
關鍵詞:數字濾波器 MATLAB FIR IIR
引言:
在電力系統微機保護和二次控制中,很多信號的處理與分析都是基於對正弦基波和某些整次諧波的分析,而系統電壓電流信號(尤其是故障瞬變過程)中混有各種復雜成分,所以濾波器一直是電力系統二次裝置的關鍵部件【1】。目前微機保護和二次信號處理軟體主要採用數字濾波器。傳統的數字濾波器設計使用繁瑣的公式計算,改變參數後需要重新計算,在設計濾波器尤其是高階濾波器時工作量很大。利用MATLAB信號處理工具箱(Signal Processing Toolbox)可以快速有效的實現數字濾波器的設計與模擬。
1 數字濾波器及傳統設計方法
數字濾波器可以理解為是一個計算程序或演算法,將代表輸入信號的數字時間序列轉化為代表輸出信號的數字時間序列,並在轉化過程中,使信號按預定的形式變化。數字濾波器有多種分類,根據數字濾波器沖激響應的時域特徵,可將數字濾波器分為兩種,即無限長沖激響應(IIR)濾波器和有限長沖激響應(FIR)濾波器。
IIR數字濾波器具有無限寬的沖激響應,與模擬濾波器相匹配。所以IIR濾波器的設計可以採取在模擬濾波器設計的基礎上進一步變換的方法。FIR數字濾波器的單位脈沖響應是有限長序列。它的設計問題實質上是確定能滿足所要求的轉移序列或脈沖響應的常數問題,設計方法主要有窗函數法、頻率采樣法和等波紋最佳逼近法等。
在對濾波器實際設計時,整個過程的運算量是很大的。例如利用窗函數法【2】設計M階FIR低通濾波器時,首先要根據(1)式計算出理想低通濾波器的單位沖激響應序列,然後根據(2)式計算出M個濾波器系數。當濾波器階數比較高時,計算量比較大,設計過程中改變參數或濾波器類型時都要重新計算。
(1)
(2)
設計完成後對已設計的濾波器的頻率響應要進行校核,要得到幅頻相頻響應特性,運算量也是很大的。我們平時所要設計的數字濾波器,階數和類型並不一定是完全給定的,很多時候都是要根據設計要求和濾波效果不斷的調整,以達到設計的最優化。在這種情況下,濾波器的設計就要進行大量復雜的運算,單純的靠公式計算和編制簡單的程序很難在短時間內完成設計。利用MATLAB強大的計算功能進行計算機輔助設計,可以快速有效的設計數字濾波器,大大的簡化了計算量,直觀簡便。
2數字濾波器的MATLAB設計
2.1 FDATool界面設計
2.1.1 FDATool的介紹
FDATool(Filter Design Analysis Tool)是MATLAB信號處理工具箱里專用的濾波器設計分析工具,MATLAB6.0以上的版本還專門增加了濾波器設計工具箱(Filter Design Toolbox)。FDATool可以設計幾乎所有的基本的常規濾波器,包括FIR和IIR的各種設計方法。它操作簡單,方便靈活。
FDATool界面總共分兩大部分,一部分是Design Filter,在界面的下半部,用來設置濾波器的設計參數,另一部分則是特性區,在界面的上半部分,用來顯示濾波器的各種特性。Design Filter部分主要分為:
Filter Type(濾波器類型)選項,包括Lowpass(低通)、Highpass(高通)、Bandpass(帶通)、Bandstop(帶阻)和特殊的FIR濾波器。
Design Method(設計方法)選項,包括IIR濾波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(橢圓濾波器)法和FIR濾波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函數)法。
Filter Order(濾波器階數)選項,定義濾波器的階數,包括Specify Order(指定階數)和Minimum Order(最小階數)。在Specify Order中填入所要設計的濾波器的階數(N階濾波器,Specify Order=N-1),如果選擇Minimum Order則MATLAB根據所選擇的濾波器類型自動使用最小階數。
Frenquency Specifications選項,可以詳細定義頻帶的各參數,包括采樣頻率Fs和頻帶的截止頻率。它的具體選項由Filter Type選項和Design Method選項決定,例如Bandpass(帶通)濾波器需要定義Fstop1(下阻帶截止頻率)、Fpass1(通帶下限截止頻率)、Fpass2(通帶上限截止頻率)、Fstop2(上阻帶截止頻率),而Lowpass(低通)濾波器只需要定義Fstop1、Fpass1。採用窗函數設計濾波器時,由於過渡帶是由窗函數的類型和階數所決定的,所以只需要定義通帶截止頻率,而不必定義阻帶參數。
Magnitude Specifications選項,可以定義幅值衰減的情況。例如設計帶通濾波器時,可以定義Wstop1(頻率Fstop1處的幅值衰減)、Wpass(通帶范圍內的幅值衰減)、Wstop2(頻率Fstop2處的幅值衰減)。當採用窗函數設計時,通帶截止頻率處的幅值衰減固定為6db,所以不必定義。
Window Specifications選項,當選取採用窗函數設計時,該選項可定義,它包含了各種窗函數。
2.1.2 帶通濾波器設計實例
本文將以一個FIR 濾波器的設計為例來說明如何使用MATLAB設計數字濾波器:在小電流接地系統中注入83.3Hz的正弦信號,對其進行跟蹤分析,要求設計一帶通數字濾波器,濾除工頻及整次諧波,以便在非常復雜的信號中分離出該注入信號。參數要求:96階FIR數字濾波器,采樣頻率1000Hz,採用Hamming窗函數設計。
本例中,首先在Filter Type中選擇Bandpass(帶通濾波器);在Design Method選項中選擇FIR Window(FIR濾波器窗函數法),接著在Window Specifications選項中選取Hamming;指定Filter Order項中的Specify Order=95;由於採用窗函數法設計,只要給出通帶下限截止頻率Fc1和通帶上限截止頻率Fc2,選取Fc1=70Hz,Fc2=84Hz。設置完以後點擊Design Filter即可得到所設計的FIR濾波器。通過菜單選項Analysis可以在特性區看到所設計濾波器的幅頻響應、相頻響應、零極點配置和濾波器系數等各種特性。設計完成後將結果保存為1.fda文件。
在設計過程中,可以對比濾波器幅頻相頻特性和設計要求,隨時調整參數和濾波器類型,
以便得到最佳效果。其它類型的FIR濾波器和IIR濾波器也都可以使用FDATool來設計。
圖1 濾波器幅頻和相頻響應(特性區)
Fig.1 Magnitude Response and Phase Response of the filter
2.2 程序設計法
在MATLAB中,對各種濾波器的設計都有相應的計算振幅響應的函數【3】,可以用來做濾波器的程序設計。
上例的帶通濾波器可以用程序設計:
c=95; %定義濾波器階數96階
w1=2*pi*fc1/fs;
w2=2*pi*fc2/fs; %參數轉換,將模擬濾波器的技術指標轉換為數字濾波器的技術指標
window=hamming(c+1); %使用hamming窗函數
h=fir1(c,[w1/pi w2/pi],window); %使用標准響應的加窗設計函數fir1
freqz(h,1,512); %數字濾波器頻率響應
在MATLAB環境下運行該程序即可得到濾波器幅頻相頻響應曲線和濾波器系數h。篇幅所限,這里不再將源程序詳細列出。
3 Simulink模擬
本文通過調用Simulink中的功能模塊構成數字濾波器的模擬框圖,在模擬過程中,可以雙擊各功能模塊,隨時改變參數,獲得不同狀態下的模擬結果。例如構造以基波為主的原始信號,,通過Simulink環境下的Digital Filter Design(數字濾波器設計)模塊導入2.1.2中FDATool所設計的濾波器文件1.fda。模擬圖和濾波效果圖如圖2所示。
圖2 Simulink模擬圖及濾波效果圖
Fig.2 Simulated connections and waveform
可以看到經過離散采樣、數字濾波後分離出了83.3Hz的頻率分量(scope1)。之所以選取上面的疊加信號作為原始信號,是由於在實際工作中是要對已經經過差分濾波的信號進一步做帶通濾波,信號的各分量基本同一致,可以反映實際的情況。本例設計的濾波器已在實際工作中應用,取得了不錯的效果。
4 結論
利用MATLAB的強大運算功能,基於MATLAB信號處理工具箱(Signal Processing Toolbox)的數字濾波器設計法可以快速有效的設計由軟體組成的常規數字濾波器,設計方便、快捷,極大的減輕了工作量。在設計過程中可以對比濾波器特性,隨時更改參數,以達到濾波器設計的最優化。利用MATLAB設計數字濾波器在電力系統二次信號處理軟體和微機保護中,有著廣泛的應用前景。
參考文獻
1. 陳德樹. 計算機繼電保護原理與技術【M】北京:水利電力出版社,1992.
2. 蔣志凱. 數字濾波與卡爾曼濾波【M】北京:中國科學技術出版社,1993
3. 樓順天、李博菡. 基於MATLAB的系統分析與設計-信號處理【M】西安:西安電子科技大學出版社,1998.
4. 胡廣書. 數字信號處理:理論、演算法與實現【M】.北京:清華大學出版社,1997.
5. 蒙以正. MATLAB5.X應用與技巧【M】北京:科學出版社,1999.