%{---------------------------------------------------------------------------
File:Matlab的窗函數,矩形窗
功能:降低旁瓣水平參數: --------------------------------------------------------------------------- %}%N =51 %==========================================================================%求矩形窗的頻率響應圖 %==========================================================================W = linspace(-pi,pi,4096);wn0 = rectwin(51) %矩形窗函數 %20*log10(abs(WN)) [h1,w0] = freqz(wn0,1,W); %subplotfigure(5,1,1); subplot(511);plot(w0/pi,20*log10(abs(h1/max(h1)))); axis([-1 1 -100 0]); xlabel('歸一化頻率 /\pi'); ylabel('20log_{10}|W(e^{j\omega})| /dB'); title('矩形窗的傅里葉變換'); set(gca,'YTick',[-100 -80 -60 -40 -20 0]) set(gca,'XTick',[-1 :0.2: 1]) %set(gca,'XAxisLocation','top');%設置X軸在上方 %set(gca,'XAxisLocation','buttom');%設置X軸在下方 set(gca,'YAxisLocation','left'); %設置Y軸在左方 text(1,-124,'\pi');%gtext('\pi');%==========================================================================%求三角窗的頻率響應圖 %==========================================================================wn1 = bartlett(51)[h1,w1] = freqz(wn1,1,W); %figure(5,1,2); subplot(512);plot(w1/pi,20*log10(abs(h1/max(h1)))); %plot(w/pi,20*log10(h1/max(h1))); % 警告: 復數 X 和/或 Y 參數的虛部已忽略 axis([-1 1 -100 0]); xlabel('歸一化頻率 /\pi'); ylabel('20log_{10}|W(e^{j\omega})| /dB'); title('三角窗的傅里葉變換'); set(gca,'YTick',[-100 -80 -60 -40 -20 0]) set(gca,'XTick',[-1 :0.2: 1]) %set(gca,'XAxisLocation','top');%設置X軸在上方 set(gca,'YAxisLocation','left'); %設置Y軸在左方 text(1,-124,'\pi');%gtext('\pi');%==========================================================================%hanning 窗的頻率響應圖 %==========================================================================wn2 = hanning(51) [h1,w2] = freqz(wn2,1,W); %figure(5,1,3); subplot(513);plot(w2/pi,20*log10(abs(h1/max(h1)))); axis([-1 1 -100 0]); xlabel('歸一化頻率 /\pi'); ylabel('20log_{10}|W(e^{j\omega})| /dB'); title('Hanning的傅里葉變換');set(gca,'YTick',[-100 -80 -60 -40 -20 0]); set(gca,'XTick',[-1 :0.2: 1]); %set(gca,'XAxisLocation','top');%設置X軸在上方 set(gca,'YAxisLocation','left'); %設置Y軸在左方 text(1,-124,'\pi');%gtext('\pi');%==========================================================================%hamming 窗的頻率響應圖 %==========================================================================wn3 = hamming(51) [h1,w3] = freqz(wn3,1,W); %離散系統頻響特性的函數freqz()%figure(5,1,4); subplot(514);plot(w3/pi,20*log10(abs(h1/max(h1)))); axis([-1 1 -100 0]); xlabel('歸一化頻率 /\pi'); ylabel('20log_{10}|W(e^{j\omega})| /dB'); title('Hamming的傅里葉變換');set(gca,'YTick',[-100 -80 -60 -40 -20 0]) set(gca,'XTick',[-1 :0.2: 1]) %set(gca,'XAxisLocation','top');%設置X軸在上方 set(gca,'YAxisLocation','left'); %設置Y軸在左方 text(1,-124,'\pi');%gtext('\pi');%==========================================================================%Blackman wn1 = blackman(51) %==========================================================================wn4 = blackman(51)[h1,w4] = freqz(wn4,1,W); %figure(5,1,5); subplot(515);plot(w4/pi,20*log10(abs(h1/max(h1)))); axis([-1 1 -100 0]); xlabel('歸一化頻率 /\pi'); ylabel('20log_{10}|W(e^{j\omega})| /dB'); title('Blackman的傅里葉變換'); set(gca,'YTick',[-100 -80 -60 -40 -20 0]) set(gca,'XTick',[-1 :0.2: 1]) %set(gca,'XAxisLocation','top');%設置X軸在上方 set(gca,'YAxisLocation','left'); %設置Y軸在左方 text(1,-124,'\pi');%gtext('\pi');