- •- Коефіцієнт використання синхронного каналу.
- •Складність реалізації.
- •Классификация помехоустойчивых кодов
- •Линейные коды
- •Код Хэмминга
- •Циклические коды
- •Устройства преобразования сигналов для физической линии
- •Рассмотрим примеры сигналов амплитудной, частотной и фазовой модуляции.
- •1. Основна
- •Список літератури
- •Додаткова
Классификация помехоустойчивых кодов
ИЗБЫТОЧНЫЕ КОДЫ
БЛОЧНЫЕ
НЕПРЕРЫВНЫЕ (СВЕРТОЧНЫЕ)
РАЗДЕЛИМЫЕ
ЛИНЕЙНЫЕ
НЕЛИНЕЙНЫЕ
ИТЕРАТИВНЫЕ
ЦИКЛИЧЕСКИЕ
ХЭММИНГА
НЕРАЗДЕЛИМЫЕ
С постоянным весом
В блочных кодах информационная последовательность на входе кодера разбивается на отдельные блоки, которые кодируются и декодируются независимо друг от друга. Блочные коды являются равномерными, то есть все блоки содержат одинаковое число элементов кода.
В непрерывных (древовидных) кодах передаваемая последовательность образуется без предварительного разбиения информационной последовательности на независимые блоки. Процессы кодирования и декодирования являются непрерывными. Проверочные символы размещаются между информационными по определенному алгоритму. Часто последовательность на выходе кодера вообще нельзя разделить на информационные и проверочные символы. При этом каждый информационный символ влияет на формирование нескольких десятков символов выходной последовательности.
Блочные коды делятся на разделимые и неразделимые в зависимости от метода введения избыточности. В разделимых кодах информационные элементы обычно размещаются в начале слова. Проверочные элементы вычисляются по определенным правилам и размещаются обычно в конце кодового слова. В неразделимых кодах символы кодовых слов не делят на информационные и проверочные. К таким кодам относятся коды с постоянным соотношением нулей и единиц в кодовых словах. Например, при связи по коротковолновым радиоканалам используется 7-ми элементный равновесный код. Из общего числа N0=27=128 кодовых слов используется только N=35 слов равного веса , каждое из которых содержит 4 нуля и 3 единицы.
Разделимые двоичные коды делятся в свою очередь на линейные и нелинейные.
Линейными кодами называются коды, в которых сумма по модулю 2 двух или более разрешенных кодовых слов дает другое разрешенное кодовое слово.
Нелинейные коды этим свойством не обладают. К ним относятся итеративные коды. Итеративные коды – это коды с контрольным суммированием, причем каждое кодовое слово участвует в нескольких системах проверок.
Среди линейных кодов большую группу составляют циклические коды. Их отличительное свойство состоит в том, что циклическая перестановка символов кодового слова приводит к получению другого разрешенного кодового слова.
№6
Линейные коды
Блочным линейным кодом называется (n,k) код, проверочные символы которого являются линейными комбинациями информационных символов. Здесь:
n – длина кода, то есть длина кодовых слов
k – число информационных символов
Обозначим U – последовательность из k информационных символов.
U=(u1, u2,…….uk)
Обозначим V – кодовое слово линейного кода длиной n символов.
V=(v1, v2,……….vn)
К
одовое
слово V
формируется из последовательности U
по следующему правилу:
Коэффициенты l,i представляют собой фиксированные двоичные символы, не зависящие от u .При выборе разных совокупностей l,i получаются различные линейные коды.
Отношение R=k/n называется скоростью кода, а величина W=1-R – называется избыточностью кода.
Линейный код может быть задан в виде таблицы кодовых слов или при помощи указания коэффициентов l,i . Второй способ более экономичен.
П
ри
задании линейного кода с помощью набора
коэффициентов l,i
записывается образующая
матрица G
. Матрица G
имеет размер kxn
. Первые k
столбцов представляют собой единичную
матрицу kxk
, следующие n-k
столбцов представляют совокупность
коэффициентов l,i
(матрица
проверочных
элементов).
Это запись образующей матрицы в канонической форме.
В строке матрицы проверочных элементов должно быть не менее чем (dmin-1) единиц, а расстояние Хэмминга между строками не менее (dmin-2), где dmin - кодовое расстояние.
При заданной информационной последовательности и образующей матрице кодовое слово V получают следующим образом
Vi=Ui при 1<=i<=k
и
Vi=U1*1,i U2*2,i …. Uk*k,i при k+1<=i<=n
Пример
П
усть
разделимый линейный код (5,3) задан при
помощи образующей матрицы G
Запишем в виде формул процедуру нахождения символов кодового слова, если задана некоторая информационная последовательность U=(u1,u2,u3). Кодовое слово будет содержать 5 символов V=(v1,v2,v3,v4,v5).
Если в информационной последовательности имеется только один символ 1 на j – ой позиции, а на остальных позициях находятся нули U=(000….1j….0), то соответствующее кодовое слово V будет представлять собой j – ю строку матрицы G. Обозначим j – ю строку матрицы G, как gj. Произвольное кодовое слово можно представить в виде суммы по модулю 2 строк образующей матрицы с номерами j ,значения которых совпадают с номерами ненулевых разрядов в информационной последовательности.
Вернемся к примеру, приведенному выше. Пусть U=(101), тогда V=(10111), кодовое слово получилось как сумма по модулю 2 первой и третьей строк образующей матрицы.
Свойства линейных кодов
Любые К линейно-независимых кодовых слов задают все множество 2к слов линейного кода и могут составить его образующую матрицу. Произвольная образующая матрица может быть приведена к каноническому виду суммированием строк по mod2.
К
одовые
слова Vj
являются линейно-независимыми, если
сумма по модулю 2 вида
только когда все коэффициенты j равны 0.
Сумма по модулю 2 любого числа кодовых слов также является словом данного линейного кода.
Нулевая последовательность всегда является кодовым словом.
Кодовое расстояние dmin равно минимальному весу ненулевого кодового слова.
И
з
любого линейного (n,k)
кода с кодовым расстоянием dmin
можно получить код (n-i,
k-i)
с кодовым расстоянием не меньше dmin
. Для этого из образующей матрицы G
исходного кода вычеркивают любые i
строк и i,
ставших нулевыми столбцов. Например,
задан код (5,3) с образующей матрицей G,
кодовое расстояние которого равно
dmin=2.
П
олучим
укороченный код (4,2), вычеркнув первую
строку и первый столбец, ставший нулевым,
в матрице G. Образующая матрица укороченного
кода G'
имеет вид
Кодовое расстояние укороченного кода dmin=2.
Задача 1
Образующая матрица линейного кода имеет вид
К
акие
из приведенных последовательностей
являются кодовыми словами данного кода?
1000
100011
10101
11011
00000
Задача 2
К
акие
из приведенных матриц являются образующими
матрицами линейного кода (5,3)?
Лекция 8
ДЕКОДИРОВАНИЕ ЛИНЕЙНЫХ КОДОВ
П
роцедура
декодирования линейного разделимого
кода состоит в проверке соотношения
Эти уравнения можно решить при помощи проверочной матрицы Н. В случае правильного приема V*H=0.
П
роверочная
матрица имеет размеры nx(n-k)
и имеет вид
Д ля кода (5,3) с порождающей матрицей G
проверочная матрица
имеет вид
Произведение принятой последовательности Y и проверочной матрицы называется синдромом S.
S=Y*H
С
индром
– это строка, которая содержит r=n-k
элементов. Синдром равен 0 (все элементы
синдрома равны 0), если ошибки в принятом
кодовом слове отсутствуют, то есть
S=V*H=0.
Если принятый i-й
проверочный символ (1<=i<=r)
отличается от i-го
проверочного символа, вычисленного по
принятым информационным символам по
известным правилам, то i-й
элемент синдрома будет равен 1.
З
десь
e
– комбинация или вектор ошибки. Вид
синдрома зависит от вида вектора ошибки.
Один и тот же синдром соответствует 2k
векторам ошибок. Некоторый вектор ошибки
e'
имеет тот же синдром, что и вектор e,
если
Декодирование с исправлением ошибок
При декодировании с исправлением ошибок каждому синдрому линейного кода ставят в соответствие определенный вектор ошибки, который является наиболее вероятным в заданном канале. Например, если задан двоичный симметричный канал без памяти ДСК, то в таблицу декодирования линейного кода следует включить вектора ошибок с минимальным весом.
Декодирование с обнаружением ошибок
В данном случае при приеме последовательности Y вычисляется синдром и выдается сигнал наличия ошибки, если S не равен нулю. Если вектор ошибки совпадает с одним из кодовых слов, ошибка не может быть обнаружена.
Определим вероятность необнаруженной ошибки для ДСК
P(0/0)=P(1/1)=1- - вероятность правильного приема двоичного символа в ДСК
P(0/1)=P(1/0)= - вероятность ошибки в двоичном символе
Д
ля
ДСК без памяти вероятность появления
любого вектора ошибок веса t
в кодовом слове длиной n
символов равна
Л
инейный
код не обнаружит ошибку, если вектор
ошибки совпадет с каким-либо кодовым
словом. Поэтому, для вычисления вероятности
необнаруженной ошибки необходимо знать
спектр
весов
кода.
Спектром весов кода называется
последовательность чисел N(t),
каждое из которых показывает число
кодовых слов, содержащих t
единиц.
Задача
Задана проверочная матрица линейного кода
К акие из перечисленных комбинаций являются кодовыми словами данного кода:
Y1=01111 +
Y2=111000
Y3=11011
Y4=1011
Y5=10110 +
Задача
Задан код с длиной кодового слова n=12. Определить необходимое минимальное число проверочных символов, если код должен исправлять все одиночные ошибки?
В
соответствии с условием задачи число
одиночных ошибок в кодовом слове равно
12. Каждой комбинации ошибки должен
соответствовать свой синдром. Длина
синдрома составляет (n-k)
символов, число синдромов – 2n-k.
Число ненулевых синдромов должно быть
не менее n=12,
то есть
С
ледовательно,
число проверочных символов должно быть
