MMDVMCal по шагам: калибровка MMDVM-модема

Категория: КалибровкаСложность: ~11 мин

MMDVM-хотспоты на базе MMDVM_HS (ZUMspot, HS_Hat, SkyBridge и аналоги) содержат дешёвый TCXO, который легко уходит по частоте на сотни герц от номинала. Для голоса это почти незаметно, но для данных и SMS даже 100–300 Гц смещения могут дать ошибки декодирования и потери пакетов. MMDVMCal — официальная интерактивная утилита от автора MMDVM (G4KLX), которая позволяет найти точную рабочую частоту модема, измерить BER и задать уровни TX/RX — всё прямо из командной строки без правки конфигов вручную.

Что такое MMDVMCal и как она устроена

MMDVMCal — это отдельная программа (репозиторий g4klx/MMDVMCal), которая напрямую общается с модемом через последовательный порт. Во время работы утилиты MMDVMHost должен быть остановлен — они не могут работать с одним портом одновременно.

На Pi-Star и RadioStar это делается автоматически командой запуска. Управление — только клавиатурой: каждая клавиша мгновенно меняет параметр или переключает режим. После выхода (Q) программа печатает итоговые значения смещений.

Важно про MMDVMHost На время калибровки MMDVMHost останавливается. Хотспот не обслуживает эфир. После выхода из MMDVMCal служба поднимается обратно автоматически (на Pi-Star/RadioStar) или вручную.

Запуск утилиты

На Pi-Star и совместимых образах (включая RadioStar) используют обёртку:

sudo pistar-mmdvmcal

Она сама остановит MMDVMHost, запустит MMDVMCal с нужным портом и конфигом, а после выхода вернёт службу. На «голом» Raspberry Pi без Pi-Star запуск выглядит так:

sudo systemctl stop mmdvmhost
MMDVMCal /etc/MMDVM.ini

После запуска на экране появится приглашение вида:

MMDVMCal (20231015) by G4KLX
H/h=help, Q/q=quit ...

Таблица клавиш MMDVMCal

Программа управляется одиночными нажатиями. Основные клавиши:

  • H / h — показать справку прямо в терминале;
  • Q / q — выйти, напечатав итоговые смещения;
  • E / e — ввести рабочую частоту в Гц (например, 434250000);
  • F — увеличить частоту на шаг;
  • f — уменьшить частоту на шаг;
  • Z / z — задать шаг изменения частоты в Гц;
  • T — увеличить девиацию TX (TXLevel);
  • t — уменьшить девиацию TX;
  • R / r — увеличить / уменьшить уровень приёма (RXLevel);
  • P / p — увеличить / уменьшить мощность RF;
  • b — режим BER-теста DMR Simplex (FEC), приём от рации;
  • B — режим BER-теста с тестовым паттерном 1031 Гц (внутренний генератор);
  • D / d — режим DMR Deviation: генерирует синусоиду 1,2 кГц для осциллографа;
  • C / c — режим несущей (Carrier Only), без модуляции;
  • K / k — BER-тест D-Star (FEC);
  • Space — включить / выключить передачу (TX);
  • W / w — включить / выключить отладочные сообщения модема.
Регистр имеет значение Заглавная F увеличивает частоту, строчная f — уменьшает. То же для T/t и R/r. Убедитесь, что Caps Lock выключен.

Шаг 1: задать рабочую частоту

Перед началом нужно сказать MMDVMCal, на какой частоте работает ваш хотспот. Нажмите E, утилита попросит ввести частоту в Гц. Введите частоту вашего хотспота целым числом без точек и пробелов:

E
Enter frequency (Hz): 434250000

Для диапазона 70 см (430–440 МГц) типичные значения хотспота лежат в диапазоне 430000000440000000. Для 2 м (144–146 МГц) — соответственно.

Частоты и закон в РФ В России любительский диапазон 70 см — 430–440 МГц, диапазон 2 м — 144–146 МГц. Полоса LPD (433,075–434,775 МГц) и PMR (446 МГц) — не любительские и технически непригодны для DMR-хотспота. Работайте в рамках выданной лицензии.

Шаг 2: BER-тест и подстройка частоты

Это главный этап. Цель — найти частоту, при которой модем декодирует ваш сигнал с минимальным BER.

  1. Нажмите b — войдёте в режим DMR Simplex BER Test (FEC).
  2. Передайте короткую фразу с рации (или просто нажмите PTT и подержите несколько секунд). Утилита покажет BER последней передачи.
  3. Нажмите Z и задайте шаг, например 25 (Гц) — удобно для точной подстройки.
  4. Нажимайте F (частота вверх) несколько раз, каждый раз передавая сигнал рацией и наблюдая BER. Продолжайте, пока BER не начнёт расти или пропадёт сигнал.
  5. Зафиксируйте крайнюю «живую» частоту. Вернитесь назад через f, пройдите в обратную сторону — найдите второй предел.
  6. Оптимальная рабочая точка — середина между двумя пределами. Там BER будет минимальным.

Ориентиры BER для DMR Simplex:

  • 0 % — 0,5 % — отлично, декодирование надёжное;
  • 0,5 % — 2 % — приемлемо для голоса, но данные могут теряться;
  • выше 2 % — требует калибровки; SMS и пакетные данные будут нестабильны;
  • выше 5 % — критично, возможны прерывания голоса.
Реальный пример На хотспоте 434,250 МГц после калибровки оптимальная точка оказалась 434250275 Гц — смещение +275 Гц. BER упал с 3,5 % до 0,09 %. Для дешёвых MMDVM_HS смещения в 100–500 Гц — норма; иногда встречаются и ±1–2 кГц.

Шаг 3: записать итоговый RXOffset

После нахождения оптимальной частоты нажмите Q для выхода. Утилита напечатает строку вида:

Frequency: 434250275 Hz  Offset: +275 Hz
TXLevel: 50  RXLevel: 50

Значение Offset — это и есть ваш RXOffset (и обычно TXOffset). Его нужно внести в конфигурацию MMDVMHost.

На Pi-Star: «Admin» → «Expert» → «MMDVMHost» → раздел [Modem]:

[Modem]
RXOffset=275
TXOffset=275

На RadioStar (наш образ): смещение вносится прямо через веб-панель устройства — вкладка «Модем» → поля RX Offset / TX Offset. Перезапускать службу вручную не нужно, панель сделает это сама.

RXOffset и TXOffset — разные параметры RXOffset корректирует частоту приёма модемом (то, что вы только что измерили). TXOffset сдвигает частоту передачи. На дешёвых платах MMDVM_HS оба параметра чаще всего одинаковы, но это не обязательно — рация может иметь свой сдвиг передатчика.

Шаг 4: калибровка TXLevel и RXLevel

Уровни девиации влияют на качество сигнала. Правильная девиация для DMR — 2,75 кГц.

TXLevel (уровень передачи хотспота в эфир):

  • Нажмите D — режим DMR Deviation Mode, модем генерирует синусоиду 1,2 кГц.
  • С осциллографом или частотомером со входом девиации измерьте отклонение несущей.
  • Клавишами T / t добейтесь ~2,75 кГц девиации.
  • Если осциллографа нет: начните с TXLevel = 50 (значение по умолчанию), проверьте, что рация принимает без искажений — этого обычно достаточно для хотспота.

RXLevel (чувствительность приёма модема):

  • Войдите в режим BER-теста (b).
  • Клавишами R / r подбирайте уровень так, чтобы BER был минимальным при «нормальной» мощности рации (не вплотную к антенне хотспота).
  • Слишком высокий RXLevel — перегруз АЦП, BER растёт. Слишком низкий — слабый сигнал, тот же результат.
Без осциллографа Большинство радиолюбителей обходятся без него. Оставьте TXLevel = 50, откалибруйте частоту по BER — этого хватает для 95% случаев. Осциллограф нужен при постройке репитера или точной настройке многомодового узла.

Как калибровка работает в образе RadioStar

В готовом образе RadioStar для Raspberry Pi предусмотрен BER-свип прямо из веб-панели: устройство само прогоняет диапазон частот вокруг номинала и находит точку минимального BER без ручного перебора клавишами. Это удобно, если нет физического доступа к SSH или хочется сделать повторную калибровку после смены рации.

Результат свипа записывается в RXOffset автоматически. При необходимости значение можно скорректировать вручную на той же странице «Модем».

Частые ошибки и как их избежать

  • Не остановлен MMDVMHost — порт занят, MMDVMCal не запускается или сразу вылетает. На Pi-Star используйте только sudo pistar-mmdvmcal.
  • Рация слишком близко к антенне хотспота — перегруз входа, BER искусственно высокий. Держите расстояние 0,5–1 м.
  • Мощность рации на максимуме — то же самое. Для калибровки достаточно 1–2 Вт или минимальной ступени.
  • Caps Lock включёнf превратится в F, частота уйдёт в другую сторону незаметно.
  • Не совпадает Color Code — рация и хотспот не «слышат» друг друга вообще, BER = 0 при отсутствии сигнала. Проверьте CC в codeplug и настройках хотспота.
  • Не сохранили offset в конфиге — после перезагрузки хотспота смещение пропадёт. MMDVMCal сам по себе конфиг не меняет, только печатает значение при выходе.

Калибровка — основа надёжной работы в сети

Точно откалиброванный хотспот означает стабильный приём SMS, данных и голоса в сети DMRhub. Если у вас ещё нет образа — соберите хотспот на Raspberry Pi за полчаса: образ RadioStar включает веб-панель с BER-свипом, и ручной перебор частоты через SSH не нужен.

Источники

  1. MMDVMCal — официальный репозиторий (G4KLX) — github.com/g4klx/MMDVMCal
  2. Getting the best BER from your Pi-Star MMDVM (M1GEO, George Smart) — george-smart.co.uk
  3. MMDVMCal DVM Calibration (VK4PK) — lyonscomputer.com.au
  4. Hotspot Offset Calibration (K9NPX) — k9npx.com
В сети DMRhub

Настроили рацию — заходите в эфир: свой мастер, хотспоты и приложение с DMR прямо в телефоне.

Войти в портал