ÐÔ');
subplot(2,2,3),plot(angle(YY3));xlabel('ʱ¼ä/s');ylabel('Ïàλ');title('blackman´°º¯ÊýÂ˲¨ÏàÎ»ÌØÐÔ');
subplot(2,2,4),plot(angle(YY4));xlabel('ʱ¼ä/s');ylabel('Ïàλ');title('kaiser´°º¯ÊýÂ˲¨ÏàÎ»ÌØÐÔ');
3.·Ö±ðÉè¼Æhanning hamming blackman kaiser´°º¯Êýhighpass_FIR function highpassfilter clc;
clear all;
Fs=100;%²ÉÑùƵÂÊ
fs=35;%¸ßͨ×è´øÄ£Äâ½ØÖ¹ÆµÂÊ fp=40;%¸ßͨͨ´øÄ£ÄâÆðʼƵÂÊ ws=2*pi*fs/Fs; wp=2*pi*fp/Fs; wn=(wp+ws)/2/pi; Bt=wp-ws;
N0=ceil(55*pi/Bt); N=N0+mod(N0+1,2); %µ÷Óô°º¯Êý
window1=hanning(N); window2=hamming(N); window3=blackman(N);
[n,Wn,beta,ftype]=kaiserord([35,40],[0 1],[0.01 0.01],100); window4=kaiser(n+1,beta); %Éè¼Æ¼Ó´°º¯Êýfir1
b1=fir1(N-1,wn,'high',window1); b2=fir1(N-1,wn,'high',window2); b3=fir1(N-1,wn,'high',window3);
b4=fir1(n,Wn,'high',window4 ,'noscale'); %ÇóȡƵÂÊÏìÓ¦
[H1,W1]=freqz(b1,1,512,2); [H2,W2]=freqz(b2,1,512,2); [H3,W3]=freqz(b3,1,512,2); [H4,W4]=freqz(b4,1,512,2);
figure(1);
subplot(2,2,1),plot(W1,20*log10(abs(H1)));%»æÖÆÆµÂÊÏìӦͼÐÎ axis([0,1,-100,100]);
title('¸ßͨhanning´°µÄƵÂÊÏìӦͼÐÎ'); xlabel('ƵÂÊ£¨Hz)'); ylabel('·ùÖµ');
subplot(2,2,2),plot(W2,20*log10(abs(H2)));%»æÖÆÆµÂÊÏìӦͼÐÎ axis([0,1,-100,100]);
title('¸ßͨhamming´°µÄƵÂÊÏìӦͼÐÎ'); xlabel('ƵÂÊ£¨Hz)'); ylabel('·ùÖµ');
subplot(2,2,3),plot(W3,20*log10(abs(H3)));%»æÖÆÆµÂÊÏìӦͼÐÎ axis([0,1,-100,100]);
title('¸ßͨblackman´°µÄƵÂÊÏìӦͼÐÎ'); xlabel('ƵÂÊ£¨Hz)'); ylabel('·ùÖµ');
subplot(2,2,4),plot(W4,20*log10(abs(H4)));%»æÖÆÆµÂÊÏìӦͼÐÎ axis([0,1,-100,100]);
title(' ¸ßͨkaiser´°µÄƵÂÊÏìӦͼÐÎ'); xlabel('ƵÂÊ£¨Hz)'); ylabel('·ùÖµ');
T=1/Fs;
L=100;%Ðźų¤¶È
t=(0:L-1)*T;%¶¨Òåʱ¼ä·¶Î§ºÍ²½³¤
y=sin(2*pi*5*t)+5*sin(2*pi*15*t)+8*sin(2*pi*40*t);%Â˲¨Ç°µÄͼÐÎ NFFT = 2^nextpow2(L); % Next power of 2 from length of y Y = fft(y,NFFT)/L;%½«Ê±ÓòÐźű任µ½ÆµÓò f = Fs/2*linspace(0,1,NFFT/2+1);%ƵÓò²ÉÑù figure(2);
plot(f,2*abs(Y(1:NFFT/2+1)));xlabel('frequency/Hz');ylabel('Amuplitude') ;%Â˲¨Ç°ÆµÆ× title('Â˲¨Ç°µÄƵÆ×');
%Â˲¨ºóƵÆ×
%²ÉÓÃhanning´°Â˲¨Æ÷
yy1=filter(b1,1,y);%µ÷ÓÃÂ˲¨º¯Êý
YY1=fft(yy1,NFFT)/L;%½øÐиµÀïÒ¶±ä»»£¬ÏÂͬ¡£ f1=Fs/2*linspace(0,1,NFFT/2+1); figure(3);
subplot(2,2,1),plot(f1,2*abs(YY1(1:NFFT/2+1))) ;xlabel('frequency/Hz');ylabel('Amuplitude'); title('hanning´°µÄÂ˲¨Ð§¹û'); %²ÉÓÃhammning´°Â˲¨Æ÷ yy2=filter(b2,1,y);
YY2=fft(yy2,NFFT)/L;
f1=Fs/2*linspace(0,1,NFFT/2+1);
subplot(2,2,2),plot(f1,2*abs(YY2(1:NFFT/2+1))) ;xlabel('frequency/Hz');ylabel('Amuplitude'); title('hamming´°µÄÂ˲¨Ð§¹û');
%²ÉÓÃblackman´°Â˲¨Æ÷ yy3=filter(b3,1,y);
YY3=fft(yy3,NFFT)/L;
f1=Fs/2*linspace(0,1,NFFT/2+1);
subplot(2,2,3), plot(f1,2*abs(YY3(1:NFFT/2+1))) ;xlabel('frequency/Hz');ylabel('Amuplitude'); title('blackman´°µÄÂ˲¨Ð§¹û'); %²ÉÓÃkaiser´°Â˲¨Æ÷ yy4=filter(b4,1,y);
YY4=fft(yy4,NFFT)/L;
f1=Fs/2*linspace(0,1,NFFT/2+1);
subplot(2,2,4),plot(f1,2*abs(YY4(1:NFFT/2+1))) ;xlabel('frequency/Hz');ylabel('Amuplitude'); xlabel('frequency/Hz');ylabel('Amuplitude'); title('kaiser´°º¯ÊýÂ˲¨Ð§¹û');
%Â˲¨Ç°ºóµÄÐźŵÄʱÓò¶Ô±È figure(4);
plot(y);xlabel('ʱ¼ä/s');ylabel('Õñ·ù');title('Â˲¨Ç°Õñ·ùÌØÐÔ'); figure(5);
subplot(2,2,1),plot(yy1);xlabel('ʱ¼ä/s');ylabel('Õñ·ù');title('hanning´°º¯ÊýÂ˲¨Õñ·ùÌØÐÔ'); subplot(2,2,2),plot(yy2);xlabel('ʱ¼ä/s');ylabel('Õñ·ù');title('hamming´°º¯ÊýÂ˲¨Õñ·ùÌØÐÔ'); subplot(2,2,3),plot(yy3);xlabel('ʱ¼ä/s');ylabel('Õñ·ù');title('blackman´°º¯ÊýÂ˲¨Õñ·ùÌØÐÔ'); subplot(2,2,4),plot(yy4);xlabel('ʱ¼ä/s');ylabel('Õñ·ù');title('kaiser´°º¯ÊýÂ˲¨Õñ·ùÌØÐÔ'); %Â˲¨Ç°ºóµÄÐźŵÄÏàλ¶Ô±È figure(6);
plot(angle(Y));xlabel('ʱ¼ä/s');ylabel('Ïàλ');title('Â˲¨Ç°µÄÏàÎ»ÌØÐÔ'); figure(7);
subplot(2,2,1),plot(angle(YY1));xlabel('ʱ¼ä/s');ylabel('Ïàλ');title('hanning´°º¯ÊýÂ˲¨ÏàÎ»ÌØÐÔ');
subplot(2,2,2),plot(angle(YY2));xlabel('ʱ¼ä/s');ylabel('Ïàλ');title('hamming´°º¯ÊýÂ˲¨ÏàÎ»ÌØÐÔ');
subplot(2,2,3),plot(angle(YY3));xlabel('ʱ¼ä/s');ylabel('Ïàλ');title('blackman´°º¯ÊýÂ˲¨ÏàÎ»ÌØÐÔ');
subplot(2,2,4),plot(angle(YY4));xlabel('ʱ¼ä/s');ylabel('Ïàλ');title('kaiser´°º¯ÊýÂ˲¨ÏàÎ»ÌØÐÔ');
Èý¡¢ÔËÐнá¹û
1.¸ø¶¨µÄ¼òгÐźţº
y?sin(2?f1t)?5sin(2?f2t)?8sin(2?f3t)ÆäÖÐf1?5Hz£¬f2?15Hz£¬f3?40Hz
ͼһ£ºÊäÈë¼òгÐźÅÂ˲¨Ç°µÄƵÆ×
Â˲¨Ç°µÄƵÆ×8765Amuplitude43210051015202530frequency/Hz35404550 ͼ¶þ£ºÊäÈë¼òгÐźÅÂ˲¨Ç°µÄÕñ·ù Â˲¨Ç°Õñ·ùÌØÐÔ15105Õñ·ù0-5-10-1501020304050ʱ¼ä/s60708090100 ͼÈý£ºÊäÈë¼òгÐźÅÂ˲¨Ç°µÄÏàλ

