Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Коррекция частоты по маяку QO-100 для Gqrx

Дата публикации: 07-06-2026 21:00:00



Основное содержимое страницы с новостью.

8 июня 2026

Одна из проблем, с которой сталкиваешься при работе на спутнике QO-100, заключается в дрейфе LNB. Существует несколько решений, одно из которых – это программная коррекция частоты по маяку со спутника. Используемый мной Gqrx из коробки такого не умеет. К счастью, программа является расширяемой.

Ранее в посте Управляем Gqrx при помощи Python мы установили, что Gqrx можно управлять по TCP-протоколу. Также из release notes мы узнаем, что с версии Gqrx 2.17.7 протокол позволяет включать и выключать запись IQ-данных.

Напрашивается следующий алгоритм:

  1. Раз в N времени включаем запись IQ-данных во временный файл;
  2. Открываем файл, переводим содержимое в комплексные числа, считаем FFT, определяем зависимость магнитуды от частоты;
  3. Среди пиков находим сигнал маяка. Он передается в модуляции 2FSK. Значит, будет два пика. Благодаря WebSDR мы знаем, что частота первого равна в точности 10489500.5 кГц, а второго – 10489500.9 кГц;
  4. Смотрим, на каких частотах мы приняли маяк. Соответствующим образом корректируем в Gqrx частоту гетеродина LNB. Для этого предусмотрена команда LNB_LO;

Иллюстрация первых двух шагов:

Поиск пиков при помощи Python и FFT

Здесь я использовал частоту дискретизации поменьше, чтобы на графике можно было что-то разглядеть. Пики маяка видны слева. Сигналы справа – это цифровые виды связи. Между ними находится телеграфный участок. На момент создания записи в телеграфе никто не работал.

Скрипт на Python, при помощи которого был построен график, можно скачать здесь. Также вас может заинтересовать статья Построение диаграмм на Python с помощью Matplotlib, если вдруг вы ее пропустили.

Казалось бы, остальное – дело техники. Но все оказалось не так просто. Когда Gqrx корректирует частоту LNB, то также меняется и частота приема. А ее менять не нужно. Для управления частотой приема в протоколе предусмотрена команда F. Однако данная команда автоматически меняет как частоту, на которую настроен SDR-приемник, так и смещение фильтра (USB / CW-U / ...) в полосе приема. Это не то что нужно.

В идеале хотелось бы иметь отдельные команды – чтение / запись центральной частоты, а также чтение / запись смещения фильтра. Итого четыре команды. Я отправил соответствующий pull request в Gqrx. На момент написания поста он не был принят. А значит, предстоит собрать пропатченный Gqrx. Это не сложно.

Клонируем Gqrx, применяем патч:

$ git clone git@github.com:gqrx-sdr/gqrx.git $ cd gqrx $ git reset --hard 0b4ab30e42c3 $ wget https://eax.me/files/2026/06/gqrx-remote-protocol.patch $ git am gqrx-remote-protocol.patch

Устанавливаем менеджер изолированных окружений micromamba:

$ /bin/bash <(curl -L https://micro.mamba.pm/install.sh)

Создаем окружение с зависимостями:

$ micromamba create -n gqrx \ c-compiler cxx-compiler cmake make pkg-config \ gnuradio-core gnuradio-osmosdr libboost-devel libgl-devel \ pybind11 pulseaudio qt6-gtk-platformtheme qt6-main \ soapysdr-module-lms7 soapysdr-module-plutosdr soapysdr-module-remote \ "sysroot_linux-64=2.17.*" volk

Компилируем Gqrx, используя данное окружение:

$ micromamba run -n gqrx bash -el -c " mkdir -p build && cd build && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=\$CONDA_PREFIX .. && make -j4 && make install"

Собираем AppImage:

$ APPIMAGE_EXTRACT_AND_RUN=1 \ PREFIX=/home/eax/micromamba/envs/gqrx ./appimage.sh

С пропатченным Gqrx все работает как часы:

Программная коррекция частоты в Gqrx по маяку QO-100

В ходе экспериментов выяснилось следующее:

  • Изначально я использовал простую логику, которая находит первый пик. Увы, это не работает. Бывают сигналы ниже маяка, хотя это и запрещено регламентом работы на QO-100. Необходимо искать оба пика, а также проверять разницу частот между ними;
  • Продолжительность записи должна составлять не менее 15 секунд. Иначе можно поймать момент, когда маяк передает долгую несущую. Тогда вместо двух пиков будет только один;
  • Звук прерывается на долю секунды в моменты включения / выключения записи, а также при изменении частот. При работе телефоном это не мешает. При работе телеграфом коррекцию я предпочитаю выключать;
  • Забавно наблюдать за работой скрипта сразу после подачи питания на LNB. Частота сильно плывет, и пики смазываются. Поначалу скрипт вовсе не может найти маяк, потом начинает настраиваться примерно. По мере стабилизации частоты все начинает работать правильно;

Полученный Python-скрипт можно скачать здесь. Заинтересованным читателям предлагается изучать его самостоятельно.

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Доработка апконвертера для QO-100: стабилизация частоты0523-06-2026
2Самодельный апконвертер для спутника QO-1000512-05-2026
3Q/V-Band Dual Circular Polarized, Frequency Diplexer Feed System for Next-Generation Satcom028.1812-05-2026
4Детектор наличия ВЧ сигнала от передатчика0528-04-2026
5Измерения приращений ускорения силы тяжести гравиметром ГНУ-КВ0515-09-2025
6Минкомсвязь предложила уменьшить стоимость использования частот для 5G в 85 раз0025-07-2019
7Скорость полета космической обсерватории "Спектр-РГ" снизят0022-07-2019
8ГКРЧ вновь отказала операторам в выделении необходимых для 5G частот0001-08-2019
9Ученые РФ работают над технологией, благодаря которой часы на спутниках могут стать точнее0016-07-2019
10Разработка плана по расчистке частот для 5G может обойтись в 200 млн рублей0001-08-2019

Классификация: Наука. Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 5. Источник: eax.me.