
- •Содержание:
- •Глава 1. Синхронизация в системах пдс
- •1.1 Классификация систем синхронизации
- •1.2 Поэлементная синхронизация с добавлением и вычитанием импульсов (принцип действия)
- •1.3 Параметры системы синхронизации с добавлением и вычитанием импульсов
- •1.4 Расчет параметров системы синхронизации с добавлением и вычитанием импульсов (задачи)
- •Глава 2. Кодирование в системах пдс
- •2.1 Классификация кодов
- •2.2 Циклические коды (теория)
- •2.3 Построение кодера и декодера циклического кода. Формирование кодовой комбинации циклического кода (задачи)
- •3 2 1
- •Глава 3. Классификация систем с обратной связью.
- •Временные диаграммы для систем с обратной связью и ожиданием для неидеального обратного канала.
- •Решение:
Глава 2. Кодирование в системах пдс
2.1 Классификация кодов
Наиболее широкое применение в системах ПДС получили линейные или групповые коды.
В простейшем случае код задается перечислением всех своих кодовых комбинаций. Однако данное множество можно рассматривать как некоторую алгебраическую систему, называемую группой с заданной на ней операцией сложения по модулю два.
Множество элементов называется группой относительно операции , если оно обладает следующими свойствами:
Замкнутость. gi,gj G gk : gigj=gk.
Ассоциативность. (gigj)gk = gi (gjgk).
Существует нейтральный элемент e G : gie=gi i.
gi существует обратный элемент gi-1: gi gi-1 = e.
Пользуясь свойством замкнутости групповой код можно задать матрицей. Пример для трехэлементного кода:
G=
Любую кодовую комбинацию можно получить из данной суммированием по модулю два строк матрицы. Кроме того, нужно помнить о существовании комбинации 000. Данная матрица называется производящей матрицей трехэлементного кода. Кодовые комбинации, составляющие матрицу, являются линейно-независимыми.
В системах ПДС, как правило, используются корректирующие коды. Кодовое расстояние между строками матрицы, как можно видеть, равно двум. Для получения большего кодового расстояния необходимо вводить дополнительные элементы. Так для получения d0=3 необходимо к исходным информационным элементам добавить проверочные элементы, в числе которых было бы не менее двух единиц, а добавляемые проверочные элементы разных строк отличались бы, по крайней мере, в одном элементе. Этому требованию удовлетворяет, например, производящая матрица
Добавляемые проверочные элементы могут быть записаны и в другом порядке. Главное – обеспечить кодовое расстояние d0=3. Полученная матрица является производящей, или порождающей, матрицей кода 6,3, содержащего n=6 элементов, из которых три информационных. Подобную матрицу принято обозначать G6,3.
Обозначим элементы комбинации кода, задаваемого матрицей, a1, a2, a3, a4, a5, a6, где a1, a2, a3 – информационные, а a4, a5, a6 – проверочные элементы. Проверочные элементы могут быть получены путем суммирования по модулю двух определенных информационных элементов.
a4 = a1 a3,
a5 = a2 a3,
a6 = a1 a2 a3.
Данные правила можно представить проверочной матрицей H6,3. Эта матрица содержит r строк и k столбцов:
H6,3=
Первая половина этой матрицы получается транспонированием второй половины производящей матрицы, а вторая половина представляет собой единичную матрицу размерности r.
Теперь можно изобразить кодер линейного кода.
Рассмотрим теперь процедуру обнаружения ошибок в принятой кодовой комбинации. Обнаружение ошибок может быть основано на сравнении принятой кодовой комбинации со всеми разрешенными. Если принятая кодовая комбинация совпадает с одной из разрешенных, то можно сделать вывод о том, что ошибок при передаче не было или переданная кодовая комбинация перешла в другую разрешенную. В противном случае делаем вывод о том, что произошла ошибка. Однако такой алгоритм декодирования требует сравнения принятой комбинации со всеми разрешенными и является поэтому весьма громоздким, и иногда неприемлемым, особенно если число кодовых комбинаций велико.
Воспользуемся знанием правил формирования проверочных элементов и сформируем на приеме проверочные элементы по принятым информационным. Очевидно, что сформированные на приеме проверочные элементы должны совпадать с полученными. Сравнение элементов можно выполнить путем попарного суммирования этих элементов.
b1=ak+1*+ ak+1, b2=ak+2*+ ak+2, b3=ak+3*+ ak+3.
Полученная последовательность b1, b2, b3 называется синдромом, элементы которого при отсутствии ошибок должны быть равны нулю. Если хотя бы один элемент синдрома не равен нулю, то можно утверждать, что принятая кодовая комбинация содержит ошибки. Исходя из этого можно изобразить схему простейшего декодера с обнаружением ошибок.
Если с данной схемы поступает сигнал об ошибке, то приемник отвергает принятое кодовое слово. Далее, обычно, предполагается повторение данного кодового слова.
Значение полученного синдрома полностью определяется вектором ошибки и не зависит от самой кодовой комбинации. Следовательно по виду синдрома можно определить, на каком месте в кодовой комбинации была ошибка. Например в нашем случае если синдром имеет вид 101, то ошибка была в 1–м элементе.
Для декодирования с исправлением ошибок необходимо реализовать дешифратор для каждого синдрома и корректировку соответствующего элемента кодовой комбинации. Дешифратором может быть схема «И», реагирующая только на данных синдром. Для корректировки необходимо сложить сигнал на выходе дешифратора с соответствующим элементом кодовой комбинации.