Плагин DCS Decoder для SDR Sharp
Плагин DCS Decoder для SDR Sharp DCS (Digital-Coded Squelch, у Motorola — DPL, Digital Private Line; в документации ETSI — DCSS, Digitally Coded Squelch Signalling) — цифровой аналог системы CTCSS. Вместо непрерывного синусоидального субтона передатчик «подмешивает» к голосу последовательный поток битов: 23-битное слово, передаваемое со скоростью 134,4 бит/с. Структура слова по стандарту ETSI TS 103 236: биты 1–9 — сам DCS-код (записывается трёхзначным восьмеричным числом, младший бит идёт первым), биты 10–12 — постоянная сигнатура «100», биты 13–23 — 11 контрольных бит, сгенерированных циклическим кодом Голея (23,12). Контрольные биты позволяют приёмнику обнаруживать и исправлять ошибки вплоть до трёх бит — за счёт этого число ложных срабатываний ниже, чем у простого тона CTCSS. Всего стандартных кодов 83 (таблица 2 стандарта ETSI TS 103 236), с расширенным списком — 104; в рациях Baofeng, например, зашито 105 кодов. Плагин DCS Decoder для SDR# (оригинал Youssef Touil, 2012; русскоязычная версия от Natalex на rtl-sdr.ru) декодирует принимаемую последовательность и проверяет биты чётности/контроля. Главная особенность — выводятся все совместимые коды (обычно около шести): разные пары «код/инверсия» дают одинаковую битовую последовательность, и лишь один из них (или его инверсия) используется по традиции при программировании раций; остальные варианты в списке — теоретически возможные, с повышенной вероятностью ложных срабатываний. Панель повторяет CTCSS: галочка Detect (обнаружение), галочка Squelch + поле Code (шумоподавление — глушит звук, пока не придёт заданный код; значение 0 пропускает сигнал с любым кодом), кнопка «Set this code» переносит последний декодированный код в поле Code. Дополнительно русская версия позволяла настраивать шумоподавитель на группу кодов. Правка в ветке thewraith2008 (v1.3.0.0): тот же фикс увеличенного hold-буфера, что и в CTCSS (в SDR# ~1822 старые версии сломались из-за уменьшенного аудиобуфера), исправлен порядок отображения бит — код теперь показывается в правильном порядке, добавлена опция DCS.OnlyUseDcsCodesInTable в SDRSharp.exe.config со значениями: 1 — показывать только 83 стандартных кода, 2 — то же плюс 21 расширенный (104). Окно результатов работает только в режиме NFM и только при идущем приёме — при остановке плейбэка окно исчезает (поведение можно переопределить строкой в конфиге). Подключение в Plugins.xml — рядом с CTCSS-плагином, до плагинов, обрабатывающих и фильтрующих звук (DAP, эквалайзер) — иначе декодер получает уже «подправленный» аудиопоток и ошибается. Входит в официальный Community Plugin Package (галочка «Plugin DCS decoder squelch» при установке). Простыми словами. Если CTCSS — это «пароль-мелодия» (один непрерывный тон), то DCS — «пароль-телеграмма»: передатчик безостановочно нашёптывает цепочку из 23 бит, и приёмник открывается, только если последовательность совпала. Зачем цифра вместо тона? Кодов в разы больше (83 против 50 тонов), а контрольные биты Голея работают как проверочная строка в телеграмме: если эфир изгрыз сигнал помехами, приёмник всё равно соберёт код, поправив до трёх ошибок, — а «голодный» CTCSS-тон на шумном канале просто не распознается. Практика с плагином та же, что и с CTCSS: сканируете канал, включаете Detect — плагин показывает найденный код (проверьте биты чётности — то есть заходите на канал в момент уверенного приёма). Вписываете код в поле Code, включаете Squelch — и слушаете только «своих». Главная ловушка новичка: в окне окажется список из ~6 кодов, а не один. Это не ошибка — битовую последовательность дают несколько разных «паролей», и по эфиру их не различить. Берите тот, что стоит первым и совпадает с базами частот (RadioReference): его и используют при программировании раций, остальные — «тени». Ещё нюанс: коды бывают в прямой (+) и инверсной (−) полярности — «+073» и «−073» это разные настройки рации, вписывайте знак так, как показывает плагин. Честные оговорки: работает только в NFM; от голоса ниже 300 Гц битовый поток мож...