Я ищу реализацию БПФ на .NET-совместных языках. Однако, то множество реализаций, что мне удалось найти возвращают массив комплексных чисел - значений амплитуд. Мне нужно получить сопоставление частот и амплитуд (т.е. спектр). Например, вот готовые примеры БПФ на wiki: Быстрое преобразование Фурье.
Возможно, для получения нужного результата достаточно знать ширину окна, по которому рассчитывается БПФ.
Ну, говоря об обратном преобразовании, готовых реализаций вообще не нашёл.
Вообще-то гугл много чего находит. Вот, например, нашлась оболочка для шарпа и либы FFTW: https://github.com/tszalay/FFTWSharp
Ну, говоря об обратном преобразовании, готовых реализаций вообще не нашёл.
Очень боюсь в чем-то наврать, поскольку работал с БПФ очень давно и многое забыл. Там есть несколько вариантов. Прореживание по времени или по частоте, а также нормирование по мощности. Второе связано с незначительными изменениями в операции "бабочка". У меня при прямом преобразовании в "бабочке" присутствовало деление на 2, а при обратном нет. Кроме того, перед обратным преобразованием надо было выполнить комплексное сопряжение над фурье-образом, то есть просто изменить знак мнимых частей.
Задача была - вычитание спектра шума из сигнала в реальном времени. Вообще-то спектры, полученные БПФ, вычитать нельзя, как я уже написал в комментарии к вопросу. Поэтому я на каждом блоке сигнала уже не помню как строил цифровой фильтр, который максимально соответствовал бы производимой операции. Естественно, для каждого блока сигнала такой фильтр получается разный. Поэтому я строил два фильтра: для одного блока и для следующего. Оба их применял а результат уже на сигнале линейно интерполировал. В общем, БПФ прямых и обратных, да еще и с разной длиной блока для этого приходилось делать порядка десяти. Но 10 БПФ все равно быстрее 1 НПФ (непрерывное преобразование Фурье), с которым все проще для данной задачи. Я тогда так и не разобрался на уровне математики, почему это вообще работает, но работало хорошо.
Надеюсь, этот пример вам чем-то поможет. Как минимум, поможет понять, что все не так просто, и БПФ это не волшебная палочка, а лишь способ быстрого вычисления сверток.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть две таблицы Timetable и Services связанные по ID_ServiceTimetable представлена как DataGrid
Всем здравствуйте, вопрос следующийК программе на с# подключена БД из Microsoft SQL Server, в DataGridView выводится таблица
Есть таблица, в ней есть колонка meta_key и meta_value Вот запр
У меня есть сайт с несколькими страницами с checbox, мне нужно сначала с одной страницы запомнить значения выбранных потом со следующей, передать...