Matlab - 用 IFFT 构造余弦波
信息处理
matlab
IFFT
2022-02-06 06:07:24
1个回答
您必须记住,对于实值信号,频谱的后半部分是低于奈奎斯特频率的所有值的复共轭。在你的情况下:
X(2) = -32
X(N) = 32
如您所见,系数不是彼此的复共轭。因此,您最终会遇到舍入误差,因为两个频率分量相互抵消。
这是对您的代码的一些修改:
clc, clear all, close all
fs = 32;
dt = 1/fs;
N=64;
X=zeros(N,1);
X(2)=32;
X(N)=conj(X(2));
s=ifft(X)';
td = linspace(0, (length(s)-1)*dt, length(s));
stem(td, s, 'b', 'linewidth', 2)
grid on
legend({'reconstructed signal'})
这使:
其它你可能感兴趣的问题