Введение в DMR: как оно устроено

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Раз уж придется не один раз еще употреблять страшные слова и аббревиатуры (причем нередко из трех букв), стоит написать отдельно нечто в стиле «Цифровая связь стандарта DMR для чайников», хотя и поглубже обычного. Но не буду уподобляться составителям документации ETSI, труды которых читать нужно, но не хочется. Хотя основы терминологии придется не раз, в частности. А, чтобы это все нормально читалось, одолжил для разбавки текста картинками помощников. Если что, коты плюшевые и пьют разведенный кофе.


Здесь и далее фотографии мои, если не указано иное

Итак, о чем речь-то вообще? DMR, то есть Digital Mobile Radio — это открытый стандарт цифровой радиосвязи, разработанный и утвержденный в свое время Европейским институтом телекоммуникационных стандартов ETSI (а не «Моторолой», как часто можно услышать даже от умных вроде людей). Это — та самая организация, что дала нам, к примеру, протокол сотовой связи GSM. Открыт, замечу, именно протокол — а вот шифрование, скажем, в нем не описано, и каждый производитель может городить что хочет, что мы и имеем на практике. Более того, даже в общераспространенной реализации DMR вокодер защищен патентом до 2027 года.

Делалось это все по одной простой причине — и нет, «качество передачи звука» и прочее из рекламы тут ни при чем. Все дело в том, что со времен искровых передатчиков Попова ничего принципиально не меняется по велению неумолимой физики: если ты передаешь что-то на некой частоте, то тебя услышат все в радиусе приема, лишь бы принцип модуляции более-менее был идентичным, и частота совпадала (если что, со сдвигом частоты приемника частотной модуляции можно кое-как послушать и амплитудную). Строить на таком принципе сложную по иерархии сеть с возможностью индивидуальных и групповых вызовов, с ролями «начальник» и «подчиненные» — это противно самому принципу радиосвязи, хотя и пытались. Что требовало либо выделения широкой полосы частот для разных групп пользователей («Галя с кассы на канале 1, охранники торгового зала на канале 2, грузчики на канале 3», если упростить), либо работы с субтонами (что все равно позволяло одним мешать другим, а тем, у кого прием на субтон не закрыт — слышать вообще всех, и все равно забивать эфир), либо заимствовать в телефонии DTMF для селективного вызова (собственно, как на телефоне же), и так далее. С точки зрения эфира развитая сеть в единый момент времени выглядела вот так:

Автор: Rheinische Post Источник: rp-online.de

Сама по себе передача данных в «цифре» вопрос не решает совсем — достаточно на забитой парковке крупного ТЦ попробовать снять машину с сигнализации. Не получается? Правильно, эфир и так загружен множеством таких устройств, работающих в одном месте и в одном диапазоне, так еще и брелок лезет на передачу, никого не спросясь. Просто толпу фанатов Cannibal Corpse, орущих на разных языках, сменила толпа техножрецов, бинарным кодом склоняющих на разные лады генерал-фабрикатора Марса.

Поэтому основой стандарта DMR стало TDMA — временно́е разделение пакетов данных, причем сопровождаемых данными синхронизации. Физически это реализовано в виде двух таймслотов длительностью 30 миллисекунд — то есть передатчик оцифрованный поток данных выдает в эфир не непрерывно, а «кусками», оставляя паузы (если это не цифровой «Баофенг» первых лет — те неисправимо гнали поток в оба таймслота). Для надежности в начале и конце таймслота делается небольшая пауза (чтобы устройства связи успели «подумать»), а в данные, передающиеся на каждом таймслоте, встраивается служебный блок данных, причем в центр пакета — итого 108 бит+48 бит+108 бит. И вот именно в служебном блоке и есть весь смак.

Два таймслота формируют один кадр
Автор: VK4PK Источник: www.lyonscomputer.com.au

Когда рация только включилась или переключилась на другой канал, она в эфире, как Джон Сноу — ничего не знает и просто «водит ушами» в эфире. Она вообще «не понимает», что тут происходит, пытаясь из демодулированного эфира выловить пригодные к декодированию согласно стандарту данные.


А? Чо? Где?

В простейшем случае никакой иерархии нет, это DMR Tier I — реализация изначально для маломощных безлицензионных раций, которым это и не нужно в целом, по факту — соединение peer-to-peer. Представьте себе стесняющуюся парочку в пустой комнате, многострадального Басика (которому даже валерьяновка не помогает) и Ларису:

Этикетка — личное творчество, содержимого нет

Оба они ждут начала разговора. То есть передачи — и в этом случае хоть Лариса его подхватит, если Басик заговорит, хоть наоборот. Работать будет правило «кто первый — тот и папа». Но даже на этом уровне в DMR есть иерархия, описанная стандартом, и реализуемая уже даже на китайских рациях (не всех… и, увы, не в альтернативных прошивках).

В первую очередь в стандарте есть понятие «лидера» (источника синхронизации) и таймаута действительности лидера. Физически в более сложных сетях при передаче это два бита (SDI — Source Dynamic Identifier).

В простейшем случае это 00 («Выкл» в моей кривой русификации CPS) — Лариса, наконец-то услышавшая Басика, синхронизируется от него, ибо у обоих SDI=00. Лариса, поймав его передачу, начинает отвечать с правильным таймингом, в любом случае принимая его таймслот за первый, пока общение не заглохнет. По истечению времени валидности синхронизации она снова уходит в режим ожидания (по стандарту ETSI это даже два состояния, которые можно назвать «я помню еще, что ты мне говорил» — то есть данные о синхронизации устарели, но еще могут использоваться, и «я тебя забыла»).

Теперь, если Лариса вспомнит о Басике и решит что-то ему сказать, уже он примет, хм, пассивную роль, и отсинхронизируется от нее.

Безысходность…

Следующий уровень будет еще сложнее — да, с плюшевыми Стичами и объяснением работы DMR Tier II. Перейдем к ретрансляторам.