我的一些信號項目的工作後,所有我想要做的是應用在信號的傅立葉變換,得到幅度和階段,然後更改階段矩陣別的東西說phasenew然後從量級和phasenew得到信號。Matlab的:傅立葉變換相位變化了矩陣
我立足於Getting Fourier Transform from Phase and Magnitude - Matlab
>> F = fft(x);
>> mag = abs(F);
>> phase = angle(F);
% Calculate phasenew using some algorithm, phasenew is very similar to phase, so output should be same.
>> re = mag .* cos(phasenew);
>> im = mag .* sin(phasenew);
>> F_i = complex(re,im);
>> x_i = ifft(F_i);
我的代碼的輸出信號X_I是非常不同的。
我在這裏也發現了類似的問題:Fourier Transform: getting mag + phase then using those to plot original signal但在這個鏈接中,我評論了問@David關於如何着手解決phasenew的問題的答案。他建議我把這個問題當成一個新問題,就這樣了。
請幫我生成使用傅立葉逆變換信號從原始數值和新階段變換。 在此先感謝。
P.S. phasenew我只是將階段移位π/ 2或-π/ 2。
Btw。如果您只是將相位移動一個常數,則它將原始輸入乘以固定的複數常數。 – Trilarion 2014-12-07 20:03:02