Êý×ÖÐźŴ¦ÀíʵÑéÖ¸µ¼Êé(DOC) ÏÂÔØ±¾ÎÄ

£¨2£© ±È½ÏÁ½ÖÖ·½·¨µÄÓÅȱµã£»

£¨3£© ÀûÓÃy=filter(b,a,x)º¯Êý¹Û²ì¶Ôʵ¼ÊÐĵçͼÐźŵÄÂ˲¨Ð§

¹û¡£

ÈËÌåÐĵçͼÐźÅÔÚ²âÁ¿¹ý³ÌÖÐÍùÍùÊܵ½¹¤Òµ¸ßƵ¸ÉÈÅ£¬ËùÒÔ±ØÐë¾­¹ýµÍͨÂ˲¨Æ÷´¦Àí¡£ÒÑ֪ijһʵ¼ÊÐĵçͼÐźŵIJÉÑùÐòÁÐÈçÏ£º

x(n)=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,2,¡­

-4,8,12,12,10,6,6,6,4,0,0,0,0,0,

-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]£¬¹²56µã

13

ʵÑéËÄ FFTƵÆ×·ÖÎö¼°Ó¦ÓÃ

Ò»¡¢ÊµÑéÄ¿µÄ£º 1£® 2£®

ͨ¹ýʵÑé¼ÓÉî¶ÔFFTµÄÀí½â£»

ÊìϤӦÓÃFFT¶ÔµäÐÍÐźŽøÐÐÆµÆ×·ÖÎöµÄ·½·¨¡£

¶þ¡¢ÊµÑéÔ­ÀíÓë·½·¨£º

ÔÚ¸÷ÖÖÐźÅÐòÁÐÖУ¬ÓÐÏÞ³¤ÐòÁÐÕ¼ÖØÒªµØÎ»¡£¶ÔÓÐÏÞ³¤ÐòÁпÉÒÔÀûÓÃÀëÉ¢¸µÁ¢Ò¶±ä»»(DFT)½øÐзÖÎö¡£DFT²»µ«¿ÉÒԺܺõķ´Ó³ÐòÁÐµÄÆµÆ×ÌØÐÔ£¬¶øÇÒÒ×ÓÚÓÿìËÙËã·¨(FFT)ÔÚ¼ÆËã»úÉϽøÐзÖÎö¡£

ÓÐÏÞ³¤ÐòÁеÄDFTÊÇÆäz±ä»»ÔÚµ¥Î»Ô²ÉϵĵȾàÀë²ÉÑù£¬»òÕß˵ÊÇÐòÁиµÁ¢Ò¶µÄµÈ¾àÀë²ÉÑù£¬Òò´Ë¿ÉÒÔÓÃÓÚÐòÁÐµÄÆÕ·ÖÎö¡£FFTÊÇDFTµÄÒ»ÖÖ¿ìËÙËã·¨£¬ËüÊǶԱ任ʽ½øÐÐÒ»´Î´Î·Ö½â£¬Ê¹Æä³ÉΪÈô¸ÉСÊý¾ÝµãµÄ×éºÏ£¬´Ó¶ø¼õÉÙÔËËãÁ¿¡£

ÔÚmatlabÐźŴ¦Àí¹¤¾ßÏäÖеĺ¯Êýfft£¨x,n£©,¿ÉÒÔÓÃÀ´ÊµÏÖÐòÁеÄNµã¿ìËÙ¸µÁ¢Ò¶±ä»»¡£

¾­º¯ÊýfftÇóµÃµÄÐòÁÐÒ»°ãÊǸ´ÐòÁУ¬Í¨³£ÒªÇó³öÆä·ùÖµºÍÏàλ¡£MATLABÖÐÌṩÁËÇó¸´ÊýµÄ·ùÖµºÍÏàλµÄº¯Êý£ºabs¡¢angle£¬ÕâЩº¯ÊýÒ»°ãºÍfftͬʱʹÓᣠÈý¡¢ÊµÑéÄÚÈÝ

14

1£®Ä£ÄâÐźÅx(t)?2sin(4?t)?5cos(8?t)£¬ÒÔt?0.01n(n?0:N?1)½øÐвÉÑù£¬Çó£º

£¨1£©N£½40µãFFTµÄ·ù¶ÈƵÆ×£¬´ÓͼÖÐÄÜ·ñ¹Û²ì³öÐźŵÄ2¸öƵÆ×·ÖÁ¿?

£¨2£©Ìá¸ß²ÉÑùµãÊý£¬ÈçN£½128£¬ÔÙÇó¸ÃÐźŵķù¶ÈƵÆ×£¬´Ëʱ·ù¶ÈƵÆ×·¢ÉúÁËʲô±ä»¯£¿ÐźŵÄ2¸öÄ£ÄâÆµÂʺÍÊý×ÖÆµÂʸ÷Ϊ¶àÉÙ£¿FFTƵÆ×·ÖÎö½á¹ûÓëÀíÂÛÉÏÊÇ·ñÒ»Ö£¿ 2£®Ò»¸öÁ¬ÐøÐźź¬Èý¸öƵÆ×·ÖÁ¿£¬¾­²ÉÑùµÃÒÔÏÂÐòÁУº

x(n)?sin(2??0.15n)?cos(2??(0.15?df)n)?cos(2??(0.15?2df)n)

£¨1£©N£½64£¬df·Ö±ðΪ116¡¢1/64£¬¹Û²ìÆäƵÆ×£»

£¨2£©N£½64¡¢128£¬dfΪ1/64£¬×ö128µãµÃFFT£¬Æä½á¹ûÓкβ»Í¬£¿ 3£®

±»ÔëÉùÎÛȾµÃÐźţ¬±È½ÏÄÑ¿´³öËù°üº¬µÃƵÂÊ·ÖÁ¿£¬ÈçÒ»

¸öÓÉ50HzºÍ120HzÕýÏÒÐźÅ

¹¹³ÉµÄÐźţ¬ÊÜÁã¾ùÖµËæ»úÔëÉùµÄ¸ÉÈÅ£¬Êý¾Ý²ÉÑùÂÊΪ1000Hz£¬ÊÔÓÃFFTº¯ÊýÀ´·ÖÎöÆäÐÅºÅÆµÂʳɷ֣¬ÒªÇ󣺣¨1£©»­³öʱÓò²¨ÐΣ»£¨2£©·ÖÎöÐźŹ¦ÂÊÆ×Ãܶȡ£

×¢£ºÔÚMATLABÖУ¬¿ÉÓú¯Êýrand£¨1£¬N£©²úÉú¾ùֵΪ0£¬·½²îΪ1£¬³¤¶ÈΪNµÄ¸ßË¹Ëæ»úÐòÁС£

ËÄ¡¢ÊµÑé³ÌÐò

15

³ÌÐò1£º N=40;n=0:N-1; t=0.01*n;

x=2*sin(4*pi*t)+5*cos(8*pi*t); k=0:N/2;w=2*pi/N*k; X=fft(x,N);

magX=abs(X(1:N/2+1));

subplot(2,1,1);stem(n,x,'.');title('signal x(n)'); subplot(2,1,2);plot(w/pi,magX);title('FFT N=40'); xlabel('f (unit :pi)');ylabel('|X|');grid

N=40 N=128

signal x(n)1050-5-10signal x(n)1050-5-1005101520FFT N=4025303540020406080100120140FFT N=128400300100|X||X|50200100000.10.20.30.40.50.6f (unit :pi)0.70.80.91000.10.20.30.40.50.6f (unit :pi)0.70.80.91

³ÌÐò2£º N=128;n=0:N-1; t=n; df=1/64;

x=sin(2*pi*0.15*t)+cos(2*pi*(0.15+df)*t)+cos(2*pi*(0.15+2*df)*t);

16