
13. Недвоичные коды.
Недвоичные блоковые коды состоят из набора кодовых слов фиксированной длины, в которых каждый элемент кодового слова выбирается из алфавита, содержащего q символов, обозначаемых 0,1,2…q-1 . Обычно q=2k , так что k информационных бит отображается одним из q символов. Длина недвоичного кодового слова обозначается через N , а число информационных символов, закодированных блоком из N символов, обозначается K . Минимальное расстояние недвоичного кода обозначается Dmin . Систематический блоковый код (N,K) содержит K информационных символов и N-K проверочных символов.
Недвоичные помехоустойчивые коды
Недвоичные коды позволяют работать с символьными данными, что гораздо удобнее во многих цифровых системах.
Такие коды могут применяться:
- для повышения достоверности передачи данных по каналам с группирующимися ошибками;
- в пакетных сетях передачи данных;
- в качестве составляющих элементов различных каскадных кодов и т.д.
Известные недвоичные коды и методы их декодирования:
- коды Рида-Соломона (РС);
- недвоичные турбо коды;
- недвоичные низкоплотностные коды (qLDPC);
- недвоичные многопороговые декодеры (qМПД) недвоичных самоортогональных кодов.
Сравнение сложности реализации
Коды Рида-Соломона:
- вычислительная сложность классического алгоритма декодирования O(n2);
- вычислительная сложность алгоритма декодирования Судана O(n3);
- используются вычисления в полях Галуа, что сложно при больших q;
- длина кода n не превосходит размер алфавита q.
Практически невозможно создать эффективный декодер для длинных кодов.
qLDPC коды:
- вычислительная сложность расширенного min-sum алгоритма
декодирования O(n·q·log2q);
- возможно декодирование со сложностью O(n·s2), s≤q, при ухудшении
эффективности декодирования.
Сложно создать эффективный декодер для кодов с большим размером
алфавита q.
qМПД для недвоичных самоортогональных кодов:
- вычислительная сложность qМПД O(n);
- не используются вычисления в полях Галуа.
Простая реализация эффективного декодера для кодов с произвольно
большой длиной и большим размером алфавита q.
14. Перемежение данных и его назначение.
Для борьбы с замираниями и возникновением связанных с ними пакетов ошибок служит процедура перемежения. Она состоит в перестановке символов кодированной последовательности до ее модуляции и восстановлении исходной последовательности после демодуляции. Перестановка позволяет так разнести рядом стоящие символы, чтобы они оказались разделены группой других символов, передаваемых в том же блоке данных. Данная операция не вносит избыточности, а только изменяет порядок следования символов или бит. Однако чем больше глубина перемежения (т.е. максимальное расстояние, на которое разносятся соседние символы входной последовательности), тем больше задержка.
Поясним идею перемежения на примере многошагового перемежителя (MIL, Multi-Stage Interliving). Принцип его работы достаточно прост. Исходная кодовая последовательность из L символов разбивается на M блоков по N символов в каждом и преобразуется в матрицу размером L=[NxM], где N — число символов в строк, а M — число столбцов. Операция блочного перемежения заключается в последовательной построчной записи входных данных и считывании этой информации по столбцам. В результате порядок следования символов в выходной последовательности будет изменен, например k-я строка матрицы будет выглядеть как {k, M+k, 2M+k,...(N-1)(M+k)}. Из приведенной записи видно, что два любых соседних символа входной последовательности будут разнесены в радиоканале на M-1 символ.
Максимальное расстояние, на которое разносятся соседние символы (т.е. глубина перемежения) определяется как d=TM (где T — длительность символа). Если время, в течение которого происходил сбой сигнала, меньше глубины перемежения, любой пакет ошибок будет преобразован в группу из M одиночных ошибок, которые легко устраняются сверточным кодом.
В общем случае выбор глубины перемежения зависит от двух факторов. С одной стороны, чем больше расстояние между соседними символами, тем большей длины пакет ошибок может быть исправлен. С другой стороны, чем больше глубина перемежения, тем сложнее аппаратно-программная реализация оборудования и больше задержка сигнала.