Как использовать MathNet.Numerics, чтобы найти все частоты сигнала?C#

Место общения программистов C#
Anonymous
Как использовать MathNet.Numerics, чтобы найти все частоты сигнала?

Сообщение Anonymous »

Я хочу найти все частоты сигнала (массив двойных значений), где каждая выборка берется с одинаковым интервалом (5 минут).
Я подумал, что можно использовать:

Код: Выделить всё

MathNet.Numerics.IntegralTransforms.Fourier.Forward(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
Но есть 2 ошибки. Функция принимает Complex[], а не double[]. Результата нет, возвращается только «void».
Итак, есть идеи, что мне следует вызвать и где я могу найти результаты: частоты, угол и амплитуду?
Кстати, мой сигнал имеет 2 основные частоты: По году и по дням. Может ли БПФ найти обе частоты (год и день), если день равен частоте 1/365 года (не кратен 2)?
Какова минимальная длина сигнала, которую необходимо найти периодичность года (2 года, как сказал NYQIST)?

Подробнее здесь: https://stackoverflow.com/questions/786 ... f-a-signal

Вернуться в «C#»