Известные блочные коды
Коды Хэмминга
Коды Хэмминга (Hamming codes) — это простой, класс блочных кодов, которые имеют следующую структуру:
(n, k ) = ( - 1, - 1 - т), (13.1)
где m = 2, 3,.... Минимальное расстояние этих кодов равно 3, поэтому, согласно уравнениям (6.44) и (6.47), они способны исправлять все однобитовые ошибки или определять все модели ошибки из двух или малого числа ошибок в блоке. Декодирование с помощью синдромов особенно хорошо подходит к кодам Хэмминга. Фактически синдром можно превратить в двоичный указатель местоположения ошибки [5]. Хотя Хэмминга не являются слишком мощными, они принадлежат к очень ограниченному классу блочных кодов, называемых совершенными; их особенности описывались в разделе 6.5.4 коды. Если предположить, что используется жесткое декодирование, вероятность появления битовой ошибки можно записать с помощью уравнения (6.46):
(13.2)
Здесь р — вероятность ошибочного приема канального символа (вероятность перехода в двоичном симметричном канале). Для отдельных кодов коррекции ошибок (таких как коды Хэмминга) вместо уравнения (6.72) мы можем использовать другое эквивалентное уравнение (это уравнение (Г. 16), которое выводится в приложении Г ):
(13.3)
На рис. 6.21 Л.2 приведен график зависимости вероятности ошибки в декодированном бите от вероятности ошибки в канальном символе, на котором сравниваются разные блочные коды. Для кодов Хэмминга на графике взяты значения m = 3, 4 и 5 или (п, к)- (7,4), (15, 11), (31,26). Для описания гауссового канала с использованием когерентной демодуляции сигналов BPSK, вероятность ошибки в канальном символе можно выразить через , как это было сделано в уравнении (4.79Л2):
(13.4)
Вероятность ошибочного приёма канального символа, р
Рис. 11.21. Зависимость вероятности битовой ошибки от вероятности
ошибки в канальном символе для нескольких блочных кодов
. Здесь — отношение энергии кодового символа к спектральной плотности мощности шума, a Q(X) определено в уравнении (3.43). Чтобы связать с энергией бита информации на единицу плотности спектрального шума (), используем следующее выражение:
. (11.5)
Для кодов Хэмминга уравнение (6.75) принимает следующий вид:
. (11.6)
Объединяя уравнения (6.73), (6.74) и (6.76), при когерентной демодуляции сигналов BPSK в гауссовом канале можно выразить как функцию . Результаты для различных типов блочных кодов отображены на рис. 11.22. Для кодов Хэмминга взяты следующие значения (п,к)= (7,4), (15, 11), (31,26).
(дБ)
Рис. 11.22. Зависимость от при когерентной
демодуляции сигналов BPSK в гауссовом канале для
нескольких блочных кодов
Расширенный код Голея
Одним из наиболее практичных блочных кодов является двоичный расширенный код Голея (extended Golay code) (24, 12), который образован путем прибавления битов четности к совершенному коду (23, 12), известному как код Голея (Golay code). Эти дополнительные биты повышают минимальное расстояние с 7 до 8, что дает степень кодирования 1/2, реализовать которую проще (с точки зрения системного тактового генератора), чем степень кодирования кода Голея, равную 12/23. Расширенный код Голея значительно мощнее рассмотренного в предыдущем разделе кода Хэмминга. Цена, которую приходится платить за повышение эффективности, заключается в более сложном декодере и, соответственно, более широкой полосе пропускания.
Для расширенного кода Голея , поэтому, исходя из уравнения (6.44), можно сказать, что код гарантирует исправление всех трехбитовых ошибок. Кроме того, декодер можно сконструировать так, чтобы он исправлял некоторые модели с четырьмя ошибками. Поскольку исправить можно только 16,7% моделей с четырьмя ошибками, декодер, для упрощения, обычно реализуется для исправления только трехбитовых моделей ошибки [5]. Если предположить жесткое декодирование, то вероятность битовой ошибки для расширенного кода Голея можно представить как функцию вероятности р ошибки в канальном символе (см. уравнение (6.46)):
(11.77)
График зависимости (11.77) показан на рис. 6.21; вероятность появления ошибки для расширенного кода Голея значительно меньше, чем у кодов Хэмминга. Исходя из уравне
Коды БХЧ
Коды Боуза-Чоудхури-Хоквенгема (Bose-Chadhuri-Hocquenghem — ВСН, БХЧ) являются результатом обобщения кодов Хэмминга, которое позволяет исправлять множественные ошибки. Они составляют мощный класс циклических кодов, который обеспечивает достаточную свободу выбора длины блока, степени кодирования, размеров алфавита и возможностей коррекции ошибок. В табл. 6.4 приводятся наиболее часто употребляемые при создании кодов БХЧ генераторы g(x) [8] с разными значениями п, к и t для блоков длиной до 255. Коэффициенты g{x) представлены восьмеричными числами, оформленными так, что при преобразовании их в двоичные символы крайние правые разряды отвечают коэффициенту нулевой степени в g(x). С помощью табл. 6.4 можно легко проверить свойство циклического кода — полиномиальный генератор имеет порядок п - к. Коды БХЧ очень важны, поскольку при блоках, длина которых равна порядка несколько сотен, коды БХЧ превосходят своими качествами все другие блочные коды с той же длиной блока и степенью кодирования. В наиболее часто применяемых кодах БХЧ используется двоичный алфавит и блок кодового слова длиной , где т = 3,4,....
Из названия табл. 6.4 Л2 ясно, что показаны генераторы только для примитивных кодов БХЧ. Термин "примитивные" (primitive) — это теоретико-числовое понятие, требующее алгебраического рассмотрения [7, 10-11], которое представлено в разделе 8.1.4Л2. На рис. 6.21 и 6.22 изображены графики вероятности ошибки для двух кодов БХЧ: (127, 64) и (127, 36). На рис. 6.21 показана зависимость от вероятности ошибки в канальном символе при жестком декодировании. На рис. 6.22 показана зависимость от для когерентно де модулирован но го сигнала BPSK в гауссовом канале. Кривые на рис. 6.22 выглядят совсем не так, как можно было бы ожидать. Все они имеют одну и ту же длину блока, но большая избыточность кода (127, 36) не дает той эффективности кодирования, какая имеется у менее избыточного кода (127, 64). Известно, что относительно широкий максимум эффективности кодирования, в зависимости от степени кодирования при фиксированном n, для кодов БХЧ находится примерно между степенью 1/3 и 3/4 [12]. Стоит также отметить, что передача по гауссову каналу сильно ухудшается при переходе от очень высоких до очень низких степеней [11].
На рис. 11.23 показаны расчетные характеристики кодов БХЧ для когерентно демо-дулированного сигнала BPSK с жестким и мягким декодированием. Мягкое декодирование для блочных кодов не применяется из-за своей сложности, хотя оно и дает увеличение эффективности кодирования порядка 2 дБ по сравнению с жестким декодированием. При данной степени кодирования вероятность ошибки при декодировании уменьшается с ростом длины блока п [4]. Таким образом, при данной степени кодирования интересно рассмотреть необходимую длину блока для сравнения характеристик жесткого и мягкого декодирования. На рис. 6.23 все коды показаны со степенью кодирования, равной приблизительно 1/2. Из рисунка [13] видно, что при фиксированной степени кодирования и жестком декодировании кода БХЧ длиной 8л или более наблюдаются лучшие характеристики, чем при мягком декодировании кода БХЧ длиной п. Существует специальный подкласс кодов БХЧ (которые были разработаны раньше кодов БХЧ), который является недвоичным набором; это коды Рида-Соломона (Reed-Solomon code). Подробнее об этих кодах будет рассказано в разделе 8.1.
(дБ)
Рис. 11.23. Зависимость от для когерентно де-модулируемого сигнала BPSK в гауссовом канале с использованием кодов БХЧ. (Перепечатано с разрешения автора из L. J. Weng. "Soft and Hard Decoding Performance Comparison for BCH Codes", Proc. Int. Conf. Commun., 1979, Fig. 3, p. 25.5.5.