ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á

QQ怬

Ö»ÐèÒ»²½£¬¿ìËÙ¿ªÊ¼

ËÑË÷
²é¿´: 5688|»Ø¸´: 0
ÊÕÆð×ó²à

ÓÃÆµÂʲÉÑù·¨Éè¼ÆFIRÊý×ÖÂ˲¨Æ÷

[¸´ÖÆÁ´½Ó]
ID:268646 ·¢±íÓÚ 2017-12-28 22:31 | ÏÔʾȫ²¿Â¥²ã |ÔĶÁģʽ
1)     ÆµÂʲÉÑù·¨
ƵÂʲÉÑù·¨ÊÇ´ÓÆµÓò³ö·¢£¬½«¸ø¶¨µÄÀíÏëÆµÂÊÏìÓ¦Hd(ejw)¼ÓÒԵȼä¸ô²ÉÑù£¬µÃµ½
                              
È»ºóÒÔ´ËHd(k)×÷Ϊʵ¼ÊFIRÊý×ÖÂ˲¨Æ÷µÄƵÂÊÌØÐԵIJÉÑùÖµH(k),¼´Áî
  
ÓÉH(k)ͨ¹ýIDFT¿ÉµÃÓÐÏÞ³¤ÐòÁÐh(n)Ϊ
½«ÉÏʽ´úÈëµ½Z±ä»»ÖпɵÃ
  
ʽÖУ¬   ÎªÄڲ庯Êý£¬ÓÐ
2)        ÆµÂʲÉÑù·¨µÄÓÅ»¯Éè¼Æ
ΪÁËÌá¸ß×è´øµÄË¥¼õ£¬¼õСͨ´øµÄ²¨¶¯£¬¿ÉÒÔ²ÉÓÃÆµÂʲÉÑùµÄÓÅ»¯Éè¼Æ·¨£¬¼´ÔÚ¼ä¶ÏµãÇø¼äÄÚ²åÒ»¸ö»ò¼¸¸ö¹ý¶É´ø²ÉÑùµã¡£
¹ý¶É´ø²ÉÑùµãµÄ¸öÊýmÓëÂ˲¨Æ÷×è´ø×îС˥¼õ   µÄ¾­ÑéÊý¾ÝÈçϱíËùʾ£¬¿ÉÒÔ¸ù¾Ý¸ø¶¨µÄ×è´ø×îС˥¼õ   À´Ñ¡Ôñ¹ý¶É´ø²ÉÑùµã¸öÊým¡£
Ôö¼Ó¹ý¶É´ø²ÉÑùµã¿ÉÒÔʹͨ´øºÍ×è´øÄÚ²¨ÎÆ·ù¶È¼õС¡£µ±NÈ·¶¨Ê±£¬mÔ½´ó£¬¹ý¶É´øÔ½¿í¡£Èç¹û¸ø¶¨¹ý¶É´ø¿í¶È   £¬Â˲¨Æ÷³¤¶ÈN±ØÐëÂú×ãÈçϹÀË㹫ʽ£º
   
¶þ¡¢ÊµÑé²½ÖèÓë½á¹û
1¡¢  ÈÏÕæÔĶÁ²¢ÊäÈëʵÑéÔ­ÀíÓë·½·¨ÖнéÉܵÄÀý×Ó£¬¹Û²ìÊä³öÊý¾ÝºÍͼÐΣ¬Àí½âÿһÌõÓï¾äµÄº¬Òå¡£
T=0.38;
datB=pi/16;wc=pi/3;
m=1;N=(m+1)*2*pi/datB+1;
N=N+mod((N+1),2);
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
Ak(Np+2)=T;Ak(N-Np)=T;
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);
axis([0,2,-0.1,1.2]);title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);
axis([0,65,-0.2,0.5]);title('ÀíÏ뵥λÂö³åÏìÓ¦');
xlabel('n');ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);title('ʵ¼Ê·ùƵÏìÓ¦');
subplot(2,2,4),plot(wk/pi,20*log10(abs(Hgw)));
axis([0,1,-70,10]);title('ʵ¼ÊËðºÄº¯Êý');
2¡¢ÓÃÆµÂʲÉÑù·¨Éè¼ÆÒ»¸öFIRÊý×ÖµÍͨÂ˲¨Æ÷£¬3dB½ØÖ¹ÆµÂÊwp=0.4p£¬²ÉÑùµãÊý·Ö±ðÈ¡N=21ºÍN=16£¬·Ö±ðÏÔʾÀíÏ롢ʵ¼Ê·ùÆµÌØÐÔºÍÂö³åÏìÓ¦ÇúÏߣ¬¹Û²ì²ÉÑùµãÊý¶ÔÂ˲¨Æ÷ÌØÐÔµÄÓ°Ïì¡£
wc=0.4*pi;datB=4*pi/21;
m=1;N=(m+1)*2*pi/datB+1;
N=N+mod((N+1),2);
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);
axis([0,2,-0.1,1.2]);
title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);
axis([0,65,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');
xlabel('n');
ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);
title('ʵ¼Ê·ùƵÏìÓ¦');
clear;
T=0.38;
wc=0.4*pi;
N=21;  
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
Ak(Np+2)=T;Ak(N-Np)=T;
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);axis([0,2,-0.1,1.2]);title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);axis([0,N+2,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');xlabel('n');ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);title('ʵ¼Ê·ùƵÏìÓ¦');
subplot(2,2,4),plot(wk/pi,20*log10(abs(Hgw)));
axis([0,1,-70,10]);title('ʵ¼ÊËðºÄº¯Êý');
wc=0.4*pi;datB=4*pi/61;
m=1;N=(m+1)*2*pi/datB+1;
N=N+mod((N+1),2);
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);
axis([0,2,-0.1,1.2]);
title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);
axis([0,65,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');
xlabel('n');
ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);
title('ʵ¼Ê·ùƵÏìÓ¦');
3¡¢ÔÚµÚ(2)ÌâµÄÒªÇóÏ¡£ÔÙÔÚ¹ý¶É´øÖÐÔö¼ÓÒ»¸ö²ÉÑùµãT£¬È¡Öµ0.38.ÒªÇóÏÔʾ·ùÆµÌØÐÔÇúÏߣ¬¹Û²ìÔö¼Ó¹ý¶É´ø²ÉÑùµãºó¶ÔÂ˲¨Æ÷ÌØÐÔµÄÓ°Ïì¡£
³ÌÐòÈçÏ£º
T=0.38;
wc=0.4*pi;
N=61;  
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
Ak(Np+2)=T;Ak(N-Np)=T;
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);axis([0,2,-0.1,1.2]);title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);axis([0,N+2,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');xlabel('n');ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
1)     ÆµÂʲÉÑù·¨
ƵÂʲÉÑù·¨ÊÇ´ÓÆµÓò³ö·¢£¬½«¸ø¶¨µÄÀíÏëÆµÂÊÏìÓ¦Hd(ejw)¼ÓÒԵȼä¸ô²ÉÑù£¬µÃµ½
                              
È»ºóÒÔ´ËHd(k)×÷Ϊʵ¼ÊFIRÊý×ÖÂ˲¨Æ÷µÄƵÂÊÌØÐԵIJÉÑùÖµH(k),¼´Áî
  
ÓÉH(k)ͨ¹ýIDFT¿ÉµÃÓÐÏÞ³¤ÐòÁÐh(n)Ϊ
½«ÉÏʽ´úÈëµ½Z±ä»»ÖпɵÃ
  
ʽÖУ¬   ÎªÄڲ庯Êý£¬ÓÐ
2)        ÆµÂʲÉÑù·¨µÄÓÅ»¯Éè¼Æ
ΪÁËÌá¸ß×è´øµÄË¥¼õ£¬¼õСͨ´øµÄ²¨¶¯£¬¿ÉÒÔ²ÉÓÃÆµÂʲÉÑùµÄÓÅ»¯Éè¼Æ·¨£¬¼´ÔÚ¼ä¶ÏµãÇø¼äÄÚ²åÒ»¸ö»ò¼¸¸ö¹ý¶É´ø²ÉÑùµã¡£
¹ý¶É´ø²ÉÑùµãµÄ¸öÊýmÓëÂ˲¨Æ÷×è´ø×îС˥¼õ   µÄ¾­ÑéÊý¾ÝÈçϱíËùʾ£¬¿ÉÒÔ¸ù¾Ý¸ø¶¨µÄ×è´ø×îС˥¼õ   À´Ñ¡Ôñ¹ý¶É´ø²ÉÑùµã¸öÊým¡£
Ôö¼Ó¹ý¶É´ø²ÉÑùµã¿ÉÒÔʹͨ´øºÍ×è´øÄÚ²¨ÎÆ·ù¶È¼õС¡£µ±NÈ·¶¨Ê±£¬mÔ½´ó£¬¹ý¶É´øÔ½¿í¡£Èç¹û¸ø¶¨¹ý¶É´ø¿í¶È   £¬Â˲¨Æ÷³¤¶ÈN±ØÐëÂú×ãÈçϹÀË㹫ʽ£º
   
¶þ¡¢ÊµÑé²½ÖèÓë½á¹û
1¡¢  ÈÏÕæÔĶÁ²¢ÊäÈëʵÑéÔ­ÀíÓë·½·¨ÖнéÉܵÄÀý×Ó£¬¹Û²ìÊä³öÊý¾ÝºÍͼÐΣ¬Àí½âÿһÌõÓï¾äµÄº¬Òå¡£
T=0.38;
datB=pi/16;wc=pi/3;
m=1;N=(m+1)*2*pi/datB+1;
N=N+mod((N+1),2);
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
Ak(Np+2)=T;Ak(N-Np)=T;
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);
axis([0,2,-0.1,1.2]);title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);
axis([0,65,-0.2,0.5]);title('ÀíÏ뵥λÂö³åÏìÓ¦');
xlabel('n');ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);title('ʵ¼Ê·ùƵÏìÓ¦');
subplot(2,2,4),plot(wk/pi,20*log10(abs(Hgw)));
axis([0,1,-70,10]);title('ʵ¼ÊËðºÄº¯Êý');
2¡¢ÓÃÆµÂʲÉÑù·¨Éè¼ÆÒ»¸öFIRÊý×ÖµÍͨÂ˲¨Æ÷£¬3dB½ØÖ¹ÆµÂÊwp=0.4p£¬²ÉÑùµãÊý·Ö±ðÈ¡N=21ºÍN=16£¬·Ö±ðÏÔʾÀíÏ롢ʵ¼Ê·ùÆµÌØÐÔºÍÂö³åÏìÓ¦ÇúÏߣ¬¹Û²ì²ÉÑùµãÊý¶ÔÂ˲¨Æ÷ÌØÐÔµÄÓ°Ïì¡£
wc=0.4*pi;datB=4*pi/21;
m=1;N=(m+1)*2*pi/datB+1;
N=N+mod((N+1),2);
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);
axis([0,2,-0.1,1.2]);
title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);
axis([0,65,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');
xlabel('n');
ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);
title('ʵ¼Ê·ùƵÏìÓ¦');
clear;
T=0.38;
wc=0.4*pi;
N=21;  
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
Ak(Np+2)=T;Ak(N-Np)=T;
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);axis([0,2,-0.1,1.2]);title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);axis([0,N+2,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');xlabel('n');ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);title('ʵ¼Ê·ùƵÏìÓ¦');
subplot(2,2,4),plot(wk/pi,20*log10(abs(Hgw)));
axis([0,1,-70,10]);title('ʵ¼ÊËðºÄº¯Êý');
wc=0.4*pi;datB=4*pi/61;
m=1;N=(m+1)*2*pi/datB+1;
N=N+mod((N+1),2);
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);
axis([0,2,-0.1,1.2]);
title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);
axis([0,65,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');
xlabel('n');
ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);
title('ʵ¼Ê·ùƵÏìÓ¦');
3¡¢ÔÚµÚ(2)ÌâµÄÒªÇóÏ¡£ÔÙÔÚ¹ý¶É´øÖÐÔö¼ÓÒ»¸ö²ÉÑùµãT£¬È¡Öµ0.38.ÒªÇóÏÔʾ·ùÆµÌØÐÔÇúÏߣ¬¹Û²ìÔö¼Ó¹ý¶É´ø²ÉÑùµãºó¶ÔÂ˲¨Æ÷ÌØÐÔµÄÓ°Ïì¡£
³ÌÐòÈçÏ£º
T=0.38;
wc=0.4*pi;
N=61;  
Np=fix(wc/(2*pi/N));
Ns=N-2*Np-1;
Ak=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
Ak(Np+2)=T;Ak(N-Np)=T;
thetak=-pi*(N-1)*(0:N-1)/N;
Hk=Ak.*exp(j*thetak);
hn=real(ifft(Hk));
Hw=fft(hn,1024);
wk=2*pi*[0:1023]/1024;
Hgw=Hw.*exp(j*wk*(N-1)/2);
wa=[0:N-1]/N*2;
subplot(2,2,1),plot(wa,Ak);axis([0,2,-0.1,1.2]);title('ÀíÏë·ùƵÏìÓ¦');
subplot(2,2,2),plot(hn);axis([0,N+2,-0.2,0.5]);
title('ÀíÏ뵥λÂö³åÏìÓ¦');xlabel('n');ylabel('h(n)');
subplot(2,2,3),plot(wk/pi,abs(Hgw));
axis([0,2,-0.1,1.2]);title('ʵ¼Ê·ùƵÏìÓ¦');
subplot(2,2,4),plot(wk/pi,20*log10(abs(Hgw)));
axis([0,1,-70,10]);title('ʵ¼ÊËðºÄº¯Êý');
Èý¡¢   ÊµÑé·ÖÎö×ܽá
ͨ¹ý±¾´ÎʵÑ飬ÎÒ¶Ô¶ÔÆµÂʲÉÑù·¨Éè¼ÆFIR Êý×ÖÂ˲¨Æ÷µÄ»ù±¾Ô­ÀíµÄÀí½â£¬ÕÆÎÕÁËÔÚÆµÓòÓÅ»¯Éè¼ÆFIRÊý×ÖÂ˲¨Æ÷µÄ·½·¨£¬Ò²Á˽âMATLABÉè¼ÆFIRÊý×ÖÂ˲¨Æ÷µÄ±à³Ì·½·¨¡£¶ÔÏàλFIRÂ˲¨Æ÷µÄ·öÆ¶ÌØÐÔºÍÏàÆµÌØÐÔ¸ü¼ÓÊìϤ£¬¼ÓÉîÁËÎÒ¶Ô´°º¯Êý·¨Éè¼Æ FIRÊý×ÖÂ˲¨Æ÷µÄ»ù±¾Ô­ÀíµÄÀí½â¡£Á˽â ÁËMATLAB Óйش°º¯Êý·¨Éè¼ÆµÄ×Óº¯ÊýÒÔ¼°¸÷ÖÖ²»Í¬´°º¯Êý¶ÔÂ˲¨Æ÷ÐÔÄܵÄÓ°Ïì¡£
axis([0,2,-0.1,1.2]);title('ʵ¼Ê·ùƵÏìÓ¦');
subplot(2,2,4),plot(wk/pi,20*log10(abs(Hgw)));
axis([0,1,-70,10]);title('ʵ¼ÊËðºÄº¯Êý');
Èý¡¢   ÊµÑé·ÖÎö×ܽá
ͨ¹ý±¾´ÎʵÑ飬ÎÒ¶Ô¶ÔÆµÂʲÉÑù·¨Éè¼ÆFIR Êý×ÖÂ˲¨Æ÷µÄ»ù±¾Ô­ÀíµÄÀí½â£¬ÕÆÎÕÁËÔÚÆµÓòÓÅ»¯Éè¼ÆFIRÊý×ÖÂ˲¨Æ÷µÄ·½·¨£¬Ò²Á˽âMATLABÉè¼ÆFIRÊý×ÖÂ˲¨Æ÷µÄ±à³Ì·½·¨¡£¶ÔÏàλFIRÂ˲¨Æ÷µÄ·öÆ¶ÌØÐÔºÍÏàÆµÌØÐÔ¸ü¼ÓÊìϤ£¬¼ÓÉîÁËÎÒ¶Ô´°º¯Êý·¨Éè¼Æ FIRÊý×ÖÂ˲¨Æ÷µÄ»ù±¾Ô­ÀíµÄÀí½â¡£Á˽â ÁËMATLAB Óйش°º¯Êý·¨Éè¼ÆµÄ×Óº¯ÊýÒÔ¼°¸÷ÖÖ²»Í¬´°º¯Êý¶ÔÂ˲¨Æ÷ÐÔÄܵÄÓ°Ïì¡£
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

СºÚÎÝ|51ºÚµç×ÓÂÛ̳ |51ºÚµç×ÓÂÛ̳6Ⱥ QQ ¹ÜÀíÔ±QQ:125739409;¼¼Êõ½»Á÷QQȺ281945664

Powered by µ¥Æ¬»ú½Ì³ÌÍø

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí