こんにちは、私は単純な信号に取り組んでおり、信号のフーリエ変換を計算し、振幅と位相を取得して、そこから元の信号を再構築したいと考えています。
このスレッドに基づいてコードを作成しています。
コード:
>> 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);
私は完全に異なるグラフを取得します。
編集: 位相が変化した場合に信号に何が起こるかをテストするために、実際にこれを行っています。したがって、これにより、信号を再度構築するために位相角が必要になります。
私はフーリエ + Matlab の両方にまだ慣れていないので、ランダムなばかげた間違いを犯していたら申し訳ありません。皆さんが私を正しい方向に向けることができれば幸いです。ありがとうございました。