Главная » Статьи » Мои статьи

Программа для записи спектрограмм c приемником SDR Micron.

   Разработана программа для записи спектрограмм эфира с шириной полосы до 30 МГц, которая может быть полезна для исследования прохождения и мониторинга участков радиочастот.

  Идея программы и код обработки сигналов принадлежит Daniel Estévez, огромное спасибо ему за помощь.
   Прогамма представляет собой скрипт для Python 3.8, наилучший способ запустить его - в меню по правой кнопки мыши выбрать Открыть с IDLE. В появившемся окне можно модифицировать настройки если это необходимо. Для запуска программы достаточно надать клавишу F5 на клавиатуре. Появится еще одно (консольное) окно, где программа будут сообщать что она делает и, может быть сообщит об ошибках, если что-то пойдет не так.
   Достаточно широкие возможности программы управляются путем изменения значений глобальных переменных, сосредоточенные в начале скрипта. Краткое описание настроек там уже есть,  более развернуто каждую настройку я опишу здесь.

DUR = 0.1 - продолжительность записи спектрограммы в часах. Может быть задано в виде десятичной дроби. Не рекомендуется устанавливать значение менее 0.1 и более 24 часа. Если необходимо вести запись более 24 -х часов, лучше использовать бесконечный режим (описание далее) чтобы разбивать временные промежутки на одинаковые части длительностью менее 24 часов.
Результаты каждой записи сохраняются в папку,  название которой является дата и время запуска. Папки создаются в той же директории, откуда запущена программа. Запись в директорию должна быть разрешена без ограничений доступа. Обычно это папки Мои Документы, Рабочий Стол и т.д.

TASK = '2020-01-27 19:35' - дата и время отложенного запуска. Если необходимо сделать запись в определенный день с определеенного времени, достаточно указать нужные параметры этой переменной. Запись должна быть в кавычках, именно в такой форме, как в примере (стандарт ISO). Если дата и время будет указана неправильно, запись никогда не начнется. Программа блокирует переход компьютера в режим сна до начала записи и разблокирует это после ее окончания . Чтобы стартовать запись немедленно, параметр должен быть None (без кавычек).

CONT = False - режим бесконечной записи, когда программа начинает запись снова сразу по завершению предыдущей записи. Результаты каждой записи будут сохранятся в папки именем даты и времени, когда запись стартовала. Эта опция будет полезна, если есть необходимость вести, к примеру, посуточный мониторинг. True - для активации режима. Остановить процесс записи можно вручную, нажав в консоли клавиши Ctrl + C. Во время длительной записи программа блокирует переход компьютера в режим сна.

FREQ = 1000000 - частота настройки приемника в Герцах, она же в большинстве случаев будет центральной частотой на спектрограмме. Если центральная частота выбрана так, что с установленой шириной полосы такая настройка невозможна, частота будет скорректирована автоматически и правильное значение будет закодировано в имени файла.

ATT = 10 - значение для аттенюатора приемника, может принимать значение от 0 до 31. Необходимо устанавливать для предотврашения перегрузки АЦП во избежание появления дефектов на изображении. Особенно актуально при ширине записи 30 МГц , когда входные фильтры приемника отключены или если они не установлены вовсе.

NARROW = 2 - параметр для указания ширины записываемого диапазона. Значение 0 соответствует широкому диапазону 30 МГц, значение 1 соответствует ширине 1.8 МГц, значение 2 - 0.9 МГц. В режиме широкого бендскопа можно регистрировать прохождение сразу во всем КВ диапазоне 0 - 30 МГц:



V_RES = 3600 - значение вертикального разрешения получаемой картинки или, другими словами, количество горизонтальных линий за все время длительности записи. Высота получаемого изображения будет определятся этим параметром. Если запись прервана вручную раньше окончания заданной длительности, количество линий соответственно будет меньше. Данный параметр не может превышать значение из расчета 10 линий в секунду, то есть для длительности 0.1 часа или 6 минут, максимально возможное количество линий составляет 3600. Если в параметре будет установлено значение, превышающее максимально возможное, фактическое разрешение будет максимально возможным.

H_RES = 4 - значение горизонтального разрешения, выраженное как множитель для числа 1024. Например, значению 4 соответствует горизонтальное разрешение 4096 пикселей. Переменная может принимать значение от 1 до 8. БОльшее разрешение позволяет получать более четкие картинки, которые будут занимать большой объем и медленно обрабатываться компьюьером. Фактическое разрешение будет всегда меньше, чем установлено из-за того, что ненужные точки отбрасываются во время обработки.

CMAP = ['viridis', 'inferno', 'afmhot'] - список палитр файлов, которые будут сгенерированы. Должен содержать как минимум одно название палитры.
Палитра viridis выглядит так:


Палитра inferno выглядит так:
Палитра afmhot выглядит так:

P_DET = False - управление режимом пикового детектора, который может пригодиться, если запись ведется длительное время, на протяжении нескольких часов. В этом случае короткие сигналы будут выражены четче на спектрограмме. Для включения True, если False - работает режим усреднения, который делает изображение более мягким.

В именах файлов, генерируемых программой, закодирована важная информация, благодаря которой информацию на изображении можно будет правильно интерпретировать. Например, в имени файла afmhot_550000_1450000_360.png содержится имя палитры, использовавшейся при его создании, частота начала спектрограммы (слева), частота конца спектрограммы (справа), длительность спектрограммы в секундах. Таким образом, при необходимости, можно вычислить частотные и временные координаты каждой точки спектрограммы.

Для нормальной работы программы, приемник должен иметь версию прошивки 1.5 и выше.

Скачать программу можно здесь https://github.com/Dfinitski/SDR-Micron
Сообщить об ошибке можно сюда dfainitski@gmail.com
Обсудить программу и поделиться своей спектрограммой можно на форуме 
http://www.sdr-deluxe.com/forum/3-21-1

Категория: Мои статьи | Добавил: rolin791 (06.02.2020)
Просмотров: 36 | Рейтинг: 0.0/0
Всего комментариев: 0