·¢²¼Ê±¼ä : ÐÇÆÚÁù ÎÄÕÂÊý×ÖÐźŴ¦ÀíʵÑéÖ¸µ¼Ê飨É󣩸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ
ʵÑéÁù ¿ìËÙ¸µÁ¢Ò¶±ä»»FFT¼°ÆäÓ¦ÓÃ
X(k)?X(?)??2?k/N???x(n)en????j2?kn/N 0?k?N?1
ÐòÁÐx(n)µÄNµãDFTµÄÎïÀíÒâÒåÊǶÔX(¦Ø)ÔÚ[0£¬2¦Ð]ÉϽøÐÐNµãµÄµÈ¼ä¸ô²ÉÑù¡£
£¨Èý£©¡¢ÀûÓÃFFT¼ÆËãÐòÁеÄÏßÐÔ¾í»ý
Ö±½Ó¼ÆËãÏßÐÔ¾í»ý¼ÆËãÁ¿´ó£¬²¢ÇÒ¼ÆËã»úÎÞ·¨ÅжÏy(n)µÄ³¤¶È£¬ÐèÒª¼ÆËã¶àÉÙµÄy(n)Öµ£¬ÈôÊäÈëΪÎÞÏÞ³¤£¬¾Í¸üÎÞ·¨¼ÆË㣬ÆäÔËËãÁ¿Ë泤¶È³É¼¶ÊýÔö³¤¡£ÓÉÓÚ¿ÉÒÔÀûÓÃFFT¶ÔDFT½øÐÐÓÐЧµÄ¼ÆË㣬ÎÒÃÇÏ£ÍûÄܹ»ÀûÓÃDFTÀ´¼ÆËãÏßÐÔ¾í»ý¡£
Éè x(n) ºÍ h(n) Êdz¤¶È·Ö±ðΪMºÍNµÄÓÐÏÞ³¤ÐòÁУ¬ Áî L=M+N-1£¬¶¨ÒåÁ½¸ö³¤¶ÈLµÄÓÐÏÞ³¤ÐòÁУº x'(n)??
h'(n)???h(n),?0,0?n?N?1N?n?L?1?x(n),?0,0?n?M?1M?n?L?1 (3.4.8)
(3.4.9)
ͨ¹ý¶Ôx(n) ºÍ h(n)²¹³äÁãÑù±¾ÖµµÃµ½ÉÏÃæÁ½¸öÐòÁС£ÄÇô£º
yl(n)?x(n)?h(n)?yc(n)?x'(n) h'(n) (3.4.10) ÉÏÃæµÄ¹ý³ÌÈçÏÂͼËùʾ£º
¼ÆËãÏßÐÔ¾í»ýÒ²¿ÉÒÔÖ±½Óµ÷Óú¯ÊýconÀ´¼ÆË㣬ÒòΪMATLABÖеļÆʱ±È½Ï´Ö²Ú£¬ËùÒÔÖ»ÓÐMºÍN½Ï´óµÄʱºò£¬²ÅÄܱȽÏÁ½ÖÖ·½·¨µÄÖ´ÐÐʱ¼ä¿ìÂý¡£
25
ʵÑéÁù ¿ìËÙ¸µÁ¢Ò¶±ä»»FFT¼°ÆäÓ¦ÓÃ
Èý¡¢ÊµÑéÄÚÈÝÓë²½Öè
£±. ¶Ô¸´ÕýÏÒÐòÁÐx(n)?ej?8nTLAB³ÌÐòÇóµ±N=16ºÍN=8ʱµÄÀëÉ¢¸µRN(n)£¬ÀûÓÃMA
Á¢Ò¶±ä»»£¬²¢ÏÔʾÆäͼÐΡ£ ³ÌÐò£º
N=16£»N1=8£» n=0:N-1;k=0: N1-1; x=exp(j*pi*n/8); X1=fft(x,N); X2=fft(x,N1); subplot(2,1,1); stem(n,abs(X1)); axis([0,20,0,20]); ylabel(¡®¨OX1(k)¨O¡¯); title(¡®16µãµÄDFT¡¯)£»
subplt(2,1, 2);
stem(n, abs(X2)); axis([0, 20, 0, 20]); ylabel(¡®¨OX2(k)¨O¡¯); title(¡®8µãµÄDFT¡¯)£»
£².ÒÑÖªx(n)?R4(n),X(?)?N=16ʱµÄDFT¡£
1?e?j4??j?1?e, »æÖÆÏàÓ¦µÄ·ùƵºÍÏàƵÇúÏߣ¬²¢¼ÆËãN=8ºÍ
³ÌÐò£º
N1=8;N2=16;
n=0:N1-1;k1=0:N1-1;k2=0:N2-1; w=2*pi*(0:2047)/2048;
26
ʵÑéÁù ¿ìËÙ¸µÁ¢Ò¶±ä»»FFT¼°ÆäÓ¦ÓÃ
Xw=(1-exp(-j*4*w))./(1-exp(-j*));%¶Ôx(n)µÄƵÆ׺¯Êý²ÉÑù2048¸öµã¿ÉÒÔ½üËƵؿ´
×÷ÊÇÁ¬ÐøµÄƵÆ×
xn=[(n>=0)&(n<4)];%²úÉúx(n) X1k=fft(xn,N1); X2k=fft(xn,N2);
subplot(3,2,1);plot(w/pi,abs(Xw));xlabel(¡®w/¦Ð¡¯); title(¡®x(n)µÄ·ùƵÇúÏß¡¯)£»
subplot(3,2,2);plot(w/pi,angle(Xw));axis([0,2,-pi,pi]); line([0,2],[0,0]);xlabel(¡®w/¦Ð¡¯); title(¡®x(n)µÄÏàƵÇúÏß¡¯)£»
subplot(3,2,3);stem(k1,abs(X1k),¡¯.¡¯);
xlabel(¡®k(w=2¦Ðk/N1)¡¯);ylabel(¡®¨OX1(k)¨O¡¯);hold on plot(N1/2*w/pi,abs(Xw));%ͼÐÎÉϵþ¼ÓÁ¬ÐøƵÆ׵ķù¶ÈÇúÏß subplot(3,2,4);stem(k1,angle(X1k)£¬¡¯.¡¯); axis([0,N1,-pi,pi]);line([0,N1],[0,0]);
xlabel(¡®k(w=2¦Ðk/N1)¡¯);ylabel(¡®Arg[X1(k)]¡¯);hold on
plot(N1/2*w/pi,angle(Xw));%ͼÐÎÉϵþ¼ÓÁ¬ÐøƵÆ×µÄÏàλÇúÏß subplot(3,2,5);stem(k2,abs(X2k),¡¯.¡¯);
xlabel(¡®k(w=2¦Ðk/N2)¡¯);ylabel(¡®¨OX2(k)¨O¡¯);hold on plot(N2/2*w/pi,abs(Xw));%ͼÐÎÉϵþ¼ÓÁ¬ÐøƵÆ׵ķù¶ÈÇúÏß subplot(3,2,6);stem(k2,angle(X2k)£¬¡¯.¡¯);
27
ʵÑéÁù ¿ìËÙ¸µÁ¢Ò¶±ä»»FFT¼°ÆäÓ¦ÓÃ
axis([0,N2,-pi,pi]);line([0,N2],[0,0]);
xlabel(¡®k(w=2¦Ðk/N2)¡¯);ylabel(¡®Ang[X2(k)]¡¯);hold on
plot(N2/2*w/pi,angle(Xw));%ͼÐÎÉϵþ¼ÓÁ¬ÐøƵÆ×µÄÏàλÇúÏß
3£®·Ö±ðÀûÓÿìËÙ¾í»ý·¨ÒÔ¼°convº¯Êý¼ÆËãÏÂÃæÁ½¸öÐòÁеÄÏßÐÔ¾í»ý¡£
h=[3 2 1 -2 1 0 -4 0 3];
¡ü
x=[1 -2 3 -4 3 2 1 ] ¡ü
³ÌÐò1£º¿ìËÙ¾í»ý clf;
h=[3 2 1 -2 1 0 -4 0 3];%³å¼¤ x=[1 -2 3 -4 3 2 1 ]; %ÊäÈëÐòÁÐ L=pow2(nextpow2(length(x)+length(h)-1)); Xk=fft(x,L); Hk=fft(h,L); Yk=Xk.*Hk; y=ifft(Yk,L);
nh=0:8;nx=0:6;ny=0:L-1;
subplot(3,1,1);stem(nx,x);title(¡®x(n)¡¯);
subplot(3,1,2);stem(nh,h);title(¡®h(n)¡¯);
subplot(3,1,3);stem(nx,x); xlabel(¡®Ê±¼äÐòºÅn¡¯);ylabel(¡®Õñ·ù¡¯)£»title(¡®¾í»ýy(n)¡¯); ³ÌÐò2£º clf;
h=[3 2 1 -2 1 0 -4 0 3];%³å¼¤ x=[1 -2 3 -4 3 2 1 ]; %ÊäÈëÐòÁÐ y=conv(h,x); n=0:14; stem(n,y);
28