Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вариант1-4.docx
Скачиваний:
8
Добавлен:
15.03.2015
Размер:
202.04 Кб
Скачать

6. Выбор помехоустойчивого кода

При приеме сообщений необходимо обеспечить вероятность ошибки не более 10-6, используют помехоустойчивые коды, исправляющая и обнаруживающая способность которых определяются их кодовым расстоянием d.

Определим вероятность необнаруженной ошибки Pно в принятом блоке по следующей формуле:

,

где – число сочетаний изnпоi;

t00 –число ошибок обнаруживаемых кодом;

Рассчитанное значение вероятности необнаруженных ошибок удовлетворяет неравенству .

7. Программная реализация кодирования и декодирования

Программная реализация циклических кодов на ЭВМ может быть осуществлена следующими способами:

  • матричным;

  • проверочным полиномом;

  • алгебраическим;

  • табличным.

Рассмотрим методы программной реализации:

  1. Матричный способ представления циклического кодирования

Линейный циклический систематический (n,k) код задан образующей матрицей , где– единичная матрицаk-го порядка, аR– матрица остатков, получаемых в соответствии с правилами построения систематического циклического кода.

Для получения разрешенных комбинаций (n,k) кода по произвольно заданной k-элементной комбинации информационных элементов необходимо в ячейки памяти ОЗУ микропроцессорной системы записать строки всей образующей матрицы G или только матрицы остатков R.

  1. Представление циклического кода проверочным соотношением

Этот способ основывается на записи в память ОЗУ проверочных соотношений, полученных по образующей G (для кодирования) или проверочной H (для декодирования) матрицы. Эти соотношения позволяют определить значения проверочных разрядов по информационным элементам.

  1. Способ алгебраического кодирования

В основе программной реализации такого способа циклического систематического (n,k) кода лежит известное правило получения проверочных элементов как остатка от деления одночлена xn-k f(x) на образующий полином P(x) степени (n-k), где f(x) – полином исходной информационной комбинации длиной К разрядов.

  1. Табличный способ

При таком способе в памяти микропроцессора ЭВМ необходимо хранить для не систематических кодов всю кодовую таблицу, то есть набор из 2k кодовых векторов, а для систематического циклического кода – таблицу из 2k векторов проверочных элементов.

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

По времени обработки такой метод самый быстрый, но он в то же время требует наибольшего объема памяти, поэтому его следует применять только для коротких кодов.

7.1. Описание программы

Из условия задания задан метод программной реализации: матричный обыкновенный. Этот метод подразумевает кодирование с помощью образующей матрицы и декодирование в режиме обнаружения ошибок.

Рассмотрим процедуру кодирования. Необходимо реализовать циклический систематический код (15,5) с образующим полиномом p(x) = x10+x9+x8+x7+x5+x4+x2+x+ 1. Для данного кода образующая матрица представлена на стр. 7.

Предварительно в память ЭВМ записывается вся образующая матрица. Затем при вводе в кодовой комбинации производится сложение строк образующей матрицы, причем единицы в информационной кодовой комбинации определяют, какие строки матрицы проверочных элементов необходимо складывать для получения проверочных элементов.

Пятнадцати разрядный результат записывается в исходящий буфер для передачи в канал связи.

На приеме производится процедура декодирования. Процедура декодирования производится аналогично кодированию. При этом по полученным из канала информационным элементам, в соответствии с рассмотренным выше алгоритмом, формируются проверочные элементы и сравниваются с полученными из канала.

По результату сравнения делается вывод о том, разрешенной или запрещенной является принятая комбинация.