數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告_第1頁(yè)
數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告_第2頁(yè)
數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告_第3頁(yè)
數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告_第4頁(yè)
數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(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ù)字信號(hào)處理課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告一、 課程設(shè)計(jì)內(nèi)容要求1、課程設(shè)計(jì)題目設(shè)計(jì)并實(shí)現(xiàn)一個(gè)流程如圖所示的信號(hào)處理演示系統(tǒng),該系統(tǒng)包含信號(hào)發(fā)生器、頻譜分析、濾波器設(shè)計(jì)、數(shù)字濾波和輸出信號(hào)分析5個(gè)主要模塊,各模塊的具體功能要求如下:1) 信號(hào)發(fā)生器根據(jù)信號(hào)類型不同可分為兩大類:(1) 靜態(tài)型:直接輸入測(cè)試信號(hào)系列。(2) 動(dòng)態(tài)型:輸入如下式所示的由多個(gè)不同頻率正弦信號(hào)疊加組合而成的模擬信號(hào)公式,指定采樣頻率和采樣點(diǎn)數(shù),動(dòng)態(tài)生成該信號(hào)的采樣序列,作為測(cè)試信號(hào)。100sin(2pif1t)+100sin(2pif2t)+100sin(2pifnt)2) 頻譜分析是用FFT對(duì)產(chǎn)生的測(cè)試信號(hào)進(jìn)行頻域變換,展示其幅頻

2、、相頻特性,指定需要濾出或保留的頻帶,通過選擇濾波器類型(IIR或FIR),確定對(duì)應(yīng)的濾波器技術(shù)指標(biāo)(低通、高通、帶通、帶阻)。3) 濾波器設(shè)計(jì) 根據(jù)IIR/FIR數(shù)字濾波器技術(shù)指標(biāo)設(shè)計(jì)濾波器,生成相應(yīng)的濾波器系數(shù),并展示對(duì)應(yīng)的濾波器幅頻、相頻特性。(1) IIR DF設(shè)計(jì):使用雙線性變換法,可選擇濾波器類型(巴特沃斯/切比雪夫型);(2) FIR DF 設(shè)計(jì):使用窗口法,可選擇窗口類型。4) 數(shù)字濾波根據(jù)設(shè)計(jì)的濾波器系數(shù),對(duì)測(cè)試信號(hào)進(jìn)行濾波,得到濾波后信號(hào)。(1) IIR DF:要求通過差分方程迭代實(shí)現(xiàn)濾波,未知初值置0處理;(2) FIR DF:要求通過快速卷積實(shí)現(xiàn)濾波,可以選擇使用重疊相

3、加或重疊保留法進(jìn)行卷積運(yùn)算,并動(dòng)態(tài)展示卷積運(yùn)算的詳細(xì)過程。5) 輸出信號(hào)分析展示濾波后信號(hào)的幅頻和相頻特性,分析是否滿足濾波要求。對(duì)同一濾波要求,根據(jù)輸出信號(hào)頻譜,對(duì)比分析各類濾波器的差異。2、設(shè)計(jì)題目要求使用MATLAB編程實(shí)現(xiàn)上述信號(hào)處理演示系統(tǒng),具體要求如下:(1)系統(tǒng)應(yīng)使用圖形用戶界面(GUI);(2)系統(tǒng)功能至少包括非語(yǔ)音信號(hào)的低通和高通濾波;(3)濾波器設(shè)計(jì)模塊應(yīng)避免使用MATLAB工具箱函數(shù);(4)IIR DF設(shè)計(jì)必須可選基于巴特沃斯或切比雪夫1型;(5)FIR DF設(shè)計(jì)必須可選擇各類窗口,且FIR濾波可選長(zhǎng)序列卷積方法。二、設(shè)計(jì)思想和系統(tǒng)功能結(jié)構(gòu)及功能說明1.設(shè)計(jì)思想 信號(hào)處理

4、演示系統(tǒng)的原理是,首先通過信號(hào)發(fā)生器產(chǎn)生測(cè)試信號(hào),然后對(duì)它進(jìn)行頻譜分析,接下來設(shè)置濾波器技術(shù)指標(biāo),然后選擇濾波器類型進(jìn)行數(shù)字濾波,最后輸出濾波后的信號(hào),并對(duì)它進(jìn)行頻譜分析。因此,實(shí)現(xiàn)系統(tǒng)的方法如下:首先,利用MATLAB進(jìn)行GUI設(shè)計(jì),用來實(shí)現(xiàn)系統(tǒng)用戶界面的操作。GUI界面包括:輸入信號(hào)部分(輸入信號(hào)設(shè)置部分,輸入信號(hào)幅頻、相頻特性顯示部分),濾波器部分(濾波器類型選擇部分,濾波器窗口選擇部分,濾波器技術(shù)指標(biāo)設(shè)置部分,濾波器幅頻、相頻特性顯示部分),輸出信號(hào)部分(輸出信號(hào)幅頻、相頻特性顯示部分)。然后,對(duì)GUI界面的每個(gè)控件,編寫對(duì)應(yīng)的callback函數(shù),使其完成相應(yīng)的操作,如數(shù)據(jù)傳遞或者濾

5、波器濾波以及展示所需的特性曲線顯。2.系統(tǒng)功能說明結(jié)構(gòu)及功能對(duì)輸入的模擬信號(hào)進(jìn)行采樣變成數(shù)字信號(hào),然后對(duì)其進(jìn)行頻譜分析,輸出相應(yīng)的幅頻、相頻特性曲線。然后設(shè)置濾波器技術(shù)指標(biāo),選擇濾波器類型,進(jìn)行濾波,同時(shí)輸出濾波器的幅頻、相頻特性曲線,還有濾波后的信號(hào)的幅頻、相頻特性曲線。濾波器類型分為IIR和FIR數(shù)字濾波器:在IIR DF中,可選擇濾波器類型為:巴特沃斯/切比雪夫1型,對(duì)應(yīng)的濾波器有高通或低通濾波器。在FIR DF中,用窗口法,可選擇窗口類型為:漢寧窗,哈明窗,三角形窗,矩形窗,凱塞窗,布萊克曼窗,對(duì)應(yīng)的濾波器有高通或低通濾波器。三、 系統(tǒng)設(shè)計(jì)詳情(1)輸入信號(hào)部分設(shè)計(jì)1. 信號(hào)發(fā)生器設(shè)計(jì)

6、:采用動(dòng)態(tài)型信號(hào)發(fā)生器設(shè)計(jì)方法,先輸入三個(gè)頻率f1,f2,f3,然后由這三個(gè)不同頻率的正弦信號(hào)疊加組合成模擬信號(hào),再輸入采樣頻率f以及采樣點(diǎn)數(shù)cyds,動(dòng)態(tài)生成該信號(hào)的采樣序列,作為測(cè)試信號(hào)。GUI界面信號(hào)輸入部分設(shè)計(jì)如下圖:頻率1的callback為:global f1f1=str2num(get(hObject,'string');其他的callback類似。生成的模擬信號(hào)為:x=100*sin(2*pi*f1*t)+100*sin(2*pi*f2*t)+100*sin(2*pi*f3*t);采樣頻率的callback為: global f f=str2num(get(hO

7、bject,'string');采樣后的輸入信號(hào)為:y=100*sin(2*pi*f1/f*n)+100*sin(2*pi*f2/f*n)+100*sin(2*pi*f3/f*n);2. 輸入信號(hào)頻譜分析設(shè)計(jì):是用FFT對(duì)產(chǎn)生的測(cè)試信號(hào)進(jìn)行頻域變換,展示其幅頻、相頻特性。wk=2/cyds*(0:cyds-1);subplot(4,3,1); stem(wk,abs(fft(y),'.'); axis(0 1 0 inf); subplot(4,3,4); stem(wk,angle(fft(y),'.'); axis(0,0.1,-5,5)當(dāng)f

8、1=200,f2=400,f3=800,f=2000,cyds=1000時(shí):輸入信號(hào)的幅頻、相頻特性曲線如下:(2)濾波器設(shè)計(jì)部分:1.濾波器技術(shù)指標(biāo)設(shè)計(jì): GUI界面濾波器技術(shù)指標(biāo)設(shè)置部分設(shè)計(jì)如下圖:IIR型濾波器的技術(shù)指標(biāo)有:通帶最大衰減ap,阻帶最小衰減as,通帶截止頻率fp,阻帶截止頻率fs。FIR型濾波器的技術(shù)指標(biāo)有:通帶截止頻率fp,阻帶截止頻率fs。通帶最大衰減ap的callback為:global apap=str2num(get(hObject,'string');其他的callback類似。2濾波器類型設(shè)計(jì):(1)IIR濾波器選擇界面設(shè)計(jì):低通巴特沃斯濾波器

9、的callback為:global asglobal apglobal fsglobal fpglobal y T=1 wp=pi*fp; ws=pi*fs; wp1=2*tan(wp/2); ws1=2*tan(ws/2); N,wc=buttord(wp1,ws1,ap,as,'s'); B,A=butter(N,wc,'s'); b,a=bilinear(B,A,1/T); h,w=freqz(b,a,512,'whole');subplot(4,3,2); plot(w/pi,abs(h); axis(0,1,0,1); subplot(

10、4,3,5); plot(0.5*w/pi,angle(h); z=filter(b,a,y); ft,Wt=freqz(z,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);高通巴特沃斯濾波器的callback為:只要把上面的B,A=butter(N,wc,'s');改為B,A=butter(N,wc,'high','s');即可。切比雪夫低通濾波器的callback為:global asglobal apglobal fsglobal

11、fpglobal y T=1 wp=pi*fp; ws=pi*fs; wp1=2*tan(wp/2); ws1=2*tan(ws/2); N,wp=cheb1ord(wp1,ws1,ap,as,'s'); B,A=cheby1(N,ap,wp,'s'); b,a=bilinear(B,A,1/T); h,w=freqz(b,a,512,'whole'); subplot(4,3,2); plot(w/pi,abs(h); axis(0,1,0,1); subplot(4,3,5); plot(0.5*w/pi,angle(h); z=filter

12、(b,a,y); ft,Wt=freqz(z,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);切比雪夫高通濾波器的callback為:只要把上面的B,A=cheby1(N,ap,wp,'s');改為B,A=cheby1(N,ap,wp,high,'s');即可(2)FIR濾波器選擇界面設(shè)計(jì):漢寧窗低通濾波器的callback為:global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs;

13、 Bt=ws-wp; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,hanning(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid on axis(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(f

14、t); subplot(4,3,6); plot(Wt/pi,angle(ft);漢寧窗高通濾波器的callback為:只要把hn=fir1(N-1,wc,hanning(N);改為hn=fir1(N-1,wc,'high',hanning(N); 即可其他窗函數(shù)只要改變此句(hn=fir1(N-1,wc,hanning(N);)里的窗口類型和ftype即可。這6種窗函數(shù)的產(chǎn)生函數(shù)和調(diào)用格式為:矩形窗: wn=boxcar(N)三角窗函數(shù): wn=bartlett(N)漢寧窗函數(shù): wn=hanning(N)哈明窗函數(shù): wn=hamming(N)布萊克曼窗函數(shù): wn=bla

15、ckman(N)凱塞窗函數(shù): wn=kaiser(N)3. 濾波器頻譜分析設(shè)計(jì): GUI界面濾波器的幅頻、相頻特性曲線輸出部分設(shè)計(jì)如下圖:當(dāng)ap=3,as=30,fp=0.1,fs=0.3時(shí):(1)巴特沃斯低通濾波器的頻譜分析為:(2)切比雪夫低通濾波器的頻譜分析為:當(dāng)ap=3,as=30,fp=0.3,fs=0.1時(shí):(1)巴特沃斯高通濾波器的頻譜分析為:(2)切比雪夫高通濾波器的頻譜分析為:當(dāng)fp=0.1,fs=0.3時(shí):(1)漢寧窗低通濾波器的頻譜分析如下:(2)哈明窗低通濾波器的頻譜分析如下:(3)矩形窗低通濾波器的頻譜分析如下:(4)凱塞窗低通濾波器的頻譜分析如下:(5)三角窗低通濾

16、波器的頻譜分析如下:(6)布萊克曼窗低通濾波器的頻譜分析如下:當(dāng)fp=0.3,fs=0.1時(shí):(1)漢寧窗高通濾波器的頻譜分析如下:(2)哈明窗高通濾波器的頻譜分析如下:(3)矩形窗高通濾波器的頻譜分析如下:(4)凱塞窗高通濾波器的頻譜分析如下:(5)三角窗高通濾波器的頻譜分析如下:(6)布萊克曼窗高通濾波器的頻譜分析如下:四、 測(cè)試信號(hào)濾波后輸出部分設(shè)計(jì):GUI界面輸出信號(hào)的幅頻、相頻特性曲線設(shè)計(jì)如下圖:(1)當(dāng)f1=200,f2=400,f3=800,f=2000,cyds=1000,ap=3,as=30,fp=0.1,fp=0.3時(shí):輸出信號(hào)的幅頻特性曲線和輸入信號(hào)的幅頻特性曲線對(duì)比可得

17、:經(jīng)過巴特沃斯低通濾波器濾波后,輸出信號(hào)的幅頻、相頻特性曲線如下圖:0.4和0.8被濾除,只剩下0.2。經(jīng)過切比雪夫低通濾波器濾波后,輸出信號(hào)的幅頻、相頻特性曲線如下圖:(2)當(dāng)f1=200,f2=400,f3=800,f=2000,cyds=1000,ap=3,as=30,fp=0.6,fp=0.5時(shí):輸出信號(hào)的幅頻特性曲線和輸入信號(hào)的幅頻特性曲線對(duì)比可得:經(jīng)過巴特沃斯高通濾波器濾波后,輸出信號(hào)的幅頻、相頻特性曲線如下圖:0.2和0.4被濾除,只剩下0.8。經(jīng)過切比雪夫高通濾波器濾波后,輸出信號(hào)的幅頻、相頻特性曲線如下圖:(3)當(dāng)f1=200,f2=400,f3=800,f=2000,cyd

18、s=1000, fp=0.1,fp=0.3時(shí):經(jīng)過漢寧窗低通濾波器濾波后,輸出信號(hào)的幅頻、相頻特性曲線如下圖:0.8和0.4被濾除,只剩下0.2。(4)當(dāng)f1=200,f2=400,f3=800,f=2000,cyds=1000, fp=0.6,fp=0.5時(shí):經(jīng)過哈明窗高通濾波器濾波后,輸出信號(hào)的幅頻、相頻特性曲線如下圖:0.2和0.4被濾除,只剩下0.8。其他窗函數(shù)濾波后的情況與以上情況類似。GUI界面整體圖設(shè)計(jì)如下圖:四、課程設(shè)計(jì)總結(jié)五、 參考文獻(xiàn)丁玉梅等.數(shù)字信號(hào)處理.西安:西安電子科技大學(xué)出版社,2002.六、 源代碼清單function varargout = GUI(vararg

19、in)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', GUI_OpeningFcn, . 'gui_OutputFcn', GUI_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_S

20、tate.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction GUI_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = GUI_OutputFcn(h

21、Object, eventdata, handles) varargout1 = handles.output;function edit16_Callback(hObject, eventdata, handles) global fp fp=str2num(get(hObject,'string')function edit18_Callback(hObject, eventdata, handles) global fs fs=str2num(get(hObject,'string');function edit18_CreateFcn(hObject,

22、eventdata, handles) global ap ap=str2num(get(hObject,'string');function edit20_Callback(hObject, eventdata, handles) global as as=str2num(get(hObject,'string');function edit23_Callback(hObject, eventdata, handles) global cyds cyds=str2num(get(hObject,'string');function edit24

23、_Callback(hObject, eventdata, handles) global f f=str2num(get(hObject,'string');function edit25_Callback(hObject, eventdata, handles) global f1 f1=str2num(get(hObject,'string');function edit27_Callback(hObject, eventdata, handles) global f2 f2=str2num(get(hObject,'string');fu

24、nction edit28_Callback(hObject, eventdata, handles) global f3 f3=str2num(get(hObject,'string');function edit28_CreateFcn(hObject, eventdata, handles)function pushbutton10_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y T=1 wp=pi*fp; ws=pi*fs; wp1=2*tan(wp/2)

25、; ws1=2*tan(ws/2); N,wc=buttord(wp1,ws1,ap,as,'s'); B,A=butter(N,wc,'s'); b,a=bilinear(B,A,1/T); h,w=freqz(b,a,512,'whole'); subplot(4,3,2); plot(w/pi,abs(h); axis(0,1,0,1); subplot(4,3,5); plot(0.5*w/pi,angle(h); z=filter(b,a,y); ft,Wt=freqz(z,512); subplot(4,3,3); plot(Wt/p

26、i,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);function pushbutton11_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y T=1 wp=pi*fp; ws=pi*fs; wp1=2*tan(wp/2); ws1=2*tan(ws/2); N,wp=cheb1ord(wp1,ws1,ap,as,'s'); B,A=cheby1(N,ap,wp,'s'); b,a=bilinear(B,

27、A,1/T); h,w=freqz(b,a,512,'whole'); subplot(4,3,2); plot(w/pi,abs(h); axis(0,1,0,1); subplot(4,3,5); plot(0.5*w/pi,angle(h); z=filter(b,a,y); ft,Wt=freqz(z,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft); function pushbutton12_Callback(hObject, eventdata, handl

28、es)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=wp-ws; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,'high',hanning(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(ang

29、le(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);function pushbutton13_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=ws-wp; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp

30、+ws)/2/pi; hn=fir1(N-1,wc,bartlett(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);function pushb

31、utton14_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=ws-wp; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,hamming(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis(0,1,-80,5) subplot(4,3,

32、5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);function pushbutton15_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=ws-wp; N0=ceil(6.2*pi/Bt

33、); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,kaiser(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi

34、,angle(ft);function pushbutton16_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=ws-wp; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,boxcar(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis

35、(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);function pushbutton17_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=

36、ws-wp; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,blackman(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft);

37、subplot(4,3,6); plot(Wt/pi,angle(ft);function pushbutton18_Callback(hObject, eventdata, handles) global y global f1 global f2 global f3 global f global cyds t=0:0.0001:1; x=100*sin(2*pi*f1*t)+100*sin(2*pi*f2*t)+100*sin(2*pi*f3*t); n=0:cyds-1; y=100*sin(2*pi*f1/f*n)+100*sin(2*pi*f2/f*n)+100*sin(2*pi*

38、f3/f*n); wk=2/cyds*(0:cyds-1); subplot(4,3,1); stem(wk,abs(fft(y),'.'); axis(0 1 0 inf); subplot(4,3,4); stem(wk,angle(fft(y),'.'); axis(0,0.1,-5,5)function pushbutton19_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y T=1 wp=pi*fp; ws=pi*fs; wp1=2*ta

39、n(wp/2); ws1=2*tan(ws/2); N,wc=buttord(wp1,ws1,ap,as,'s'); B,A=butter(N,wc,'high','s'); b,a=bilinear(B,A,1/T); h,w=freqz(b,a,512,'whole'); subplot(4,3,2); plot(w/pi,abs(h); axis(0,1,0,1); subplot(4,3,5); plot(0.5*w/pi,angle(h); z=filter(b,a,y); ft,Wt=freqz(z,512); sub

40、plot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft); function pushbutton20_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y T=1 wp=pi*fp; ws=pi*fs; wp1=2*tan(wp/2); ws1=2*tan(ws/2); N,wp=cheb1ord(wp1,ws1,ap,as,'s'); B,A=cheby1(N,ap,wp,'h

41、igh','s'); b,a=bilinear(B,A,1/T); h,w=freqz(b,a,512,'whole'); subplot(4,3,2); plot(w/pi,abs(h); axis(0,1,0,1); subplot(4,3,5); plot(0.5*w/pi,angle(h); z=filter(b,a,y); ft,Wt=freqz(z,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft); function pushbutto

42、n21_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=ws-wp; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,hanning(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid on axis(0,1,-80,5) subplot(4,3,5);

43、 plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6); plot(Wt/pi,angle(ft);function pushbutton22_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=wp-ws; N0=ceil(6.2*pi/Bt);

44、N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,'high',hamming(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=freqz(h,512); subplot(4,3,3); plot(Wt/pi,abs(ft); subplot(4,3,6

45、); plot(Wt/pi,angle(ft);function pushbutton23_Callback(hObject, eventdata, handles)global asglobal apglobal fsglobal fpglobal y wp=pi*fp; ws=pi*fs; Bt=wp-ws; N0=ceil(6.2*pi/Bt); N=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,'high',kaiser(N); h1,w1=freqz(hn,1); subplot(4,3,2); plot(w1/pi,20*log10(abs(h1);grid onaxis(0,1,-80,5) subplot(4,3,5); plot(w1/pi,20*log10(angle(h1);grid on h=conv(y,hn); ft,Wt=f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論