怎样对信号进行傅里叶变换来求其低次谐波的幅值和频谱图的Matlab实现程序呢?

2024-12-13 17:26:07
推荐回答(2个)
回答1:

呵呵
这个问题这里无法回复,公式写不出来。
建议看《数字信号与处理》一书中的:快速傅立叶变换(FFT),很详细的。

回答2:

function y = DFT(x,N,n)
%DFT为全波傅立叶变换
% x为采样信号
% N为每周波采样点数
% n为谐波次数,n=1时,输出基波幅值

Real=0;
Imag=0;
for k=1:N
Real=Real+x(k)*cos((k-1)*n*2*pi/N);
Imag=Imag+x(k)*sin((k-1)*n*2*pi/N);
end
Real=Real*2/N;
Imag=-Imag*2/N;
Amp=sqrt(Real^2+Imag^2);
y=Amp;