Êý×ÖÐźŴ¦ÀíʵÑé½²Òå
Îå¡¢²Î¿¼³ÌÐò
1¡¢¸ø³öÒ»¾ØÐÎÐòÁУ¬²¢ÇÒ¸ø³öÆäƵÆ×ÇúÏß¡£ ³ÌÐòÈçÏ£º
M=4;N=2*M+1;T=0.5;n=-4*M:4*M;
x=[zeros(1,3*M),ones(1,N),zeros(1,3*M)]; % ¸ø³öÊäÈëÐòÁÐ w=[-15:0.1:15]+1e-10;
X=sin(0.5*N*w*T)./sin(0.5*w*T); % ¸ø³öƵÆ×ÐòÁÐ subplot(1,3,1),stem(n,x,'.') % »³öÊäÈëÐòÁÐ axis([-20,20,-0.1,1.1]),grid on xlabel('n'),title('(a) ÐòÁзù¶È')
subplot(1,3,2),plot(w,X),grid on % »³öƵÆ×ÐòÁÐ xlabel('\\Omega'),title('(b) ·ùÆµÌØÐÔ')
subplot(1,3,3),plot(w,X),grid on % ¸Ä±äºáÖá±ÈÀý£¬»³öƵÆ×ÐòÁÐ v=axis;axis([-pi/T,pi/T,v(3),v(4)])
xlabel('\\Omega'),title('(c) ºáÖá·Å´óºó·ùÌØÐÔ')
set(gcf,'color','w') % ÖÃͼÐα³¾°É«Îª°×
2¡¢ ͼʾÀíÏëµÍͨÂ˲¨Æ÷µÄƵÂÊÌØÐÔÇúÏߣ¬²¢ÓÃIDTFTÇó³öËüµÄ·´±ä»»¡£ ³ÌÐòÈçÏ£º clear,close all
wc=input('wc= £¨·¶Î§´Ó0µ½pi)'); % µÍͨÂ˲¨Æ÷µÄ½ØÖ¹ÆµÂÊ n=[-10:10]+1e-10;
10
Êý×ÖÐźŴ¦ÀíʵÑé½²Òå
hd=sin(n*wc)./(n*pi); % ÀíÂ۵ķ´±ä»»Âö³åÐòÁÐ subplot(1,2,1),
plot([-pi,-wc,-wc,wc,wc,pi],[0,0,1,1,0,0]) % »³öÀíÏëÆµÂÊÏìÓ¦ xlabel('ƵÂÊ£¨1/Ã룩'),ylabel('·ù¶È') axis([-pi,pi,-0.1,1.1]),grid on
subplot(1,2,2),stem(n,hd),grid on % »³ö¶ÔÓ¦µÄÂö³åÐòÁÐ xlabel('n'),ylabel('ÐòÁÐ')
axis([-10,10,-0.1*wc,0.4*wc]) % È·¶¨Êʵ±µÄ×ø±ê±ÈÀý³ß set(gcf,'color','w') % ÖÃͼÐα³¾°É«Îª°×
11
Êý×ÖÐźŴ¦ÀíʵÑé½²Òå
ʵÑéÈý ÀëÉ¢¸µÀïÒ¶±ä»»DFT¼°IDFT
Ò»¡¢ÊµÑéÄ¿µÄ
1¡¢ÔÚÀíÂÛѧϰµÄ»ù´¡ÉÏ£¬Í¨¹ý±¾ÊµÑ飬¼ÓÉî¶ÔDFTµÄÀí½â£¬ÊìϤDFT×Ó³ÌÐò¡£ 2¡¢ÕÆÎÕ¼ÆËãÀëÉ¢ÐźÅDFTµÄ·½·¨¡£
¶þ¡¢ÊµÑéÔÀíÓë·½·¨
(Ò») DFTºÍIDFTµÄ¶¨Òå¡£ 1¡¢DFTµÄ¶¨Òåʽ£º
knX(k)??x(n)WNn?0N?1
0?k?N?1
2¡¢IDFTµÄ¶¨Òåʽ£º
1x(n)?N 1¡¢DFTËùÓõÄMATLAB³ÌÐò
dft.m
function[Xk]=dft(xn,N) %¶¨ÒåDFT¡£ %[Xk]=dft(xn,N)
?knX(k)W?Nn?0N?1
0?n?N?1
(¶þ) DFTºÍIDFTËùÓõÄMATLAB³ÌÐò¡£
%Xk=DFT coeff.array over 0<=k<=N-1 %xn=N-point finite-duration sequence %N=LENGTH of DFT n=[0:1:N-1]; k=[0:1:N-1]; WN=exp(-j*2*pi/N); nk=n¡¯*k; WNnk=WN.^nk; Xk=xn*WNnk;
2¡¢IDFTËùÓõÄMATLAB³ÌÐò
12
Êý×ÖÐźŴ¦ÀíʵÑé½²Òå
idft.m
function[xk]=idft(Xk,N) %¶¨ÒåIDFT¡£ %[xn]=idft(Xk,N)
%Xk=DFT coeff.array over 0<=k<=N-1 %xn=N-point finite-duration sequence %N=LENGTH of DFT N=[0:1:N-1]; k=[0:1:N-1]; WN=exp(-j*2*pi/N); nk=n¡¯*k; WNnk=WN.^(-nk); xn =( Xk *WNnk)/N;
Èý¡¢ÊµÑéÄÚÈݼ°²½Öè
1¡¢Èôx(n)?cos(n?)ÊÇÒ»¸öN=12µÄÓÐÏÞ³¤ÐòÁУ¬¼ÆËãÆäDFT²¢»³öͼÐΣ» 62¡¢ÓÃMATLAB¼ÆË㣨1£©Ìâ½á¹ûµÄIDFT²¢»³öͼÐΣ»
3¡¢Èôx(n)?cos(0.48?n)?cos(0.52?n)¡£µ±0?n?10ʱ£¬Çóx(n)µÄDFT X(k)£» 4¡¢½«£¨3£©ÌâÖеÄx(n)ÒÔ²¹Á㷽ʽ¼Ó³¤µ½0?n?100£¬Çóx(n)µÄDFT X(k)£» 5¡¢½«£¨3£©ÌâÖеÄx(n)¼Ó³¤µ½0?n?100£¬Çóx(n)µÄDFT X(k)¡£
ËÄ¡¢ÊµÑé˼¿¼
1¡¢ËµÃ÷DFTºÍDTFTÓÐÊ²Ã´Çø±ðºÍÁªÏµ£¿
2¡¢ËµÃ÷ÌâÈý¡¢£¨2£©ÄÜ·ñ»Ö¸´Èý¡¢£¨1£©µÄx(n),Ϊʲô£¿ 3¡¢ËµÃ÷ÌâÈý¡¢£¨1£©£¨2£©£¨3£©µÄ½á¹ûΪʲô²»Í¬£¿
Îå¡¢²Î¿¼³ÌÐò
1¡¢»ù±¾ÐòÁеÄÀëÉ¢¸µÀïÒ¶±ä»»¼ÆËã¡£ ³ÌÐòÈçÏ£º clear;close all N=16; N1=8;
%²úÉúÐòÁÐx1(n),¼ÆËãDFT[x1(n)] n=0:N-1;
x1n=exp(j*pi*n/8); %²úÉúx1(n)
13