matlab的fda工具使用方法

來源:互聯網
上載者:User

標籤:des   style   class   使用   檔案   類   

MATLAB中用FDATool設計濾波器及使用

 

該文章講述了MATLAB中用FDATool設計濾波器及使用.

 

1. 在Matlab中鍵入fdatool運行Filter Design and Analysis Tool。具體使用請參見Matlab Help中的Signal Processing Toolbox->FDATool。

 

2. 在fdatool工具中應該注意的幾個問題:(a)Fstop(阻帶截止頻率)不能大於或等於採樣頻率Fs/2,這是由於數字濾波器設計的方式決定的。(b)將設計好的濾波器匯出,可以採用兩種方式Export the filter either as filter coefficients variables or as a dfilt or mfilt filter object variable。(詳細說明參見Matlab Help中的Signal Processing Toolbox-> FDATool-> Exporting a Filter Design。

匯出:File---Export彈出EXPORT對話方塊,選擇“Export As”為“Objects”,“Varable Names”可以更改,預設為Hd。

 

3. (a)如果匯出的是dfilt or mfilt filter object variable,則可以用[b, a] = tf(Hd)將dfilt filter object轉換為轉移函數形式,然後用    d=filter(b,a,x); 使用這個濾波器。其中:filter是預設函數,b、a是剛剛設計的傳遞函數參數,x是原始採集訊號,d為濾波後的訊號。 x=importdata(‘E:\matlab_work\xy\bb\O6.txt‘);

N=length(x); %取長度

fs=4000; %採樣頻率

t=(0:N-1)/fs; 輸出Hd;

[b,a]=tf(Hd);%得到傳遞函數

d=filter(b,a,x); subplot(311); plot(t,x); title(‘原始訊號‘);

xlabel(‘t‘);

ylabel(‘y‘);  

grid on;

 

 

基於 fdatool工具的數字濾波器的matlab設計 

數字濾波器的matlab設計

1.1    fdatool介面設計

1.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選項,當選取採用窗函數設計時,該選項可定義,它包含了各種窗函數。

1.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

1.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。篇幅所限,這裡不再將來源程式詳細列出。

2   simulink模擬

本文通過調用simulink中的功能模組構成數字濾波器的模擬框圖,在模擬過程中,可以雙擊各功能模組,隨時改變參數,獲得不同狀態下的模擬結果。例如構造以基波為主的原始訊號,,通過simulink環境下的digital filter design(數字濾波器設計)模組匯入2.1.2中fdatool所設計的濾波器檔案1.fda。模擬圖和濾波2所示。

 

  

圖2 simulink模擬圖及濾波

fig.2 simulated connections and waveform

可以看到經過離散採樣、數字濾波後分離出了83.3hz的頻率分量(scope1)。之所以選取上面的疊加訊號作為原始訊號,是由於在實際工作中是要對已經經過差分濾波的訊號進一步做帶通濾波,訊號的各分量基本同一致,可以反映實際的情況。本例設計的濾波器已在實際工作中應用,取得了不錯的效果。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.