嗨,伙计,我正在研究简单的信号,我想计算信号的傅里叶变换,得到幅度和相位,然后从中重建原始信号。
我的代码基于这个线程。
代码:
>> n=0:99;
>> N=length(n);
>> x = sin((2*pi/N).*n).*cos((pi/N).*n);
>> F = fft(x);
>> mag = sqrt(real(F).^2 + imag(F).^2);
>> phase = atan2(imag(F),real(F));
>> re = mag .* cos(phase);
>> im = mag .* sin(phase);
>> F_i = re + 1i*im;
>> x_i = ifft(F_i);
>> figure;stem(x);figure;stem(x_i);
我完全得到不同的图表。
编辑:我实际上这样做是为了测试如果相位改变会发生什么信号。因此,我将需要相位角来再次构建信号。
我对 Fourier + Matlab 还是新手,所以如果我犯了一些随机的愚蠢错误,我深表歉意。如果你们能指出我正确的方向,我将不胜感激。谢谢你。