
- •Федеральное агенство по образованию
- •Помехоустойчивые коды в радиотехнике и связи
- •Введение
- •Глава 1. Помехоустойчивые коды
- •1.2. Коды, обнаруживающие ошибки
- •1.2.1. Двоичный безызбыточный код
- •1.2.2. Код с защитой по паритету (четности, нечетности)
- •1.2.3. Код с простым повторением
- •1.2.4. Код с повторением и инверсией
- •1.2.5. Код на одно сочетание
- •1.3. Коды, исправляющие ошибки
- •1.3.1. Общие правила построения блочных кодов
- •1.3.2. Правила построения кода Хэмминга
- •1.3.3. Правила построения кода Рида-Маллера
- •1.3.4. Основные понятия о свойствах многочленов и полях Галуа
- •1.3.5. Правила построения примитивных кодов бчх
- •1.3.6. Правила построения кода Голея
- •1.3.7. Правила построения кода Рида-Соломона
- •1.3.8. Правила построения кода Вайнера-Эша
- •1.3.9. Правила построение кода Ивадаре
- •1.4. Кодирование и декодирование кодов
- •1.4.1. Методы кодирования и декодирования циклических кодов
- •1.4.2. Методы кодирования и декодирования линейных кодов
- •1.4.3. Методы кодирования и декодирования свёрточных кодов
- •1.5. Описание инструментальной системы для построения помехоустойчивых кодов
- •1.5.1. Установка инструментальной среды на пэвм
- •1.5.2. Интерфейс инструментальной среды
- •1.6. Методика построения кодов в инструментальной среде «Помехоустойчивые коды»
- •1.6.1. Код Хэмминга
- •1.6.2. Код Рида-Маллера
- •1.6.3. Код бчх
- •1.6.4. Код Голея
- •1.6.5. Код Рида-Соломона
- •1.6.6. Код Вайнера-Эша
- •1.6.7. Код Ивадаре
- •1.7. Вычисление характеристик кодов
- •1.7.1. Вычисление энергетической эффективности кода
- •1.7.2. Вычисление корреляционных функций кода
- •1.8. Построение кодирующих и декодирующих схем
- •1.9. Задание к лабораторной работе «Построение и расчет параметров помехоустойчивых кодов»
- •1.10. Контрольные вопросы к главе 1
- •Глава 2. Коды для линий связи
- •2.1. Особенности линейных кодов
- •2.2. Параметры и характеристики линейных кодов
- •Правила построения линейных
- •Биполярный код с замещением трех нулей (в3zs)
- •2.3.6. Парноизбирательный троичный код (пит, pst)
- •2.3.7. Код с инверсией токовых посылок (cmi)
- •2.3.12. Код dmi
- •2.3.13. Код h
- •2.3.14. Код isdn
- •2.3.15. Квазитроичный разностный код (prkk)
- •2.4. Правила построения линейных алфавитных кодов
- •2.4.1. Код 4b3t
- •2.4.2. Код fomot
- •2.4.3. Код ms43
- •2.5. Правила построения многоуровневых кодов (мур)
- •2.6. Описание программы Code
- •2.7. Задание к лабораторной работе «Построение и расчет параметров кодов для линий связи»
- •2.8. Контрольные вопросы к главе 2
- •Глава 3. Псевдослучайные последовательности
- •3.1. М-последовательности
- •3.2. Задание к лабораторной работе «Построение и расчет характеристик псевдослучайных сигналов»
- •3.3. Контрольные вопросы к главе 3
- •Библиографический список
- •Помехоустойчивые коды в радиотехнике и связи
- •Помехоустойчивые коды в радиотехнике и связи
1.4. Кодирование и декодирование кодов
1.4.1. Методы кодирования и декодирования циклических кодов
Операции кодирования и декодирования циклических кодов реализуются с помощью линейных переключательных схем или многотактных линейных фильтров.
Линейные переключательные схемы состоят из трех элементов:
сумматоров (рис.1.1). Для бинарных кодов суммирование проводится по модулю два;
умножителей (рис.1.2). Для бинарных схем умножение по существу означает наличие или отсутствие соединения;
элементов задержки (рис.1.3). Предполагается, что многотактный фильтр синхронизируется тактовым генератором. В элементе задержки информация задерживается на один такт.
Рис.1.1 |
Рис.1.2 |
Рис.1.3 |
Комбинируя операции умножения, сложения и задержки, можно производить различные действия с полиномами.
Умножение
некоторой последовательности символов
на порождающий полином
может быть выполнено с помощью схемы,
изображенной на рис.1.4.
Рис.1.4
На
рис.1.5 приведена схема, реализующая
деление последовательности символов
на полином
.
Рис.1.5
Количество элементов задержки в схемах определяется степенью порождающего полинома, а количество сумматоров – числом операций суммирования в полиноме.
Кодовые комбинации в циклических кодах могут быть получены двумя способами:
умножением кодовой комбинации простого кода на порождающий полином;
умножением кодовой комбинации простого кода
на одночлен
и добавлением к нему остатка
, полученного в результате деления произведения
на порождающий полином
.
Код, полученный первым способом, является неразделимым, вторым способом – разделимым.
Пример.
Получить кодовые комбинации циклического
кода (7,4) и построить схемы кодирующего
устройства двумя способами, если кодовая
комбинация простого кода
=
,
порождающий полиномg(x)=x4+x+1.
Способ 1
Кодовая комбинация циклического кода равна:
=
=
.
Другие кодовые комбинации циклического кода могут быть получены путем циклического сдвига данной кодовой комбинации.
Процесс умножения двух полиномов реализуется схемой, показанной на рис.1.6.
Рис.1.6
Для
двоичных кодов существенны только те
цепи умножения, в которых
.
Способ 2
Кодовую комбинацию для получения разделимого кода получают по алгоритму:
1)
вычисляют произведение кодовой комбинации
простого кода
на одночлен
:
=
.
2)
определяют остаток
,
полученного в результате деления
произведения
на порождающий полином
:
3) получают кодовую комбинацию:
=
+
=
+
.
Кодер может быть реализован по схеме, изображенной на рис.1.7.
Рис.1.7
Схема кодирующего устройства содержит: регистр задержки РЗ информационной группы на четыре такта; формирователь проверочной группы, включающий в себя регистр сдвига РС и сумматоры по модулю два в цепях обратной связи. Два ключа К1 и К2 обеспечивают необходимую последовательность работы схемы.
В положении, когда ключ К1 замкнут, а ключ К2 разомкнут, информационная часть кода подается на вход схемы, т.е. в первую ячейку регистра задержки РЗ и через сумматор S1 в первую ячейку регистра сдвига РС. После четырех тактов старший разряд информационной группы находится в последних ячейках обоих регистров. С этого момента ключ К1 размыкается, а К2 замыкается. В течение следующих четырех тактов информационная группа поразрядно поступает на выход кодера, а нижняя часть схемы выполняет операцию деления полиномов. По окончании восьми тактов ключ К2 размыкается, а К1 замыкается. В течение следующих четырех тактов формирователь проверочной группы «выталкивает» на выход кодера записанные в ячейках регистра РС проверочные разряды, а регистр задержки РЗ заполняется следующими четырьмя разрядами информационной группы.
Декодирование
основано на использовании свойства
делимости без остатка кодовых комбинаций
a(x)
циклического (n,k)-кода
на порождающий многочлен g(x).
Поэтому алгоритм декодирования
заключается в делении принятого кодового
слова, описываемого многочленом a(x)
на многочлен g(x),
вычислении и анализе остатка r(x).
Если остаток r(x)=0,
то принятое кодовое слово считается
неискаженным. Если остаток r(x),
то принятое кодовое слово стирается и
формируется сигнал "ошибка".
Пример. На рис.1.8 изображена схема декодера для циклического кода, заданного порождающим полиномом g(x)=x4+x+1.
Рис.1.8