2. ЛИНЕЙНЫЕ ГРУППОВЫЕ КОДЫ
Линейным называется код, в котором проверочные символы представляют собой линейные комбинации информационных. Групповым называется код, который образует алгебраическую группу по отношению операции сложения по модулю два.
Свойство линейного кода: сумма (разность) кодовых векторов линей-ного кода дает вектор, принадлежащий этому коду. Свойство группового кода: минимальное кодовое расстояние между кодовыми векторами равно минимальному весу ненулевых векторов. Вес кодового вектора равен числу единиц в кодовой комбинации.
Групповые коды удобно задавать при помощи матриц, размерность которых определяется параметрами k и n. Число строк равно k, а число столбцов равно n = k+m.
. (6)
Коды, порождаемые этими матрицами, называются (n, k)-кодами, а соответствующие им матрицы порождающими (образующими, производящими). Порождающая матрица G состоит из информационной Ikk и проверочной Rkm матриц. Она является сжатым описанием линейного кода и может быть представлена в канонической (типовой) форме
. (7)
В качестве информационной матрицы удобно использовать единичную матрицу, ранг которой определяется количеством информационных разрядов
. (8)
Строки единичной матрицы представляют собой линейно-незави-симые комбинации (базисные вектора), т. е. их по парное суммирование по модулю два не приводит к нулевой строке.
Строки порождающей матрицы представляют собой первые k комбинаций корректирующего кода, а остальные кодовые комбинации могут быть получены в результате суммирования по модулю два всевозможных сочетаний этих строк.
Столбцы добавочной матрицыRkmопределяют правила формирования проверок. Число единиц в каждой строке добавочной матрицы должно удовлетворять условию r1 ³ d0-1, но число единиц определяет число сумматоров по модулю 2 в шифраторе и дешифраторе, и чем их больше, тем сложнее аппаратура.
Производящая матрица кода G(7,4) может иметь вид
и т.д.
Процесс кодирования состоит во взаимно - однозначном соответствии k-разрядных информационных слов - I и n-разрядных кодовых слов - с
c=IG. (9)
Например: информационному слову I =[1 0 1 0] соответствует следующее кодовое слово
. (10)
При этом, информационная часть остается без изменений, а корректирующие разряды определяются путем суммирования по модулю два тех строк проверочной матрицы, номера которых совпадают с номерами разрядов, содержащих единицу в информационной части кода.
Процесс декодирования состоит в определении соответствия принятого кодового слова, переданному информационному. Это осуществляется с помощью проверочной матрицы H(n, k).
, (11)
где RmkT -транспонированная проверочная матрица (поменять строки на столбцы); Imm- единичная матрица.
Для (7, 4)- кода проверочная матрица имеет вид
. (12)
Между G(n ,k) и H(n, k) существует однозначная связь, т. к. они определяются в соответствии с правилами проверки, при этом для любого кодового слова должно выполняться равенство cHT = 0.
Строки проверочной матрицы определяют правила формирования проверок. Для (7, 4)-кода
p1Å+a1Å+a2Åa4 = S1 ;
p2Å+a1Å+a2Åa3 = S2 ; (13)
p3Å+a1Å+a3Åa4 = S3 .
Полученный синдром сравниваем со столбцами матрицы и определяем разряд, в котором произошла ошибка, номер столбца равен номеру ошибочного разряда. Для исправления ошибки ошибочный бит необходимо проинвертировать.
Пример 1. Построить групповой код способный передавать 16 символов первичного алфавита с исправлением одиночной ошибки. Показать процесс кодирования, декодирования и исправления ошибки для передаваемого информационного слова 1001.
Решение:
1. Построим производящую матрицу G(n, k).
Если объем кода N = 2k = 16, то количество информационных разрядов к = 4. Минимальное кодовое расстояние для исправления одиночной ошибки d0=2s+1=3. По заданной длине информационного слова, используя соотношения:
n = k+m, 2n ³ (n+1)2k и 2m ³ n+1
вычислим основные параметры кода n и m.
m=[log2 {(k+1)+ [log2(k+1)]}]=[log2 {(4+1)+ [log2(4+1)]}]=3.
Откуда n = 7, т. е. необходимо построить (7, 4)-код.
В качестве информационной матрицы Ik(7, 4) - выбираем единичную матрицу (4´4), а в качестве проверочной матрицы Rkm(7 ,4) - выбираем матрицу (4´3), каждая строка которой содержит число единиц больше или равно двум (r1 £ d0-1).
Таким образом, в качестве производящей можно принять матрицу
.
... обратной связи не через n-k сдвигов, а сразу с первого такта. Это позволяет устранить разрыв между информационными и проверочными символами. Рис. 1.1. Кодирующее устройство для циклического кода на основе (n-k) – разрядного регистра сдвига. В исходном состоянии ключ К1 находится в положении 1, а ключ К2 замкнут. Информационные символы одновременно поступают как ...
... по методу максимального правдоподобия, то есть оптимальным образом. Оптимальное декодирование предполагает, что декодер будет исправлять большее число ошибок, чем пороговое значение. 2. Разработка кодирующего устройства для формирования сверточного кода 2.1 Разработка структурной схемы кодирующего устройства для формирования сверточного кода Основой для построения структурной ...
... из ЗУ передатчика очередной порции информации, следующая порция не передаётся до тех пор, пока не будет получен ответ по этой порции. Порядок расчета Рлс и пример расчета Рлс для циклического (n,k)–кода Хэмминга, обеспечивающего минимум разности Рдоп – Рлс(n,k): Произведем расчет для (18,13)-кода с d=3. Для этого введем обозначения: · Pбо – вероятность появления на выходе ДСК комбинации ...
... , ещё одно: Мы получили окончательные правила построения кода, способного исправлять все одиночные и обнаруживать двойные ошибки: Используя правила построения корректирующего кода (*), построим таблицу разрешённых комбинаций группового кода объёмом 9 слов, способного исправлять все одиночные и обнаруживать двойные ошибки. В колонку «безызбыточный код» записываем девять (по заданию Q=9) ...
0 комментариев