MATLAB做離散傅里葉變換DFT

 

主函數

N=16;
n=0:N-1;
x1n=exp(j*pi*n/8);
X1k=dft(x1n,N);
x2n=cos(pi*n/8);
X2k=dft(x2n,N);
x3n=sin(pi*n/8);
X3k=dft(x3n,N);
subplot(2,3,1);stem(n,x1n,'.');
title('序列x1(n)');
xlabel('k');ylabel('x1(n)');
subplot(2,3,2);stem(n,x2n,'.');
title('序列x2(n)');
xlabel('k');ylabel('x2(n)');
subplot(2,3,3);stem(n,x3n,'.');
title('序列x3(n)');
xlabel('k');ylabel('x3(n)');
subplot(2,3,4);stem(n,abs(X1k),'.');
title('16點DFT[x1(n)]');
xlabel('k');ylabel('|X1(k)|');
subplot(2,3,5);stem(n,abs(X2k),'.');
title('16點DFT[x2(n)]');
xlabel('k');ylabel('|X2(k)|');
subplot(2,3,6);stem(n,abs(X3k),'.');
title('15點DFT[x3(n)]');
xlabel('k');ylabel('|X3(k)|');
% 
% 定製開發需求:qq 1762016542

子函數

function Xk=dft(xn,N)
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;
 

結果

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章