Эффективность кодирования

Наличие помехоустойчивого кодирования влияет на отношение Еь/Nq. На рисунке 1.18 приведены зависимости Кош = t(Ei/No) для системы связи без кодирования и с кодированием.

Зависимости К = f(Ei/No) для системы связи без кодирования и с кодированием

Рисунок 1.18.- Зависимости Кош = f(Ei/No) для системы связи без кодирования и с кодированием

Эффективность кодирования - это снижение необходимого значения Еь/No для системы с кодированием по сравнению с системой без кодирования (подразумевается один и тот же вид модуляции) для достижения заданного значения коэффициента ошибок.

Выигрыш кодирования оценивается для определенного значения коэффициента ошибок. На рисунке 4.4 это значение равно 10’6.

ВАЖНО! Если значение Ei/N0 ниже определенного порогового значения, кодирование не дает выигрыша в помехоустойчивости.

Объясняется это тем, что при более низком значении Eb/N0 использование дополнительных контрольных битов снижает удельную энергию, приходящую на один бит данных, что ведет к увеличению числа ошибок.

Если значение Et/No выше порогового, способность кода исправлять ошибки (эффективность кодирования) позволяет компенсировать снижение E^N0 и улучшить работу системы связи.

Блочное кодирование

При блочном кодировании входная информация разделяется на блоки, содержащие по к символов каждый, которые по определенному закону преобразуются кодером в/г - символьные блоки, причем п > к.

Отношение кодирующих символов R = - называется скоростью (степе-п

нью) кодирования. Напомним, что величина R<1 является мерой избыточности, вносимой кодером.

Повышению помехоустойчивости способствует так же увеличение длины блока на выходе кодера.

Блочный кодер с параметрами к и п обозначается (п, к), где первым символом п — обозначают число символов в выходном блоке кодера, а к — число символов во входном блоке.

В качестве примера на рисунке 1.19 представлена схема двоичного блочного кодера (5,4) [п=5, к=4, R=0,8].

Один из сумматоров по модулю 2 является вырожденным, т.к. на его вход поступает лишь одно слагаемое.

На рисунке 1.20 показана схема систематического блочного кодера [п=8, к=7, R=0,875], отличительной особенностью которого является то, что в состав блока выходной информации включается блок входной информации. Тривиальные сумматоры, соответствующие этой части выходного блока, не показаны.

Двоичный блочный кодер (5,4)

Рисунок 1.19. - Двоичный блочный кодер (5,4)

Систематический блочный кодер

Рисунок 1.20. - Систематический блочный кодер

Простейший систематический кодер реализует операцию кодирования, состоящую в том, что на выход, кроме копии входного сигнала, поступает лишь один избыточный (контрольный) бит, который является суммой по модулю 2 всех бит входного блока.

Этот избыточный бит называется кодом контроля четности, так как число символов в выходном блоке, с учетом контрольного бита, четное п=8.

Для 8 - битового блока информации схема рисунка 3 может быть названа схемой побайтового контроля четности.

Используя схему рисунка 1.6, рассмотрим возможность обнаружения ошибок при помощи блочного кода, а затем - возможность коррекции ошибок.

На рисунке 1.21 показаны семь блоков выходной информации кодера (рисунок 1.20), причем последний бит в каждом байтовом блоке является кодом четности (т.е. матрица входной информации 7x7, при этом 8-й столбец состоит из битов контроля четности).

12 3 4 5 6 7 8

0

1

1

1

0

0

1

0

0

1

0

0

1

0

1

1

0

1

1

0

0

0

0

0

1

0

1

0

0

1

0

1

0

0

1

0

0

0

I

0

1

1

0

1

0

1

0

0

1

0

0

1

1

0

1

0

Рисунок 1.21. - Побайтовый контроль четности

При наличии одиночной ошибки в любом из 7 - ми блоков, включая и ошибки в коде четности (8-й столбец), нарушается правило формирования кода четности, на основании чего и обнаруживается ошибка.

Итак, ошибка локализуется лишь с точностью до байта, а потому не может быть исправлена, ибо неизвестно, какой бит в байте ошибочный. Тем более, если ошибка возникла среди 7 символов и в 8 символе.

ВАЖНО! Таким образом, контроль четности по строкам не дает возможности найти ошибку конкретного бита в матрице, но позволяет обнаружить одиночные ошибки в байтах.

Рассмотрим рисунок 1.22, где помимо контроля четности по строкам для всей передаваемой информации введен еще контроль четности по столбцам (нижняя 8-я строка).

При наличии одиночной ошибки в этой 8x8 = 64 - битовой матрице можно указать не только строку, содержащую ошибку, но и столбец с ошибкой, а значит - ошибочный бит, лежащий на пересечении строки и столбца (например, если обнаружена ошибка в 4 - й строке (1 в 8 столбце), 8 - байтовой последовательности, а также в 4 - столбце (1 в 8 строке), то, таким образом, обнаружен ошибочный бит в 4 - й строке 4-го столбца матрицы).

ВАЖНО! Таким образом, матрица рисунка 4.8 позволяет при ее реализации в виде систематических байтовых кодеров обнаружить и исправить одиночные ошибки.

Однако, кратные ошибки этой схемой исправить невозможно. Для коррекции кратных ошибок применяются более совершенные и сложные схемы блочных кодеров.

Примером блочного кода, наиболее часто используемого на практике является код Рида - Соломона (RS).

Коды Рида-Соломона (Reed-Solomon codes - RS codes') - это широко используемый подкласс недвоичных кодов БХЧ. При использовании кодов Рида -Соломона данные обрабатываются порциями по т бит, именуемыми символами. Код (п, к) характеризуется следующими параметрами:

Длина символа

Длина блока

Длина блока данных Размер контрольного кода Минимальное расстояние

m бит

n = (2m - 1) символов = т(2т - 1) бит к символов

п - к = 2t символов = m(2t) бит dmin = (2t + 1) символов

Таким образом, алгоритм кодирования расширяет блок к символов до размера п, добавляя (п-к) избыточных контрольных символов.

Как правило, т является степенью 2; широко используется значение т - 8.

Рассмотрим пример. Пусть t =1, т = 2. Обозначая символы как 0, 1,2, 3, их двоичные эквиваленты можно записать как 0 = 00; 1 = 01; 2 = 10; 3 = 11. Код имеет следующие параметры:

п = 22 - 1 = 3 символа = 6 бит,

п - к = 2 символа = 4 бит.

С помощью данного кода можно исправить любой пакет ошибок, который искажает 2-битовый символ.

Коды Рида-Соломона удобны для исправления пакетов ошибок. Данный тип кодов характеризуется высокоэффективным использованием избыточности. Длина блоков и размеры символов могут легко приспосабливаться под сообщения разных размеров. Кроме того, для таких кодов существуют эффективные методы декодирования [4].

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >