濾波器設(shè)計軟件設(shè)計_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、“濾波器設(shè)計軟件”設(shè)計,基于MATLAB GUI設(shè)計濾波器軟件設(shè)計,,,一 MATALB GUI介紹,MATALB 可以創(chuàng)建圖形用戶界面GUI ( GraphicalUser Interface) ,它是用戶和計算機之間交流的工具。MATLAB 將所有GUl 支持的用戶控件都集成在這個環(huán)境中并提供界面外觀、屬性和行為響應(yīng)方式的設(shè)置方法,隨著版本的提高,這種能力還會不斷加強。而且具有強大的繪圖功能,可以輕松的獲得更高質(zhì)量的曲線圖。,1、

2、IIR濾波器設(shè)計原理 濾波器的設(shè)計質(zhì)上是尋找一個既能物理實現(xiàn),又能滿足給定頻率特性指標(biāo)要求的系統(tǒng)傳輸函數(shù)。IIR濾波器一般采用遞歸型的結(jié)構(gòu),系統(tǒng)的輸入與輸出服從N階差分方程: 相應(yīng)的傳輸函數(shù)為 :,二、IIR濾波器設(shè)計原理,2、IIR濾波器設(shè)計思想,將設(shè)計指標(biāo)歸一化處理,根據(jù)歸一化頻率,確定最小階數(shù)N 和頻率參數(shù)Wn??晒┻x用的階數(shù)選擇函數(shù)有:buttord,cheblord,cheb2ord,ellipord

3、 等,運用最小階數(shù)N 設(shè)計模擬低通濾波器原型。根據(jù)最小階數(shù)直接設(shè)計模擬低通濾波器原型,用到的函數(shù)有:butter, chebyl,cheby2, ellip 和bessel,再用freqz 函數(shù)驗證設(shè)計結(jié)果,3、 IIR濾波器設(shè)計編程實現(xiàn),Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;%設(shè)計指標(biāo),wp1=2*Fp1 /Fs;ws1=2*Fs1 /Fs;%求歸一化頻率,% 確定butterworth 的最小階

4、數(shù)N 和頻率參數(shù)Wn [n,Wn]=buttord(wp1,ws1,Rp,Rs);,w=blackman(n+1); %確定窗口值,b=fir1(n,wn,w);% 確定傳遞函數(shù)的分母系數(shù),plot(f,20*log(abs(h))) %畫幅頻響應(yīng)圖plot(f,angle(h)); %畫相頻響應(yīng)圖,[h,f]=freqz(b,1); %生成頻率響應(yīng)參數(shù),軟件效果顯示,三、FIR濾波器設(shè)計原理,1、FIR濾波器設(shè)計原理,尋找一個

5、FIR濾波器,使其頻率響應(yīng)H(ejω)逼近理想FIR濾波器的頻率響應(yīng)Hd(ejω).,,,w(n):窗函數(shù)序列,要選擇合適的形狀和長度,2、FIR濾波器設(shè)計思想,將設(shè)計指標(biāo)歸一化處理,根據(jù)歸一化頻率,選擇函數(shù)buttord確定最小階數(shù)N 和頻率參數(shù)Wn,確定窗口值。Windows指定窗函數(shù)類型,默認為Hamming窗;可選Hanning、Hamming、Blackman、triangle、bartlett等窗,確定傳遞函數(shù)的分母系數(shù)。函

6、數(shù)fir1的調(diào)用格式為B= fir1(n, Wn, 'ftype', Windows),同時選擇在此函數(shù)中選擇要設(shè)計的濾波器的類型。,再用freqz 函數(shù)驗證設(shè)計結(jié)果,3、 FIR濾波器設(shè)計編程實現(xiàn),Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;N=75%設(shè)計指標(biāo),wp1=2*Fp1 /Fs;ws1=2*Fs1 /Fs;%求歸一化頻率,% 確定butterworth 的最小階數(shù)N 和頻率參數(shù)

7、Wn [n,Wn]=buttord(wp1,ws1,Rp,Rs);,[B,A] = butter(N,Wn);%確定傳遞函數(shù)的分子、分母系數(shù),[h,f]=freqz(b,a,Nn,Fs_value);%生成頻率響應(yīng)參數(shù),plot(f,20*log(abs(h))) %畫幅頻響應(yīng)圖plot(f,angle(h)); %畫相頻響應(yīng)圖,軟件效果顯示,四、基于Matlab GUI的數(shù)字濾波器設(shè)計思路及實現(xiàn),,MATLAB提供了編寫圖形用

8、戶界面的功能。所謂圖形用戶界面, 簡稱為GUI,GUI設(shè)計面板是GUI設(shè)計工具應(yīng)用的平面,面板上部提供了菜單和常用工具按鈕,左邊提供了多種如命令按鈕、單選按鈕、可編輯文本框、靜態(tài)文本框、彈出式菜單等,GUI設(shè)計面板是GUI設(shè)計工具應(yīng)用的平面,面板上部提供了菜單和常用工具按鈕,左邊提供了多種如命令按鈕、單選按鈕、可編輯文本框、靜態(tài)文本框、彈出式菜單等,選擇IIR或者FIR Filter設(shè)計,Butterworth等Filter選擇,窗口選

9、擇,1、濾波器設(shè)計總框圖,2、“濾波器設(shè)計軟件”設(shè)計的GUI界面設(shè)計,MATLAB GUI設(shè)計界面,“濾波器設(shè)計軟件” GUI界面設(shè)計,2、設(shè)計界面功能顯示,選擇IIR或者FIR Filter,選擇Butterworth、 ChebyshevⅠ、 ChebyshevⅡ 、 Ellipse 濾波器,選擇Boxar、Bartlett、Blackman、Hanning、Hamming、Kaiser窗口,選擇Lowpass、Highpass

10、、Bandpass、Bandstop四種類型,選擇圖形顯示Linear、Logarithmic兩種類型,最小階數(shù)設(shè)計濾波器,顯示最小階數(shù),選擇自定義階數(shù),階數(shù)輸入框,抽樣頻率Fs,通帶臨界頻率Fp1、Fp2,濾波器阻帶臨界頻率Fst1、Fst2,最大衰減Rp,最小衰減Rs,幅頻響應(yīng)顯示,相頻響應(yīng)顯示,退出設(shè)計界面,手動運行,自動運行,(1)Digital Filter下拉菜單 function DigitalFilter_Callba

11、ck(hObject, eventdata, handles)%讀取此時選擇的濾波器選擇,“IIR、FIR” DigitalFilter_value=get(handles.DigitalFilter,'Value'); %當(dāng)選擇了IIR時,使窗口選項屏蔽 if(DigitalFilter_value==1)

12、 set(handles.FilterDesign,'enable','on'); set(handles.Windows,'enable','off') %當(dāng)選擇了FIR時,使IIR的濾波器(Butterworth、 ChebyshevⅠ等)選項屏蔽 else

13、 set(handles.FilterDesign,'enable','off'); set(handles.Windows,'enable','on') end,3、按鈕實現(xiàn)編程,選擇IIR屏蔽Windows選擇,選擇FIR屏蔽Filte

14、r Design選擇,(2)Filter Type下拉菜單 function FilterType_Callback(hObject, eventdata, handles)%讀取此時設(shè)計的濾波器的類型,“Lowpass、Highpass、Bandpass、Bandstop”FilterType_value=get(handles.FilterType,'Value');%當(dāng)選擇Lowpass或者Highpas

15、s,屏蔽相應(yīng)的臨界頻率的顯示 if((FilterType_value==1)||(FilterType_value==2)) set(handles.Fp2,'visible','off');set(handles.Fs2,'visible','off') s

16、et(handles.text17,'visible','off');set(handles.text19,'visible','off'); set(handles.text6,'visible','off');set(handles.text10,'visible','off');

17、 else %當(dāng)選擇Bandpass或者Bandstop,使相應(yīng)的臨界頻率的顯示,使參數(shù)能夠輸入 if((FilterType_value==3)||(FilterType_value==4)) set(handles.Fp2,'visible','

18、on');set(handles.Fs2,'visible','on'); set(handles.text17,'visible','on');set(handles.text19,'visible','on'); set(handles.text6,'visible'

19、,'on');set(handles.text10,'visible','on'); end end,選擇低通或者高通濾波器時,隱藏相應(yīng)的帶通和帶阻的第二個臨界頻率,選擇帶通或者帶阻濾波器時,顯示相應(yīng)的帶通和帶阻的第二個臨界頻率,(3)Min Order和Custom Orde按鈕 選擇使用最小

20、階數(shù)設(shè)置時,屏蔽自定義階數(shù)的輸function MinOrder_Callback(hObject, eventdata, handles)MinOrder_value=get(handles.MinOrder,'Value'); if(MinOrder_value==1) set(handles.

21、Order,'visible','off'); else set(handles.Order,'visible','on'); end 選擇自定義階數(shù)時,顯示階數(shù)輸入框 function CustomOrderButton_Callback(hObject, eventdata, h

22、andles) CustomOrderButton_value=get(handles.CustomOrderButton,'Value'); if(CustomOrderButton_value==0) set(handles.Order,'visible','off'

23、); else set(handles.Order,'visible','on'); end,(4)Fp1、Fp2、Fst1、Fst2文本編輯框 參數(shù)輸入時,在輸入抽樣頻率Fs的前提下,判斷濾波器通帶臨界頻率(Fp1、Fp2)、濾波器阻帶臨界頻率(Fst1、Fst2)的歸一化頻率wp1、 wp2、ws1、ws1是否在

24、[0,1]之間,如不正確顯示錯誤對話框 function Fp1_Callback(hObject, eventdata, handles)%檢查輸入的通帶臨界頻率Fp1的歸一化頻率是否在[0,1]之間Fs_value=str2double(get(handles.Fs,'String'));Fp1_value=str2double(get(handles.Fp1,'String'));wp1=

25、2*Fp1_value/Fs_value;%如果不在[0,1]之間,顯示輸入錯誤對話框if(wp1>=1) errordlg(‘wp1=2*Fp1/Fs,歸一化頻率不在【0,1】之間,請輸入正確的參數(shù)’,‘錯誤信息’) end,(5)Run按鈕根據(jù)輸入的參數(shù)顯示設(shè)計的濾波器的幅頻特性和相頻特性圖,其程序如下:function Run_Callback(hObject, eventdata, handles)%

26、點擊Run立即運行AutoChoose,m文件,實現(xiàn)濾波器設(shè)計程序AutoChoose(handles)(6)Auto Run按鈕當(dāng)選擇了Auto Run按鈕時,能夠根據(jù)所選的IIR的濾波器(Butterworth、ChebyshevⅠ等)、FIR的窗口選項、圖形顯示類型(Linear、Logarithmic)立即顯示濾波器的幅頻特性和相頻特性圖,其中IIR的濾波器(Butterworth、 ChebyshevⅠ等)的回調(diào)函數(shù)

27、程序如下:function FilterDesign_Callback(hObject, eventdata, handles)AutoRun_value=get(handles.AutoRun,'Value');%當(dāng)選擇了Filter(Butterworth、 ChebyshevⅠ等)中一種Filter運行AutoChoose,m文件 if(AutoRun_value==1) AutoChoose(

28、handles) end,(7)Quit按鈕退出濾波器設(shè)計窗口,其程序如下:function Quit_Callback(hObject, eventdata, handles)%點擊Quti按鈕退出Close,4、運行和結(jié)果顯示 在圖形界面下, 按“ 運行” , 在Fiter Design界面,選擇要設(shè)計的濾波器選項,編輯框中輸人要求設(shè)計的數(shù)字濾波器的性能指標(biāo),, 選擇“Run”命令按鈕, 出現(xiàn)如圖所示的模擬低通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論