Я использую Math.net для расчета БПФ некоторых реальных данных.
Это работает, как и ожидалось, однако мои данные реального мира могут иметь сотни тысяч точек выборки, что приводит к очень узкой ширине ячейки в моем БПФ.
Существуют ли какие-либо процессы, которые я могу использовать, чтобы уменьшить количество бинов, скажем, до 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();