傅立叶变换函数
function [ Xk ] = MyDft( xn,N )
n = 0:1:N-1;
k = n;
WN = exp(-1i*2*pi/N);
nk = n'*k;
WNnk = WN.^nk;
Xk = xn*WNnk;
end
傅立叶反变换函数
function [ xn ] = myIdft( xk,N )
n = 0:1:N-1;
k = 0:1:N-1;
WN = exp(-1i*2*pi/N);
nk = n'*k;
WNnk = WN.^(-nk);
xn = xk*WNnk/N;
end
变换和反变换函数测试
clc;
clear;
N = 512;
fs = 250;
t = 0:1/fs:(N-1)/fs;
x = 2*sin(2*pi*60*t) + sin(2*pi*80*t);
%plot(t,x);
y = MyDft(x,N);
f = (0:N-1)*fs/N;
xn = myIdft(y,N);
figure('name','DFT测试');
subplot(121);plot(t,x,t,real(xn));title('原始以及变换反变换后信号');
subplot(122);plot(f(1:N/2),abs(y(1:N/2)));title('频谱分析');