Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 курс / 03 CRC / TEC_2_4.DOC
Скачиваний:
62
Добавлен:
10.12.2013
Размер:
270.85 Кб
Скачать

ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «Автоматика и телемеханика»

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ

ПО КУРСУ «Теория электрической связи», часть 2.

Пермь, 2007

Данное руководство является учебно-методическим пособием для выполнения лабораторных работ по курсу «Теория электрической связи», часть 2, для студентов специальности 210406 «Сети связи и системы коммутации».

В сборник включены лабораторные работы, освещающие основные вопросы помехоустойчивого кодирования информации, циркулирующей по цифровым системам обработки и передачи дискретных сообщений.

Лабораторные работы включают в себя основные теоретические положения, исследуемые в данной работе; описание основных этапов проектирования комбинаторных и декомбинаторных узлов системы передачи дискретных сообщений; методические указания по выполнению работы и содержание отчета. В конце методических указаний приведен список литературы, которой следует пользоваться при подготовке к лабораторным работам.

Лабораторная работа №4.

ИССЛЕДОВАНИЕ ПРИНЦИПОВ ДЕКОДИРОВАНИЯ И ПРОЕКТИРОВАНИЕ ДЕКОДЕРОВ БЧХ-КОДОВ

Цель работы.Исследование избыточных циклических систематических кодов, в частности, БЧХ-кодов. Анализ декодирующих устройств для укороченных кодов в приемных полукомплектах трактов передачи дискретных сообщений.

I. Общие положения

1. Декодирование циклических кодов (бчх-кодов)

1.1. Принцип синдромного декодирования бчх-кодов

В основу рассматриваемой процедуры деко­дирования циклических кодов положен алгоритм синдромного деко­дирования. Это означает, что при приеме кодовой комбинации циклического кода рассчитывается синдром – вектор, который показывает величину (вид) и место ошибки.

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

(1.1)

где e(x) – полином ошибки; V(x) – передаваемый полином; – принятый полином.

Разделим обе части представленного уравнения на порождающий полином g(x):

Из представления полинома V(x) известно, что он делится на порождающий полином g(x) без остатка. Назовем синдромом остаток (вычет), который образуется в результате деления полинома на порождающий полином g(x). Согласно правилам операций над вычетами можно оставить только их в обеих частях уравнения. Поэтому выражение можно представить в следующем виде:

(1.2)

где re(x) – остаток от деления полинома ошибки e(x) на полином g(x).

Из приведенного выражения очевидно, что синдром, рассчитываемый по принятому полиному (кодовому векторуV'), однозначно определяет полином ошибки e(x) (вектор ошибки e), который воздействовал на полином V(x) во время передачи по каналу связи. Поэтому, заранее определив возможные значения синдрома для разных вариантов ошибок и сравнив их с рассчитанным по конкретному полиному (кодовому векторуV') значением синдрома, можно определить полином ошибки e(x) (вектор ошибки e). Зная полином (вектор) ошибки, можно реализовать корректирующие свойства кода, направив их на исправление и/или обнаружение ошибки (стирание сообщения). Очевидно, что при безошибочной передаче (e(x)=0) синдром тоже равен 0.

Определим, какое количество вариантов полинома ошибки необходимо рассчитать для наиболее сложной корректирующей операции – исправления ошибок. Указанное значение N определяется как

(1.3)

где s – кратность исправляемых ошибок; n – общая длина кодовой комбинации циклического кода.

Как известно из верхней границы Хэмминга, количество разных вариантов синдромов (2k) достаточно для однозначного соответствия каждому виду s-кратной ошибки,

N  2k. (1.4)

Оценим сложность устройства, которое реализует сравнение рассчитанного значения синдрома и заранее определенных значений ri(x). Количество элементов должно быть равно N. Поскольку указанное устройство осуществляет функции сравнения и выбора, оно получило название декомбинатор синдрома (ДКМС). Поэтому число N в ДКМС определяет количество k-входовых конъюнкторов. Таким образом, можно сделать вывод, что декомбинатор синдрома настраивается на полином ошибки.

Принцип синдромного декодирования применим и к обнаружению ошибок. В данном случае необходимо установить только факт возникновения ошибки. Очевидно следующее условие наличия ошибок: . Поэтому ДКМС в данном случае состоит из одного логического дизъюнктора, который проверяет на равенство 0 полиномS(x).

Для синдромного декодирования кода, исправляющего и обнаруживающего ошибки, можно выделить два способа декодирования: общий и частный. Частный способ может быть применен для декодирования кодов Хэмминга с dmin = 4.

В общем случае обнаружение ошибок, приводящее к стиранию кодовой комбинации, должно произойти в случае, когда синдром , и ни один из элементов (конъюнкторов) ДКМС, настроенных для исправления соответствующей ошибки, не сработал.

В рассматриваемом частном случае для построения циклического кода с четным dmin используется переход от ближайшего кода с нечетным dmin. При этом порождающий полином определяется путем домножения полинома g(x) на полином (1x). В данном конкретном случае при декодировании применяется способ раздельного деления. Это означает, что отдельно рассчитывается синдром S(x) от деления полинома на порождающий полином g(x), а отдельно – на полином (1x). Остаток от деления полинома на полином (1x) имеет нулевую степень, то есть он может быть равен либо 0, либо 1. Это означает, что он указывает четность веса полинома . Синдром S(x) рассчитывается для обнаружения места ошибки. Рассмотрим варианты соотношения векторов синдрома на примере БЧХ-кода с dmin = 4 (табл. 1.1).

Таблица 1.1

mod g(x)

mod (1x)

e(x)

0

0

Ошибок нет

0

1

1-кратная ошибка

0

0

2-кратная ошибка

Примечание. Ситуация «0» означает, что хотя бы один из разрядов полинома синдрома S(x) отличен от 0.

При безошибочной передаче все координаты полинома синдрома равны 0. При однократной ошибке нарушается четность кодового полинома, поэтому такую ошибку можно обнаружить и исправить. При двукратной ошибке четность кодового полинома не нарушается, поэтому такую ошибку можно обнаружить, а все сообщение – стереть.

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

1. Для кодов, исправляющих ошибки кратности не более s, рассчитываются настройки ДКМС для каждого вида полинома ошибки кратности не более s. Если после вычисления синдрома по принятому полиному его значение совпадает с одной из настроек ДКМС, то происходит исправление ошибок путем инвертирования соответствующих разрядов.

2. Для кодов, обнаруживающих ошибки кратности не более r, ДКМС представляет собой устройство проверки равенства 0 значения синдрома. Если после вычисления синдрома по принятому полиному ДКМС не обнулился, то происходит ситуация обнаружения ошибок, поэтому все сообщение стирается.

3. Для кодов, исправляющих ошибки кратности не более s и обнаруживающих ошибки кратности не более r, рассчитываются настройки ДКМС для каждого вида полинома ошибки кратности не более s. Если после вычисления синдрома по принятому полиному его значение совпадает с одной из настроек ДКМС, то происходит исправление ошибок путем инвертирования соответствующих разрядов. Если значение синдрома не совпало ни с одной настройкой, то происходит ситуация обнаружения ошибок, поэтому все сообщение стирается.

Корректирующая способность кода реализуется на такте, следующем после расчета синдрома, т. е. на такте с номером (n+ 1).

Соседние файлы в папке 03 CRC
  • #
    10.12.201354.5 Кб28coder_g.mdl
  • #
    10.12.201334.83 Кб28coder_h.mdl
  • #
    10.12.2013195.92 Кб26crc_codes.mdl
  • #
    10.12.2013202.19 Кб30decoder.mdl
  • #
    10.12.2013395.18 Кб32TEC_2_3.pdf
  • #
    10.12.2013270.85 Кб62TEC_2_4.DOC
  • #
    10.12.2013404.93 Кб37TEC_2_4.pdf
  • #
    10.12.201384.74 Кб27template_coder.mdl
  • #
    10.12.2013631.31 Кб29template_decoder.mdl