FFT实现

时间:2011-12-29 21:42:30

标签: c# windows-phone-7 fft

我在实现FFT方面遇到了问题。目标设备是Windows Phone 7。

我正是这样做的。 buffer是一个固定大小为1024的字节数组。

var o = Observable.FromEvent<EventArgs>(Microphone.Default, "BufferReady");
        o.Subscribe(evt =>
        {
            double[] dImageArray = this.buffer.Select(i => Convert.ToDouble(i)).ToArray();

            fftoutput = Saluse.MediaKit.Sample.FourierTransform.FFTDb(ref dImageArray);

        });

我正在使用的课程(如你所见)来自SaluseMediakit(source

这是正确的道路吗?或者我错了?

1 个答案:

答案 0 :(得分:1)

我已经设法用AFORGE执行了一个很好的FFT(这个库多次保存了我)。从麦克风获取波形信息的正确方法。

  double[] sampleBuffer = new double[buffer.Length / 2];
            int h = 0;
            for (int i = 0; i < buffer.Length; i += 2)
            {
                sampleBuffer[h] = Convert.ToDouble(BitConverter.ToInt16((byte[])buffer, i));
                h++;
            }

跟进另一个问题。我很想制作视觉均衡器。但我不知道怎么做。