Как сдетектировать последовательность сигнала с амплитудной модуляцией?

В общем суть такая... Есть последовательность сигнала и необходимо получить параметры модуляции, пока не знаю, как подступиться к этому вопросу
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Vindicar
Можно взять пакет numpy, загрузить в массив результат развёртки сигнала, прогнать преобразование Фурье (numpy.fft.fft() и numpy.fft.fftfreq() в помощь).
Если сигнал именно с амплитудной модуляцией, то на полученном спектре амплитуд должен выделяться пик несущей частоты и её гармоники. Его можно определить либо поиском максимума, либо поиском такой частоты, сумма гармоник (т.е. x2, x3, x4 и т.д.) которой максимальна.
Затем сглаживаешь эти гармоники (например, заменяешь на среднее), и в идеале получаешь форму огибающей, т.е. самого сигнала (+ шум).
Я делал нечто похожее, когда нужно было убрать из сигнала тензодатчика 50Гц наводки от осветительной сети.
Вот сигнал (серый - до частотного фильтра, черный - после, синий - после доп. сглаживания).
614a4ecbc2152580856422.png
Вот спектр (серый - до, черный - после), на нём видны "убранные" пики.
614a4eec01b14169796442.png
Реализация у меня была колхозная, но свою задачу выполнила.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы