【发布时间】:2019-12-25 05:27:56
【问题描述】:
我正在使用 Math.net 计算一些真实世界数据的 FFT。
这按预期工作,但是我的真实世界数据可能有数十万个样本点,导致我的 FFT 中的 bin 宽度非常窄。
有没有什么方法可以用来减少我的 bin 数量,比如 1000 个,同时仍然包括我整个数据集中的频率分量。
下面的代码粗略示例。
Complex[] comp = input_data.Select(x => new Complex(x, 0)).ToArray();
Fourier.Forward(comp);
mag= comp.Select(c => c.Magnitude).Take(comp.Length / 2).ToArray();
freq = Fourier.FrequencyScale(comp.Length, 1000).Take(comp.Length / 2).ToList();
【问题讨论】:
-
bin 宽度取决于采样率和 bin 数量。您只能从这些变量中提供/获取以更改其中任何一个。 // 你可能在信号处理堆栈 (dsp.stackexchange.com) 上有更好的运气。
标签: c# signal-processing math.net