私はいくつかの信号プロジェクトに取り組んでおり、信号にフーリエ変換を適用し、振幅と位相を取得してから、位相行列を別の位相に変更し、振幅と位相から信号を取得するだけです。
私のコードは、位相と大きさからフーリエ変換を取得することに基づいています - 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は大きく異なります。
ここでも同様の問題が見つかりました:フーリエ変換:マグ+位相を取得し、それらを使用して元の信号をプロットしますが、このリンクで、@Davidにphasenewのケースをどのように解決する必要があるかを尋ねる答えにコメントしました。彼は私にこれを新しい質問としてするように提案したので、ここにあります。
元の大きさと新しい位相から逆フーリエ変換を使用して信号を生成するのを手伝ってください。前もって感謝します。
PS phasenewでは、位相を π/2 または -π/2だけシフトします。