Анализатор спектра Python - PullRequest
2 голосов
/ 07 ноября 2019

Я хочу построить модуль Python, получающий данные FFT от приемника (полоса пропускания от 20 МГц до 6 ГГц). Моя цель:

  1. Оценить минимальный уровень шума.
  2. Обнаружение энергии по уровню шума (обнаружение сигнала).
  3. Классифицировать обнаруженный сигнал: Центральная частота, низкая частота, высокая частота.

Таким образом, на вход этого модуля будут данные FFT с неизвестным сигналом / с и белым шумом. Ожидаемый вывод - это описание обнаруженного сигнала (с) (если есть).

Я читал много документации, но не вижу библиотеки Scipy.signal, выполняющей эти функции.

Относительно пункта 1, я не нашел никакой библиотеки.

Относительно пункта 2, я думаю, найти пики может быть хорошим вариантом, но мне нужно оценить первый уровень шума.

В связи с пунктом 3 мне удалось найти только некоторые функции matlab: obw , meanfreq , medfreq и powerbw . Также я нашел библиотеку python spectrum , но, похоже, создает плотность спектра мощности без описания сигнала (я имею в виду центр, высокие и низкие частоты).

Примечание: этот модуль не ориентирован на анализатор спектра аудио (ширина полосы спектра от 20 МГц до 6 ГГц).

Кто-нибудь знает какую-нибудь библиотеку Python для выполнения этой функции? Какой совет начать строить этот модуль?

1 Ответ

1 голос
/ 07 ноября 2019

Вы должны попробовать GNU Radio Companion, в нем множество модулей на Python и C ++, готовых к использованию. Мое предложение улучшить производительность - использовать вместе GNU Radio с любым SDR-приемником, таким как RTL SDR-ключ, или более дорогой USRP B200 Mini или B100 от Ettus Research.

...