Ivan Karamazov писал(а):А вот здесь -- не вполне (вполне не) -- чтобы принять эту преамбулу (синхромаркер) нужно его принять однозначно -- без этого нельзя запустить помехоустойчивое декодирование и прочие прелести жизни радиокадра. Ну а если синхромаркер выделился, то все -- неоднозначности более нет. Вроде бы. ("сколько у вас рук? нет, вы не считайте -- вы так скажите" -- это я в свой адрес.)
Начнем с того, чтобы обнаружить преамбулу, не обязательно чтобы местный гетеродин демодулятора находился в фазе с принимаемым потоком. Обнаружить можно с помощью того же коррелятора, точнее вычислением модуля корреляционной функции, для которого фаза не имеет никакого значения. А уже потом, зная достоверно побитно преамбулу, согласно ей доворачиваем по фазе весь пакет данных. Это что касается наличия в потоке данных синхромаркера. Если такого маркера в потоке нет, то можно обойтись и без него, работая по декодеру, например, сверточному. Модуляция QPSK/OQPSK имеет неоднозначность фазы, равную 4-м кратам. Как можно устранить эту неоднозначность? Есть два пути, оба работают на практике. Первый - это доворотом фазы местного гетеродина и второй - обычным переприсвоением дибит на выходе демодулятора. В обоих случаях о правильном снятии неоднозначности решение выносит помехоустойчивый декодер. Т.е. сначала на этапе синхронизации декодера методом перебора 4-х гипотез происходит синхронизация декодера с фазой принимаемого сигнала. Другими словами, каждому из дибитов входного сигнала ставится в соответствие один из 4-х вариантов дибитов с соответствующим доворотом фазы: на 0, 90, 180 и 270 град. Т.е. 00 может перейти в 00, 01, 10, 11. и так для каждого дибита. Одна из гипотез обязательно сработает. критерием правильности будет служить минимум уровня ошибки в декодере. Здесь еще надо заметить, что декодер должен стать точно на границу кодового ребра, т.е. на границу дибита, иначе ничего не выйдет, т.е. должна быть еще выполнена символьная синхронизация. После того как декодер засинхронизировался, включается режим декодирования и слежения за синхронизацией, при нарушении которого, весь процесс начинается заново.
Ivan Karamazov писал(а):Есть поток 4-ричных символов на входе модулятора. В идеале -- тот же поток имеет место на выходе демодулятора. Посередине для оптимизации работы аналогового канала с точки зрения цифры произведено преобразование в код Грея. (о "количестве рук" -- это возможно?) Преобразование выполнено не в терминах символов, а в терминах сдвига фазы на 1/2 символьного такта м/у IQ. Мне представляется, что это преобразование должно уметь выражаться через автомат, перемалывающий символы как числа -- аналогично диф. кодеру-декодеру. Если это так, то все вопросы были бы сняты. Особенно, если таковой автомат нарисовать. Боюсь, что эта картина мира неправомерна. Поправьте, пожалуйста.
Что такое код Грея или так скажем его аналоги в том или ином виде? Это, пожалуй, единственный уникальный случай в области помехоустойчивого кодирования, когда вы не используя никакой избыточности, можете повысить вероятность приема обычным переприсвоением бит. Суть такой манипуляции в том, чтобы соседние отсчеты на сигнальном созвездии отличались друг от друга на минимальное число бит, в идеале на 1 бит. Тогда при приеме ошибка в символе приведет к ошибке всего в одном бите. Это называется меппинг. И выполняется он на уровне
бит, а не на уровне символов, и тем более никаких доворотов фаз на этапе модуляции делать не надо. И потом, если модулятор выполнен по квадратурной схеме, то на входе такой схемы стоит ключ, который направляет четный поток бит (дибит, трибит, ....) в синфазный канал, а нечетный в квадратурный.