- •6. Помехоустойчивое (канальное) кодирование
- •6.1. Общие свойства линейных блоковых кодов
- •6.2. Коды Хэмминга и м-последовательности
- •6.3. Коды Адамара
- •6.4. Полиномиальные коды
- •6.5. Циклические коды
- •6.6. Итеративные и каскадные коды
- •6.7. Кодирование в каналах с памятью
- •6.8. Сверточные (решетчатые) коды
- •6.9. Кодированная модуляция (сигнально-кодовые конструкции)
6.2. Коды Хэмминга и м-последовательности
Коды Хэмминга , где , задаются проверочной матрицей из ненулевых двоичных векторов. Здесь - число проверочных символов в каждом кодовом слове, . Так как , число разных ненулевых синдромов равно числу символов в кодовом слове (см. п. 6.3). Это - класс совершенных кодов с кодовым расстоянием при любых , исправляющих все однократные ошибки и ничего более. Они гарантированно обнаруживают ошибки кратности . Число кодовых слов веса (спектр кода Хэмминга длины ) равно коэффициенту при в полиноме . Если к кодам Хэмминга добавить еще один проверочный символ (путем общей проверки на четность), то получим коды . У них , а спектр задан полиномом .
-последовательности - это коды с параметрами , ., дуальные кодам Хэмминга той же длины, Их составляет множество выходных последовательностей с периодом при разных начальных заполнениях линейного регистра длины со связями, обеспечивающими этот период. Отсюда следует название кодов - последовательности максимальной длины или -последовательности. Все слова этого кода, кроме , имеют одинаковый вес , так что для него . Коды Хэмминга и -последовательности – крайние случаи кодов с малым и большим кодовым расстоянием, соответственно. Они не всегда удобны: исправление лишь однократных ошибок может не обеспечить требуемую верность передачи, а высокая исправляющая способность -последовательностей связана с их низкой кодовой скоростью .
6.3. Коды Адамара
Фазовая манипуляция несущего колебания по закону кодовых слов ортогонального кода Адамара образует ортогональные сигналы . Строки матрицы Адамара образуют кодовые слова. Это - матрица размерности ( - четное) из и . Один ее столбец отличен от другого в позициях. Один столбец состоит из одних , остальные имеют одинаковое число и . При
(6.9)
Из матрицы Адамара можно построить матрицу Адамара :
(6.10)
где - дополнение матрицы (все нули заменяют единицами и наоборот). Применяя (6.10), можно построить линейные коды Адамара длины (целое ), с кодовым расстоянием и . Для существуют нелинейные коды Адамара.
Пример 6.3.1. Подставив (6.9) в (6.10), имеем:
Строки матриц и формируют линейный код длины с объемом алфавита и кодовым расстоянием .
6.4. Полиномиальные коды
Сообщение источника закодируем простым двоичным кодом длины . Символы , , каждого кодового слова служат коэффициентами в информационном полиноме формальной переменной . Каждое кодовое слово полиномиального кода представим полиномом . Порождающий полином полиномиального кода запишем как . Операции сложения, умножения и деления над изучаемыми полиномами выполняются по обычным правилам с учетом суммирования по (см. п. 1.1). Полиномиальный код - множество кодовых слов, полиномы которых образуются по правилу:
(6.11)
Остаток от деления полинома принятого слова, возможно, искаженного ошибками при передаче, на - синдромный полином . Если , принятое слово принадлежит коду (см. (6.11)). Тогда считают, что ошибок при передаче нет. Коэффициенты полинома образуют вектор синдрома. Поиск ошибок сводится к вычислению синдрома.