µ±Ç°Î»ÖãºÊ×Ò³ > matlabÐźÅÓëϵͳʵÑ鱨¸æ
ʵÑé¶þ ÀûÓÃDFT·ÖÎöÀëÉ¢ÐÅºÅÆµÆ×
Ò»¡¢ ʵÑéÄ¿µÄ
Ó¦ÓÃÀëÉ¢¸µÀïÒ¶±ä»»£¨DFT£©£¬·ÖÎöÀëÉ¢ÐÅºÅµÄÆµÆ×¡£Éî¿ÌÀí½âDFT·ÖÎöÀëÉ¢ÐÅºÅÆµÆ×µÄÔÀí£¬ÕÆÎÕ¸ÄÉÆ·ÖÎö¹ý³ÌÖвúÉúµÄÎó²îµÄ·½·¨¡£ ¶þ¡¢ ʵÑéÔÀí
¸ù¾ÝÐźŸµÀïÒ¶±ä»»½¨Á¢µÄʱÓòÓëÆµÓòÖ®¼äµÄ¶ÔÓ¦¹ØÏµ£¬¿ÉÒԵõ½ÓÐÏÞ³¤ÐòÁеÄÀëÉ¢¸µÀïÒ¶±ä»»£¨DFT£©ÓëËÄÖÖÈ·¶¨ÐźŸµÀïÒ¶±ä»»Ö®¼äµÄ¹ØÏµ£¨¼û½Ì²Ä£©£¬ÊµÏÖÓÉDFT·ÖÎöÆäƵÆ×¡£ Èý¡¢ ʵÑéÄÚÈÝ
1. ÀûÓÃFFT·ÖÎöÐźÅx(n)?cos(3?8n),n?0,1,...,31µÄƵÆ×£»
£¨1£©¡¢È·¶¨DFT¼ÆËãµÄ²ÎÊý£»±¾ÌâÖЦ¸/2¦Ð=3/16,ÔòÖÜÆÚN=16,ÒòΪ±¾ÌâÐźÅÎÞÖ±Á÷·ÖÁ¿£¬ËùÒÔÈ¡ÑùµãÊý¿ÉΪ2*N=32,µ«±ØÐë±£Ö¤¶¼ÊǶÀÁ¢µÄÑùµã¡£ N=32;n=0:N-1; x=cos(3*pi/8*n); X=fft(x,N);
subplot(2,1,1);
stem(n,abs(fftshift(X)));
ylabel('Magnitude');xlabel('Frequency (rad)'); title('ÖìÒÕÐÇ Ñîæ¼æ¼'); subplot(2,1,2); stem(n,angle(fftshift(X))); ylabel('Phase');
xlabel('Frequency(rad)');
9
¸½:ÁíÈ¡N=16ʱ: N=16;n=0:N-1; x=cos(3*pi/8*n); X=fft(x,N);
subplot(2,1,1);
stem(n-N/2,abs(fftshift(X))); ylabel('Magnitude');
xlabel('Frequency (rad)'); title('ÖìÒÕÐÇ Ñîæ¼æ¼'); subplot(2,1,2);
stem(n-N/2,angle(fftshift(X))); ylabel('Phase');
xlabel('Frequency(rad)');
¸½£ºNÈ¡64ʱ£» N=64;n=0:N-1; x=cos(3*pi/8*n); X=fft(x,N);
subplot(2,1,1);
stem(n,abs(fftshift(X)));
ylabel('Magnitude');xlabel('Frequency (rad)');title('ÖìÒÕÐÇ Ñîæ¼æ¼'); subplot(2,1,2);
stem(n,angle(fftshift(X))); ylabel('Phase');
xlabel('Frequency(rad)');
10
£¨2£© ½øÐÐÀíÂÛÖµÓë¼ÆËãÖµ±È½Ï£¬ÌÖÂÛÐÅºÅÆµÆ×·ÖÎö¹ý³ÌÖÐÎó²îÔÒò¼°¸ÄÉÆ
·½·¨¡£
´ð£ºÔÚÆµÆ×·ÖÎö¹ý³ÌÖÐÓÉÓÚÈ¡ÑùƵÂʹýµÍ»òÕßÓÉÓÚÐźŵĽØÈ¡³¤¶È²»µ±½«»á²úÉúÎó²î¡£
È¡ÑùƵÂʹýµÍ,¿ÉÄÜ»á²úÉú»ìƵÏÖÏó,¿ÉÒÔÊʵ±Ìá¸ßÈ¡ÑùÂÊ£¬Ôö¼ÓÑùµãÊý£¬À´¼õÉÙ»ìµþ¶ÔƵÆ×·ÖÎöËùÔì³ÉµÄÎó²î¡£¶ÔÓÚÁ¬ÐøÖÜÆÚÐźţ¬ÆäʱÓòÈ¡Ñù±ØÐëÂú×ãʱÓòÈ¡Ñù¶¨Àí£ºÆäÈ¡ÑùµãÊýK¡Ý2*N+1£¨ÆäÖÐNΪ×î¸ßг²¨·ÖÁ¿£©£¬¼´kfo¡Ý2Nfo+fo;fs¡Ý2fm+fo¡£
½ØÈ¡Ðźų¤¶È²»µ±£¬»á²úÉú¹¦ÂÊй¶£¬¶ÔÖÜÆÚÐòÁнøÐÐÆµÆ×·ÖÎöʱ£¬Îª±ÜÃâй¶Ӧ×öµ½£º½ØÈ¡µÄ³¤¶ÈӦȡһ¸ö»ù±¾ÖÜÆÚ»ò»ù±¾ÖÜÆÚµÄÕûÊý±¶£¬Èô´ý·ÖÎöµÄÖÜÆÚÐźÅÊÂÏȲ»ÖªµÀÆäÈ·ÇеÄÖÜÆÚ£¬Ôò¿É½ØÈ¡½Ï³¤Ê±¼ä³¤¶ÈµÄÑùµã½øÐзÖÎö£¬ÒÔ¼õÉÙ¹¦ÂÊй¶Îó²î¡£µ±È»£¬±ØÐëÔÚÈ¡ÑùƵÂÊÂú×ãÈ¡Ñù¶¨ÀíµÄÌõ¼þϽøÐУ¬·ñÔò»ìµþÓëй¶ͬʱ´æÔÚ¸øÆµÆ×·ÖÎöÔì³ÉÀ§ÄÑ¡£
±¾Ìâx(n)?cos(3?8n)ΪÖÜÆÚÐźţ¬ÎÞÖ±Á÷·ÖÁ¿£¬ËùÒÔÈ¡ÑùµãÊý¿ÉΪ
2*N=32,µ«±ØÐë±£Ö¤¶¼ÊǶÀÁ¢µÄÑùµã¡£´ÓÈ¡ÑùµãÊýN=32ºÍN=16¿ÉÒÔ¿´³ö£¬È¡ÑùµãÊýµÄ²»Í¬£¬»áÔì³ÉƵÂÊÆ×ºÍÏàλÆ×µÄ²»Í¬¡£µ±N=16ʱ£¬n=3»ò-3ʱÓзù¶ÈÖµ£¬¶øÔÚN=32ʱ£¬n=-10ºÍ22ʱÓзù¶ÈÖµ£¬ÔÚN=64ʱ£¬n=-20ºÍ44ʱÓзù¶ÈÖµ£¬µÃµ½ÔÚN=32ʱ£¬ÆäƵÆ×ÒѾºÍN=64ʱһÖ£¨¸ÕºÃ³É2±¶¹ØÏµ£©£¬ÇÒN=16ʱÒѾ²úÉú»ìƵÏÖÏó¡£×ÛÉϵ㬱¾ÌâÈ¡ÑùµãÊý¿ÉΪ32.
¸½£º¶ÔÓÚ·ÇÖÜÆÚÁ¬ÐøÐźţ¬Ê±ÓòÈ¡Ñù¶¨Àí£ºfs¡Ý2fm.ƵÓòÈ¡Ñù¶¨Àí:Ò»¸öʱ¼äÊÜÏÞµÄÐÅºÅÆä³¤¶ÈΪ2¦ÓÔÚÆµÓòÈ¡Ñù¼ä¸ôFo<1/2¦ÓÌõ¼þÏÂ,Äܹ»´ÓÑùµã¼¯ºÏÍêÈ«»Ö¸´ÔÀ´ÐÅºÅµÄÆµÆ×¡£
2. ÀûÓÃFFT·ÖÎöÐźÅx(n)?0.8nu(n)µÄƵÆ×£»
11
£¨1£© È·¶¨DFT¼ÆËãµÄ²ÎÊý£»µ±nÈ¡30ʱ n=0:30;x=(0.8).^n;subplot(2,1,1); stem(n,x);title('ÖìÒÕÐÇ Ñîæ¼æ¼');
subplot(2,1,2);w=n-15;plot(w,abs(fftshift(fft(x))));
¸½£ºµ±nÈ¡60ʱ
n=0:60;x=(0.8).^n;subplot(2,1,1);stem(n,x); title('ÖìÒÕÐÇ Ñîæ¼æ¼');subplot(2,1,2); w=n-15;plot(w,abs(fftshift(fft(x))));
12
¹²·ÖÏí92ƪÏà¹ØÎĵµ