実数のシーケンスがあり、その上でFFTを計算したいと思います。FFT関数には複素数が必要です。
では、虚数を0に設定して、FFTを計算できますか?
次の質問は、結果値(周波数領域の値)を取得するとき、それらは複雑な形式になっていることです。
これらの複素数値に対してFFTの逆を実行した場合、虚数成分を破棄して、結果の実数部のみを使用できますか?
実数のシーケンスがあり、その上でFFTを計算したいと思います。FFT関数には複素数が必要です。
では、虚数を0に設定して、FFTを計算できますか?
次の質問は、結果値(周波数領域の値)を取得するとき、それらは複雑な形式になっていることです。
これらの複素数値に対してFFTの逆を実行した場合、虚数成分を破棄して、結果の実数部のみを使用できますか?
複素数入力の実数部を信号サンプル値に設定し、虚数部をゼロに設定します。または、実数から複素数へのFFTを使用することもできます。これは、通常の複素数から複素数へのFFTよりも少し高速な場合もあります。
逆FFTに関しては、周波数領域の複素数値が複素共役対称性(入力が純粋に実数の場合に得られる対称性)を持っている限り、IFFTは純粋にリアルタイムの領域信号を再び提供します。IFFTの前に周波数領域の値を変更する場合は、複素共役対称性を維持していることを確認してください。ここでも、複雑から現実へのIFFTの使用を検討できます。これは、より効率的であり、対称性を維持する作業から解放されます。
このタイプの数学の場合、実数は、(仮定または明示的な)虚数部がゼロに等しい複素数です。
IFFT計算に供給する周波数データが共役対称である場合、結果の虚数は実際の値と比較して小さくなります。ほとんどの場合、有限精度の演算を使用した場合の数値ノイズです。有効数字の精度を理解している場合、これらの値は、妥当または有用な精度のためにすべてゼロに丸められることに注意してください。