Matlab进行DFT变换函数
(2014-05-10 09:26:57)| 标签: it | 分类: MATLAB | 
function [f,X_m,X_fai]=DFT(xn,ts,N)
% [f,X_m,X_fai]=DFT(xn,ts)
% 离散序列的傅里叶变换 出图
% 输入 
% 输出 f为频率向量,X_m为幅值向量,X_fai为相位向量
% 注意计算出来的0频分量(直流分量应该除以2) 
if nargin==2
 
end
Xk=fft(xn,N);
fs=1/ts; 
X_m=abs(Xk)*2/N; 
X_fai=angle(Xk); 
Nn=floor((N-1)/2); 
f=(0:Nn)*fs/N
; 
X_m=X_m(1:Nn+1); 
X_fai=X_fai(1:Nn+1); 
X_fai=unwrap(X_fai); 
X_fai=X_fai*180/pi; 
if nargout==0
 
 
 
 
 
 
 
 
end

 加载中…
加载中…