FFT (高速フーリエ変換)を使用して 2 つのオーディオ ファイル間で単純な畳み込みを実行しようとしていますMathNet.Numerics's
が、IFFT の後で奇妙なバックグラウンド サウンドが発生します。
問題の原因が畳み込みなのか変換なのかをテストしたところ、FFT -> IFFT (Inverze FFT) 変換で既に問題が発生していることがわかりました。
単純な FFT と IFFT の私のコード:
float[] sound; //here are stored my samples
Complex[] complexInput = new Complex[sound.Length];
for (int i = 0; i < complexInput.Length; i++)
{
Complex tmp = new Complex(sound[i],0);
complexInput[i] = tmp;
}
MathNet.Numerics.IntegralTransforms.Fourier.Forward(complexInput);
//do some stuff
MathNet.Numerics.IntegralTransforms.Fourier.Inverse(complexInput);
float[] outSamples = new float[complexInput.Length];
for (int i = 0; i < outSamples.Length; i++)
outSamples[i] = (float)complexInput[i].Real;
この後、outSamples
私は FFT と IFFT の間で何もしていませんが、いくつかの奇妙なバックグラウンド サウンド/ノイズで破損しています。
私は何が欠けていますか?