ʵÑéËÄMATLABÔÚÀëÉ¢¸µÁ¢Ò¶±ä»»(DFT)ÖеÄÓ¦Óà ÏÂÔØ±¾ÎÄ

MATLABÔÚÀëÉ¢¸µÁ¢Ò¶±ä»»(DFT)ÖеÄÓ¦ÓÃ

Ò»¡¢ÐòÁеÄÒÆÎ»ºÍÖÜÆÚÑÓÍØÔËËã¡£

nÒÑÖªx(n)?(0.8)R8(n)£¬ÀûÓÃMATLABÉú³É²¢Í¼Ê¾ÐòÁÐx(n),x(n?m),x((n))8RN(n)ºÍ

x((n?m))8RN(n),ÆäÖÐN?24,0?m?N,x((n))8±íʾx(n)ÒÔ8ΪÖÜÆÚµÄÑÓÍØ¡£

½â£ºMATLAB³ÌÐòÇåµ¥ÈçÏ£º N=24; M=8;

m=3;% ÉèÒÆÎ»ÖµÎª3 n=0:N-1;

xn=0.8.^n.*(n>=0 & n

axis([0 length(xn),0 1]);title('ÐòÁÐx(n)');

xc=xn(mod(n,8)+1); % ²úÉúÐòÁÐx(n)µÄÖÜÆÚÑÓÍØ£¬ÇóÓàºó¼Ó1ÊÇÒòΪ % MATLABʸÁ¿µÄϱê´Ó1¿ªÊ¼

subplot(3,1,2);stem(n,xc,'.');grid;

axis([0 length(xc),0 1]);title('ÐòÁÐx(n)µÄÖÜÆÚÑÓÍØÐòÁÐ');

xm=[xn(m+1:M) xn(1:m)]; % ²úÉúÔ²ÖÜÒÆÎ»ÐòÁÐxm=x((n+m))NRN (n) xm=[xm zeros(1,N-length(xm))]; subplot(3,1,3);stem(n,xm,'.');grid;

axis([0 length(xm),0 1]);title('Ô²ÖÜÒÆÎ»ÐòÁÐx(n+m)');

¶þ¡¢ÀûÓÃMATLABÑéÖ¤N µãDFTµÄÎïÀíÒâÒå¡£

ÒÑÖªÓÐÏÞ³¤ÐòÁÐx(n)?R4(n),ÆäÀëɢʱ¼ä¸µÁ¢Ò¶±ä»»(DTFT)1?e?j4?X(e)?DFT[x(n)]?1?e?j?jw

ÊÔ»æÖƳöX(ej?) ·ù¶ÈƵÆ×ºÍÏàλƵÆ×£¬²¢·Ö±ð¼ÆËãN=8ºÍN=16ʱµÄDFT¡£

½â£ºMATLAB³ÌÐòÇåµ¥ÈçÏ£º

clf % Çå³ýËùÓеÄͼÐδ°¿Ú N1=8;N2=16; % ÉèÖÃÁ½ÖÖDFTµÄ³¤¶È n=0:N1-1;

k1=n;k2=0:N2-1;

w=(0:2047)*2*pi/2048;

Xw=(1-exp(-j*4*w))./(1-exp(-j*w)); % ¶Ôx(n)µÄƵÆ×²ÉÑù2048µã xn=[n>=0 & n<4]; % ²úÉúÐòÁÐx(n)

Xk1=fft(xn,N1); % ¼ÆËãÐòÁÐx(n)µÄ8µãDFT

1 / 3

Xk2=fft(xn,N2); % ¼ÆËãÐòÁÐx(n)µÄ16µãDFT subplot(3,1,1);

plot(w/pi,abs(Xw)); % »æÖÆÐòÁÐx(n)µÄDTFTµÄ·ùƵÇúÏß grid;title('ÐòÁÐx(n)µÄ·ùƵÇúÏß|X(e^{j\\omega})|'); subplot(3,1,2);

stem(k1*2/N1,abs(Xk1),'.'); grid;title('ÐòÁÐx(n)µÄ8µãDFT'); subplot(3,1,3);stem(k2,abs(Xk2),'.'); grid;title('ÐòÁÐx(n)µÄ16µãDFT');

% Ò²¿ÉÒÔÀûÓÃMATLABÖеÄholdÃüÁ½«ÉÏÊö3¸öͼÐλæÖÆÔÚÒ»¸öͼÖУ¬³ÌÐòÈçÏ£º clf % Çå³ýËùÓеÄͼÐδ°¿Ú N1=8;N2=16; % ÉèÖÃÁ½ÖÖDFTµÄ³¤¶È n=0:N1-1;

k1=n;k2=0:N2-1;

w=(0:2047)*2*pi/2048;

Xw=(1-exp(-j*4*w))./(1-exp(-j*w)); % ¶Ôx(n)µÄƵÆ×²ÉÑù2048µã xn=[n>=0 & n<4]; % ²úÉúÐòÁÐx(n)

Xk1=fft(xn,N1); % ¼ÆËãÐòÁÐx(n)µÄ8µãDFT Xk2=fft(xn,N2); % ¼ÆËãÐòÁÐx(n)µÄ16µãDFT

plot(w/pi,abs(Xw)); % »æÖÆÐòÁÐx(n)µÄDTFTµÄ·ùƵÇúÏß hold % ±£³Öµ±Ç°µÄͼÐδ°¿Ú H1=stem(k1*2/N1,abs(Xk1),'o'); set(H1,'color','r')

H2=stem(k2*2/N2,abs(Xk2),'*'); set(H2,'color','k');

% legend('|X(e^{j\\omega})|','X_1(k)','X_2(k)'); ÉÏ»úÁ·Ï°Ì⣺

ÒÑÖªÒ»¸ö12µãµÄÀëÉ¢ÐòÁÐx(n)?{1,2,3,4,5,6,6,5,4,3,2,1}£¬ÒªÇó£º

(1) ÀûÓÃMATLAB ¼ÆËãÐòÁеÄ12µãÀëÉ¢¸µÁ¢Ò¶±ä»»£¨DFT£©X(k)£¬²¢»æ³öËüµÄ·ù¶ÈºÍÏà

λͼ£»

(2) ÀûÓÃMATLAB¼ÆËãÐòÁеÄÀëɢʱ¼ä¸µÁ¢Ò¶±ä»»£¨DTFT£©X(eλͼ£»

(3) ÀûÓÃMATLABµÄholdÃüÁ½«ÉÏÊöÁ½ÕÅ·ù¶ÈƵÆ×ͼºÏ³ÉÒ»ÕÅ£¬½øÐбȽϣ¬ÒÔÑéÖ¤X(k)ÊÇX(ej?j?),²¢»æ³öËüµÄ·ù¶ÈºÍÏà

)µÄ³éÑù¡£

Èý¡¢ÑéÖ¤DFT µÄ¹²éî¶Ô³ÆÐÔ

·Ö±ðÒÔx1(n)?[1,2?j,?1?2j,1?3j,0,1?3j,?1?2j,2?3j],x2(n)?[0,1,2,3,4,5]Á½¸ö

2 / 3

ÐòÁÐΪÀý£¬ÑéÖ¤ÐòÁеÄDFTµÄ¶Ô³ÆÐÔÖÊ¡£ ³ÌÐòÂÔ¡£

ËÄ¡¢ÀûÓÃMATLAB ÑéÖ¤Á½¸öÐòÁеÄÏßÐÔ¾í»ýºÍÔ²Öܾí»ýµÄ¹ØÏµ ÒÑÖªÁ½¸öÓÐÏÞ³¤ÐòÁУº

x(n)??(n)?2?(n?1)?3?(n?2)?4?(n?3)?5?(n?4) h(n)??(n)?2?(n?1)??(n?2)?2?(n?3)

±àдһ¸ö¼ÆËãÁ½¸öÈÎÒâÓÐÏÞ³¤ÐòÁеÄÔ²Öܾí»ýmatlab ³ÌÐò£¬¼ÆËãÕâÁ½¸öÐòÁÐÒÔϼ¸ÖÖÇé¿öµÄÔ²Öܾí»ý£¬²¢ÓëÕâÁ½¸öÐòÁеÄÏßÐÔ¾í»ý½á¹ûÏà±È½Ï£º

¢Ùx(n)¢Ýh(n) ¢Úx(n)¢Þh(n) ¢Úx(n)¢áh(n) ¢Ûx(n)¢âh(n) ³ÌÐòÂÔ¡£

Îå¡¢ÀûÓÿìËÙ¾í»ý·¨¼ÆËãÁ½¸öÐòÁеľí»ý

nÒÑÖªÐòÁÐx(n)?sin(0.4n)R15(n),h(n)?0.9R20(n)?ÊÔÀûÓÿìËÙ¾í»ý·¨¼ÆËãÕâÁ½¸öÐòÁеÄ

¾í»ýy(n)?x(n)*h(n)¡£?

½â£º¿ìËÙ¾í»ý·¨µÄ¼ÆËã¿òͼÈçÏÂËùʾ£º?

?x(n) LµãFFT ?

??y(n) LµãIFFT ?

?h(n) LµãFFT ?

?

???L??³ÌÐòÇåµ¥ÈçÏ£º?Nx=15;Nh=20;

n1=1:Nx-1;n2=0:Nh-1;

xn=sin(0.4*n1).*(n1>=0 &n1=0 &n2

L=pow2(nextpow2(Nx+Nh-1)); % ¼ÆËã¶ÔÐòÁÐx(n)ºÍh(n) ¾í»ýºóµÃµ½ÐòÁÐynµÄ³¤¶È Xk=fft(xn,L); % ¶ÔÐòÁÐx(n)×÷LµãDFT Hk=fft(hn,L); % ¶ÔÐòÁÐh(n)×÷LµãDFT yn=ifft(Xk.*Hk);

3 / 3