ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2024/5/20 4:24:11ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
ËÞÖÝѧԺ±ÏÒµÉè¼Æ È¥ÔëºÍ·ÂÕæµÄÑо¿
¼ÓÔëÓïÒôÐźÅʱÓò²¨ÐÎ10.5·ùÖµA0-0.5-100.20.40.60.81ʱ¼äÖá1.21.41.61.8x 1025¼ÓÔëÓïÒôÐźÅƵÆ×ͼ15001000ƵÂÊ·ùÖµ500000.51ƵÂÊHz1.522.5x 104
ͼ4 ¼ÓÔëÐźÅʱÓò²¨ÐκÍƵÆ×
ÔÙͨ¹ý¶ÔÔʼÓïÒôÐźŵĻطÅЧ¹ûÓë¼ÓÔëºóµÄÓïÒôÐźŻطŵÄЧ¹ûµÄ¶Ô±È,È˶ú¿ÉÒÔÃ÷ÏÔ±æ±ð³öÁ½ÖÖÓïÒôÐźŲ»Ò»ÑùÁË£¬¼ÓÔëºóµÄÓïÒôÐźÅÔÚÌý¾õÉϱÈÔʼÓïÒôÐźÅÒª»ë×Ǻܶ࣬¶øÇÒ»¹ÓÐÖ¨Ö¨¸Â¸ÂµÄ»ìÔÓÒô¡£
3.4 È¥Ôë¼°·ÂÕæ
(1)FIRÂ˲¨Æ÷·¨È¥Ôë
ͨ¹ý¶ÔÉÏÒ»½ÚÖмÓÔëÓïÒôÐźźÍÔʼÓïÒôÐźÅƵÆ×ͼ¶Ô±È¿ÉÒÔÖªµÀ£¬ÔëÒô´ó²¿·ÖÊÇHz´óÓÚ5000µÄ²¿·Ö£¬¹ÊÉè¼ÆµÍͨÂ˲¨Æ÷½øÐÐÂ˲¨´¦Àí¡£½ÓÏÂÀ´ÎÒÃÇÒªÓÃÉè¼ÆµÄFIRµÍͨÂ˲¨Æ÷¶ÔÉÏÒ»½ÚÖмÓÔëÓïÒôÐźŽøÐÐÂ˲¨´¦Àí¡£
ÓÃ×Ô¼ºÉè¼ÆµÄFIRÊý×ÖµÍͨÂ˲¨Æ÷¶Ô¼ÓÔëµÄÓïÒôÐźŽøÐÐÂ˲¨Ê±£¬ÔÚMatlabÖУ¬FIRÂ˲¨Æ÷ÀûÓú¯Êýfft¶ÔÐźŽøÐÐÂ˲¨¡£º¯ÊýfftÓõÄÊÇÖصþÏà¼Ó·¨ÊµÏÖÏßÐÔ¾í»ýµÄ¼ÆËã¡£µ÷ÓøñʽΪ£ºy=fft(h,x,M)¡£ÆäÖУ¬hÊÇϵͳµ¥Î»³å»÷ÏìÓ¦ÏòÁ¿£»xÊÇÊäÈëÐòÁÐÏòÁ¿£»yÊÇϵͳµÄÊä³öÐòÁÐÏòÁ¿£¬MÊÇÓÐÓû§Ñ¡ÔñµÄÊäÈëÐòÁеķֶγ¤¶È£¬È±Ê¡Ê±£¬Ä¬ÈϵÄÊäÈëÏòÁ¿µÄÖس¤¶ÈM=512¡£ ÓÃÉè¼ÆºÃµÄFIRÊý×ÖµÍͨÂ˲¨Æ÷¶Ô¼ÓÔëÓïÒôÐźŵÄÂ˲¨³ÌÐò£º
[y,fs,bits]=wavread('chushi.wav'); sound(y,fs) n=length(y) y_p=fft(y,n);
¡¤
11
ËÞÖÝѧԺ±ÏÒµÉè¼Æ È¥ÔëºÍ·ÂÕæµÄÑо¿
f=fs*(0:n/2-1)/n;figure(1) subplot(2,1,1); plot(y);
title('ÔʼÓïÒôÐźŲÉÑùºóµÄʱÓò²¨ÐÎ'); xlabel('ʱ¼äÖá') ylabel('·ùÖµA') subplot(2,1,2); plot(f,abs(y_p(1:n/2)));
title('ÔʼÓïÒôÐźŲÉÑùºóµÄƵÆ×ͼ'); xlabel('ƵÂÊHz'); ylabel('ƵÂÊ·ùÖµ'); L=length(y)
noise=0.1*randn(L,2); y_z=y+noise; sound(y_z,fs) n=length(y); y_zp=fft(y_z,n); f=fs*(0:n/2-1)/n;figure(2) subplot(2,1,1);plot(y_z); title('¼ÓÔëÓïÒôÐźÅʱÓò²¨ÐÎ'); xlabel('ʱ¼äÖá') ylabel('·ùÖµA')
subplot(2,1,2);
plot(f,abs(y_zp(1:n/2))); title('¼ÓÔëÓïÒôÐźÅƵÆ×ͼ'); xlabel('ƵÂÊHz'); ylabel('ƵÂÊ·ùÖµ'); Ft=8000; Fp=1000; Fs=1200; wp=2*Fp/Ft; ws=2*Fs/Ft; rp=1;rs=50;
p=1-10.^(-rp/20);s=10.^(-rs/20); fpts=[wp ws];
¡¤
12
ËÞÖÝѧԺ±ÏÒµÉè¼Æ È¥ÔëºÍ·ÂÕæµÄÑо¿
mag=[1 0];dev=[p s];
[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev); b21=fir1(n21,wn21,Kaiser(n21+1,beta)); [h,w]=freqz(b21,1);plot(w/pi,abs(h)); title('FIRµÍͨÂ˲¨Æ÷');x=fftfilt(b21,y_z); X=fft(x,n);figure(4);
subplot(2,2,1);plot(f,abs(y_zp(1:n/2))); title('Â˲¨Ç°ÐźŵÄƵÆ×'); subplot(2,2,2);plot(f,abs(X(1:n/2))); title('Â˲¨ºóÐźŵÄƵÆ×'); subplot(2,2,3);plot(y_z); title('Â˲¨Ç°ÐźŵÄʱÓò²¨ÐÎ') subplot(2,2,4);plot(x); title('Â˲¨ºóÐźŵÄʱÓò²¨ÐÎ') sound(x,fs,bits) ¶øºóµÃµ½Í¼ÏñÈçͼ5Ëùʾ:
Â˲¨Ç°ÐźŵÄƵÆ×150010005000150010005000Â˲¨ºóÐźŵÄƵÆ×0123401234x 10Â˲¨Ç°ÐźŵÄʱÓò²¨ÐÎ10.50-0.5-100.511.5x 10x 10Â˲¨ºóÐźŵÄʱÓò²¨ÐÎ10.50-0.525-100.511.5x 1025
ͼ5 FIRÂ˲¨Ð§¹ûͼ
¡¤
13
ËÞÖÝѧԺ±ÏÒµÉè¼Æ È¥ÔëºÍ·ÂÕæµÄÑо¿
·ÖÎö£º´ÓÒÔÉÏËÄͼµÄ±È½Ï£¬¿ÉÒÔºÜÃ÷ÏÔºÍÖ±¹ÛµÄ¿´³öÔʼÓïÒôÐźźͼÓÔëÓïÒôÐźÅʱÓò²¨ÐκÍƵÆ×ͼµÄÇø±ð¡£¼ÓÔëºóµÄÓïÒôÐźŵÄʱÓò²¨ÐαÈÔʼÓïÒôÐźÅҪģºýµÃ¶à£¬ÆµÆ×ͼÔòÊÇÔÚƵÂÊ5000HzÒÔºó³öÏÖÁËÃ÷ÏԵı仯¡£
ͨ¹ýÂ˲¨Ç°µÄÐźŲ¨ÐκÍƵÆ×ͼµÄ¶Ô±È£¬¿ÉÒÔÃ÷ÏÔ¿´³ö£¬Â˲¨ºóµÄ²¨ÐοªÊ¼±äµÃÇåÎúÁË£¬¿ªÊ¼Óеã½Ó½üÔʼÐźŵIJ¨ÐÎͼÁË¡£Â˲¨ºóÐźŵÄƵÆ×ͼҲÔÚ5000HzÒÔºó¿ªÊ¼Öð½¥½Ó½üÔʼÓïÒôÐźŵÄƵÆ×ͼ¡£
ÔÙ´Ó¶ÔÓïÒôÐźŵĻطţ¬È˶ú¿ÉÒÔ±æ±ð³ö¼ÓÔëºóµÄÓïÒôÐźűȽϻë×Ç£¬»¹ÓкÜÃ÷ÏÔ¸ÂÖ¨¸ÂÖ¨µÄÔÓÒôÔÚÀïÃæ¡£Â˲¨ºó£¬ÓïÒôÐźŽϼÓÔëºóµÄÐźÅÓÐÁËÃ÷ÏԵĸÄÉÆ£¬»ù±¾¿ÉÒÔÌýÇå³þÁË£¬¶øÇÒÔÓÒôҲûÓÐÄÇôǿÁÒ£¬µ«ÊÇÉùÒôÒÀȻûÓÐÔʼÓïÒôÐźÅÄÇôÇåÎú´à¶ú¡£ (2£©IIRÂ˲¨Æ÷·¨È¥Ôë
ͬÑù£¬Ò²Éè¼ÆÒ»¸öIIRµÍͨÂ˲¨Æ÷¶Ô¼ÓÔëÓïÒôÐźŽøÐÐÄÚ²¿´¦Àí£¬³ÌÐòÈçÏ£º Ft=8000; Fp=1000; Fs=1200; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Ft*tan(wp/2); fs=2*Fs*tan(wp/2);
[n11,wn11]=buttord(wp,ws,1,50,¡®s'); %ÇóµÍͨÂ˲¨Æ÷µÄ½×ÊýºÍ½ØֹƵÂÊ [b11,a11]=butter(n11,wn11,'s'); %ÇóSÓòµÄƵÂÊÏìÓ¦µÄ²ÎÊý
[num11,den11]=bilinear(b11,a11,0.5); %Ë«ÏßÐԱ任ʵÏÖSÓòµ½ZÓòµÄ±ä»» [h,w]=freqz(num11,den11); %¸ù¾Ý²ÎÊýÇó³öƵÂÊÏìÓ¦ plot(w*8000*0.5/pi,abs(h)); legend('ÓÃbutterÉè¼Æ'); grid;
[y,fs,nbits]=wavread ('BYSJ.wav');
n=length(y)£» %Çó³öÓïÒôÐźŵij¤¶È noise=0.01*randn(n,2); %Ëæ»úº¯Êý²úÉúÔëÉù s=y+noise; %ÓïÒôÐźżÓÈëÔëÉù S=fft(s); %¸µÀïÒ¶±ä»» z11=filter(num11,den11,s); sound(z11);
m11=fft(z11); %ÇóÂ˲¨ºóµÄÐźŠsubplot(2,2,1);
¡¤
14
ËÞÖÝѧԺ±ÏÒµÉè¼Æ È¥ÔëºÍ·ÂÕæµÄÑо¿
plot(abs(S),'g');
title('Â˲¨Ç°ÐźŵÄƵÆ×'); grid;
subplot(2,2,2); plot(abs(m11),'r'); title('Â˲¨ºóÐźŵÄƵÆ×'); grid;
subplot(2,2,3); plot(s);
title('Â˲¨Ç°ÐźŵIJ¨ÐÎ'); grid;
subplot(2,2,4); plot(z11);
title('Â˲¨ºóµÄÐźŲ¨ÐÎ'); µÃµ½Í¼ÏñÈçÏ£º
Â˲¨Ç°ÐźŵÄƵÆ×150010005000150010005000Â˲¨ºóÐźŵÄƵÆ×00.511.5x 102500.511.5x 1025Â˲¨Ç°ÐźŵIJ¨ÐÎ10.50-0.5-100.511.5x 1025Â˲¨ºóµÄÐźŲ¨ÐÎ10.50-0.5-100.511.5x 1025ͼ6 IIRÂ˲¨Ð§¹ûͼ
ͨ¹ýÔËÐгÌÐò£¬ÎÒÃÇ¿ÉÒÔÌý³ö£¬Â˲¨Ð§¹ûºÜ²»ºÃ£¬Ê§ÕæÏÖÏóÑÏÖØ£¬²¢ÇÒ³öÏÖÁËÑÏÖصļÄÉúÕðµ´,»ù±¾ÎÞ·¨·Ö±æ³öÔÓïÒôÐźš£
¡¤
15