Обнаружение пика сигнала FFT в ноутбуке Jupyter - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь найти пики и сигнал ЭМГ, которые я преобразовал в частотную область с использованием БПФ. Моя проблема в том, что когда я пытаюсь использовать команду Find_peaks из библиотек scipy.signal, она выдает мне предупреждение ValueError: x должен быть одномерным массивом . Может ли кто-нибудь, пожалуйста, указать мне правильный путь, потому что мне трудно понять, как я могу найти пики моего сигнала в частотной области, должен ли я преобразовать его обратно во временную область, или я должен найти способ сжатьмассив. (PS Я все еще новичок, вся помощь очень ценится). Это то, что я смог кодировать

Это ошибка

1 Ответ

0 голосов
/ 10 ноября 2019

Результаты БПФ scipy - это многомерный массив, который включает в себя результаты преобразования комплексных чисел, представленные в виде 2-элементного вектора. Вызов find_peaks может принимать только одномерный массив. Вам может потребоваться либо преобразовать их в скаляр (возможно, принять абсолютное значение кортежей), либо использовать детектор пиков, который работает в большем количестве доменов. Проверьте этот связанный вопрос для некоторых вариантов.

Если вы конвертируете в 1D, peakutil - это пакет, который может вам помочь (хотя, похоже, он незначительно более мощный, чем find_peaks для ваших нужд).

Для получения более подробной информации вы также можете увидеть некоторые ответы на вопросы здесь , связанный вопрос.

...