- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ
- •2.2. Структуры оптимальных приемников различения двух сигналов (оптимальность по В.А. Котельникову)
- •2.3. Анализ помехоустойчивости оптимальных приемников различения двух сигналов
- •3. ОБЩИЕ ПРИНЦИПЫ ОБНАРУЖЕНИЯ И ИСПРАВЛЕНИЯ ОШИБОК ИЗБЫТОЧНЫМИ КОДАМИ
- •3.1. Мера избыточности кода
- •3.2. Оценка помехоустойчивости при передаче дискретных сообщений
- •4. ПРИНЦИПЫ ПОСТРОЕНИЯ И РЕАЛИЗАЦИЯ КОМБИНАТОРНЫХ КОДОВ
- •4.2. Избыточные комбинаторные коды
- •4.2.1. Код на некоторые сочетания (четные или нечетные)
- •4.3.2. Проектирование многоступенных комбинаторных узлов
- •4.4. Проектирование декомбинаторных устройств
- •4.4.1. Проектирование одноступенных матричных декомбинаторных узлов
- •5. ПРИМЕНЕНИЕ ГРУППОВЫХ КОДОВ В КАНАЛАХ И ТРАКТАХ СИСТЕМ ПЕРЕДАЧИ ДАННЫХ
- •6.1.6. Матричный способ представления циклического кода
- •6.1.7. Циклические систематические коды
- •6.2.1. Кодирование при помощи порождающего полинома £(дс)
- •6.2.1.1. Общие принципы кодирования
- •6.2.1.2. Кодирующие устройства БЧХ-кодов, построенные при помощи порождающего полинома g(x)
- •7.3.2. Кодирование циклических кодов исправляющих пакеты ошибок
- •7.З.2.1. Независимое декодирование перемежаемых (л, /я)-кодов
- •7.3.3.2. Декодирование циклических кодов Файра
- •8.1. Краткая характеристика методов повышения помехоустойчивости
- •8.4. Использование обратной связи в системах передачи на базе протокола HDLC
- •8.4.1. Основные возможности протокола HDLC
- •8.4.4. Кодонезависимость и синхронизация HDLC
- •8.4.5. Управляющее поле HDLC
- •9.2. Арифметические коды, использующие контроль по модулю простого числа
- •9.2.1. Контроль арифметических операций
- •9.2.2. Контроль логических операций
- •9.5.2. Арифметические систематические (n,m,dА)-коды, обнаруживающие и исправляющие ошибки
Расчет параметров табличного кода осуществляется по границе су ществования БЧХ-кодов. Пункт (*) «Переход к укороченному коду» осу ществляется только в случае необходимости, т. е. при т < тТ Вероятность правильной передачи вычисляется по следующей формуле:
При выполнении условия по параметрам табличного кода s и А из таблицы выбираются неприводимые многочлены W |( JC) , /W 2 s-i(* )> и з ко торых формируется порождающий полином g(x).
Пример 6.4. Построить БЧХ-код для m = 3,рош= КГ3, Рпр= 0,99999.
1-я итерация: 5 = 0. Построим неравенство 3 < 2Л-1 - 0 • А. Решив его отностительно параметра А, получим значение Л = 2. Табличный код вы глядит следующим образом: (3,3,1), что удовлетворяет равенству m = mT Рассчитаем вероятность правильной передачи: Рпр “ 0,997, что меньше за данного значения, поэтому переходим к следующему шагу.
2- |
я итерация: 5= 1 . Построим неравенство 3 < 2h -1 -1 • А. Решив |
||
отностительно параметра А, получим значение А = 3. Табличный код вы |
|||
глядит |
следующим |
образом: |
(7,4,3). Перейдя к укороченному коду |
(z = 1), получим код (6,3,3). Рассчитаем вероятность правильной передачи: |
|||
Япр = 0,999985, что |
меньше |
заданного значения, поэтому переходим |
|
к следующему шагу. |
|
|
|
3- |
я итерация: 5 = 2. Построим неравенство 3 < 2 л -1 -2 -А . Реш |
его отностительно параметра А, получим значение А = 4. Табличный код выглядит следующим образом: (15,7,5). Перейдя к укороченному коду (z = 4), получим код (11,3,5). Рассчитаем вероятность правильной переда чи: Рпр = 0,99999984, что больше заданного значения, поэтому расчет за канчивается. По параметрам 5 и А выберем из таблицы два (5 ) неприводи мых многочлена nt\(x) и т$(х). Порождающий полином g(x) определяется следующим образом: g(x) = т\(хУт$(х). Вычислив порождающий полином, можно считать алгоритм выбора параметров БЧХ-кода завершенным, по скольку полученный код удовлетворяет исходным данным и требованиям.
6.1.6. Матричный способ представления циклического кода
Циклический код, как было изложено выше, принадлежит цикличе скому векторному пространству. Поэтому для представления ЦК могут быть использованы способы, характерные для векторных пространств, та кие, например, как матричное представление.
Как и для группового кода, для циклического кода можно сформи ровать порождающую и проверочную матрицы. Способ формирования по рождающей матрицы G аналогичен - она состоит из базисных векторов, образованных порождающим полином g(x). Проверочная матрица Я состоит из векторов, образованных от проверочного полинома h'(x). По лином h \х) является обратным к полиному h(x) и может быть представлен следующим образом:
_ |
w |
h(x) = hm0 hm_xx 0 hm_2x |
0 ... 0 h0 x m = £ |
|
1=0 |
Строками матрицы G являются порождающий полином и (т - 1) его циклических сдвигов вправо. Строками матрицы Я являются обратный проверочный полином и (к - 1) его циклических сдвигов влево.
|
g(x) |
Г' |
_ xg(x) |
^ тхп |
|
|
/" ■ ’g W |
- h \x) -
xh\x)
>Нкхп -
l -X_
1
Размерность порождающей матрицы G равна т х п. Размерность проверочной матрицы Я равна к х п .
Особое внимание необходимо обратить на порядок представления строк матриц. Строки порождающей матрицы G начинаются с младших разрядов, а строки проверочной матрицы Я - со старших. Это необходимо
для соблюдения условия их соответствия: G • Я т =0.
Пример 6.6. Рассмотрим матричное задание для циклического кода
(7,4,3) с порождающим |
полиномом g(x)=l®x20x3 и проверочным полино |
||||
мом Л(х)=1®.т2®х30д:4 |
|
|
|
|
|
Построим порождающую и проверочную матрицы. |
|||||
|
’ g(x) |
’ |
I0JC2 0 X 3 |
|
'1011000' |
|
xg(x) |
X 0jt3® / |
AA 0101100 |
||
|
x 2 g(x) |
х 2 Ф х4 Ф х5 |
w |
0010110 |
|
|
|
||||
|
x'g{x)_ |
У © х5Ф х6_ |
0001011 |
||
" |
K x) ' |
|
x 4 0 дг3 0 д:2 0 |
1 ’ |
'0 0 1 п о Г |
^3x7 = |
xh(x) |
= |
д5Ф д4 Ф д3 Фд |
<=> 0111010 |
|
x 2 h(x) |
|
х 6 ® xs Ф х4 Ф х2 |
1110100 |
Векторы циклического кода могут быть сформированы, например, в виде линейной комбинации строк порождающей матрицы G. Таких ком бинаций может быть сформировано 2т —1 = 2 4—1 = 16. Таким образом, матрица G порождает циклическое векторное пространство размерности N —4 и мощности М= 16.
6.1.7. Циклические систематические коды
Для систематических кодов характерно соблюдение требования по значению веса кодового вектора не менее минимального кодового рас стояния, а также определенное расположение элементов кодовой комби нации. Циклические коды, удовлетворяющие указанным требованиям, на зываются циклическими систематическими кодами (ЦСК).
Структура векторов ЦСК аналогична структуре векторов ГСК, рас смотренных в разделе 4: при к младших степенях кодового полинома рас полагаются избыточные разряды, при т старших степенях - информаци онные разряды. Структура полинома ЦСК имеет следующий вид:
*-1 |
к+т-1 |
(6.13) |
V(x)= Z cfX J 0 |
z |
|
> 0 |
i= k |
|
|
к - 1 |
- ко- |
где Cj - коэффициенты полинома избыточной части r(x) = Y*c jx 7 5 |
||
|
7 = 0 |
|
/л-1
эффициенты исходного полинома информационной части и(х) = Z uix ' /=о
Полином информационной части м(*) сдвинут в сторону старших разрядов на к символов, что эквивалентно умножению информационного вектора на хк:
/л-1 |
к + т - ) |
л-1 |
х к • и(х) = хк £ |
и,*' = £ utxl |
I " /* ' |
Ы 0 |
Ы к |
Ы к |
Кодовый вектор V выглядит следующим образом:
у = (c0 ,cl,...,Cj,...,ck_u u0 ,uu ...,ui,...,um_i). |
(6.14) |
Для циклических систематических кодов порождающая матрица G имеет приведено-ступенчатую форму и состоит из матрицы R размерности т х к и единичной матрицы / размерности т хт .
|
Г00 |
Г0| |
Г 0 к -1 |
1 0. . 0 |
|
Г \0 |
г„ |
Г 00 |
0 1., .0 |
( * т х п |
[^/пхА Лих/л ] |
|
|
(6.15) |
|
/л-1,0 |
|
|
0 0..л |
Для линейных алгебраических кодов справделиво следующее мат ричное уравнение: u-G=V Проведя умножение по правилам операций над матрицами, получим формулу для вычисления избыточных символов
|
/и-1 |
|
|
|
cj = 1 л |
•“,> |
(6.16) |
|
/=0 |
|
|
где j = 0 , к - \ . |
|
|
|
Для определения коэффициентов Гц построим следующее уравнение: |
|||
______ |
*' = Ф ) *g(x) е |
г, (*), |
(6.17) |
где i = к , п - 1. |
|
|
|
Представив уравнение в виде |
|
|
|
|
х 1 ©/}(*) = ?(*).*(*), |
(6.18) |
убедимся, что его левая часть представляет собой строку порождающей матрицы G. Таким образом, для определения строк матрицы R необходимо рассчитать т остатков от деления полиномов вида У (/ = к,п - 1) на порож дающий полином g(x).
Пример 6.6. Определить порождающую матрицу G для ЦСК (7,4,3), заданный порождающим полиномом g(x)= 10х20х3
Матрица G может быть представлена в следующем виде:
г3(х )0 хъ
г4(х)0лг4 ^4x7 ~ [^4х3^4х4] “ r5(x)© x5
г6(дс)®дг6_
Рассчитав соответствующие остатки от деления на порождающий полином g(x), можно определить коэффициенты гу и построить порож дающую матрицу G:
г3(х)= 10д:2, г4(х)=10х0х2, г5(х)=10х, г6(х)=х0х2
1Фх2 Ф х3 |
"1011000' |
1Ф хФ х2 © х4 |
1110100 |
1 Ф хФ х5 |
1100010 |
хФ х2 Ф х6 |
0110001 |
По виду матрицы (столбцам матрицы R) выпишем уравнения для вычисления проверочных символов:
C Q = U 0® U \ ( B U 2 , C I= W | © M 2® W 3, C 2= M O ® W I® W 3.
Проверочная матрица Н для ЦСК в приведено-ступенчатой форме выглядит следующим образом:
|
Hk*n = |/*xA ^TAxw], |
(6 .1 9 ) |
где |
- единичная матрица размерности к * к; Ятк*к - |
транспонированая |
матрица R. Для вычисления матрицы R используются приведенные выше соотношения, для которых полиномы п(х) - столбцы матрицы Н. Напом ним, что проверочная матрица Н строится, начиная со старших разрядов (а не с младших, как порождающая матрица G). Поэтому единичная мат рица / имеет единицы по противоположной диагонали (справа налево сверху вниз).
Пример 6.7. Определить порождающую матрицу Н для ЦСК (7,4,3), заданного порождающим полиномом g(x)= 1Фх2©*3
Используя результаты вычислений полиномы г,{х) из предыдущего примера и записав их в столбцы, приведем вид проверочной матрицы Н в векторном виде:
0011110"
"зх7 = 0100111 . 1001101
По виду матрицы (строкам матрицы RT) выпишем уравнения для вы числения проверочных символов:
С 0= и 0( В и 1®М2>С|=М|Фм2®Мз, С2=1/0ФМ|©М3-
Очевидно, что операторы кодирования, вычисленные разными спо собами по одному порождающему полиному, совпадают.