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

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、 等,運(yùn)用最小階數(shù)N 設(shè)計(jì)模擬低通濾波器原型。根據(jù)最小階數(shù)直接設(shè)計(jì)模擬低通濾波器原型,用到的函數(shù)有:butter, chebyl,cheby2, ellip 和bessel,再用freqz 函數(shù)驗(yàn)證設(shè)計(jì)結(jié)果,3、 IIR濾波器設(shè)計(jì)編程實(shí)現(xiàn),Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;%設(shè)計(jì)指標(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è)計(jì)原理,1、FIR濾波器設(shè)計(jì)原理,尋找一個(gè)

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

6、數(shù)fir1的調(diào)用格式為B= fir1(n, Wn, 'ftype', Windows),同時(shí)選擇在此函數(shù)中選擇要設(shè)計(jì)的濾波器的類型。,再用freqz 函數(shù)驗(yàn)證設(shè)計(jì)結(jié)果,3、 FIR濾波器設(shè)計(jì)編程實(shí)現(xiàn),Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;N=75%設(shè)計(jì)指標(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è)計(jì)思路及實(shí)現(xiàn),,MATLAB提供了編寫圖形用

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

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

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

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

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

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

14、r Design選擇,(2)Filter Type下拉菜單 function FilterType_Callback(hObject, eventdata, handles)%讀取此時(shí)設(shè)計(jì)的濾波器的類型,“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,選擇低通或者高通濾波器時(shí),隱藏相應(yīng)的帶通和帶阻的第二個(gè)臨界頻率,選擇帶通或者帶阻濾波器時(shí),顯示相應(yīng)的帶通和帶阻的第二個(gè)臨界頻率,(3)Min Order和Custom Orde按鈕 選擇使用最小

20、階數(shù)設(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í),顯示階數(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ù)輸入時(shí),在輸入抽樣頻率Fs的前提下,判斷濾波器通帶臨界頻率(Fp1、Fp2)、濾波器阻帶臨界頻率(Fst1、Fst2)的歸一化頻率wp1、 wp2、ws1、ws1是否在

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

26、點(diǎn)擊Run立即運(yùn)行AutoChoose,m文件,實(shí)現(xiàn)濾波器設(shè)計(jì)程序AutoChoose(handles)(6)Auto Run按鈕當(dāng)選擇了Auto Run按鈕時(shí),能夠根據(jù)所選的IIR的濾波器(Butterworth、ChebyshevⅠ等)、FIR的窗口選項(xiàng)、圖形顯示類型(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運(yùn)行AutoChoose,m文件 if(AutoRun_value==1) AutoChoose(

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論