Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Некоторые элементарные сведения из теории помехоустойчивого кодирования циклическими кодами.




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

Например, кодовая комбинация их 4-х разрядов D3 D2 D1 D0 может быть представлена полиномом: I(x)=D3*x3+D2*x2+D1*x1+D0*x0

Так коду I=1110 соответствует полином I(x)=x3+x2+x

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

полином g(x) степени r F(x)=I(x)*g(x).

Степень полинома r задает число дополнительных проверочных разрядов, предназначенных для обнаружения/исправления ошибок при приеме. Так, если длина информационного кода равна k, то длина сформированного циклического кода будет n = k + r. При приеме принятая кодовая комбинация делится на тот же порождающий полином g(x) и, если остаток от деления равен 0, считается что ошибок нет. По виду остатка, называемого синдромом ошибок, можно судить об ошибочно принятых разрядах и, соответственно, их исправить.

Все операции на полиномами выполняются по модулю 2:

xk + 0 = xk 0 + xk = xk xk + xk = 0

Для получения разделимого кода при формировании передаваемого циклического кода вместо операции умножения используется операция деления:

 

Иными словами, к информационному коду приписывается r нулей и полученный код делится на g(x). В результате деления получается r- разрядный остаток R(x), который и приписывается к информационному коду, т.е.

F(x) = I(x)*xr + R(x)

Например, пусть k = 4 I = 1 1 1 0 (I(x) = x3 + x2 + x)

Порождающий полином g(x) = x3 + x + 1

Выполним операцию деления для определения остатка (циклического кода) в форме двоичных кодов. Напомним, что операция вычитания выполняется как поразрядное суммирование по модулю 2.

1 1 1 0 0 0 0 | 1 0 1 1 = g(x) - порождающий полином

1 0 1 1 | 1 1 0 0 = Q(x) - частное

1 0 1 0

1 0 1 1

1 0 0 = R(x) - остаток от деления

Передаваемый циклический код будет равен 1 1 1 0 1 0 0

Операция деления кодовых комбинаций при кодировании/декодировании может выполняться как программно, так и аппаратно с помощью регистров сдвига с обратными связями, реализованными на сумматорах по модулю 2 (схемах исключающее ИЛИ).

 

6.3.2. Моделирование кодирования циклического кода (7,4) с порождающим полиномом g(x) = x3 + x + 1 (

Для информационного кода (по индивидуальному заданию) определить значения проверочных разрядов.

Используя схему кодирующего устройства (файл «Кодер (7,4)», см. рис.26), выполнить моделирование и сравнить результат формирования циклического кода с полученным кодом по операции вычисления остатка.


Рис.26. Кодирующее устройство для циклического кода (7,4).

Пояснения к схеме на рис 26: U11…U14 –регистр сдвига для информационного кода.U22, U23, U23 – делитель с обратными связями на сумматорах по модулю 2. U19,U26 для формирования остатка – проверочных разрядов. U18 совместно с управляющим сигналом CTRL прерывает обратную связь после 4 тактов деления. U15, U17, U25, U28 с CTRL обеспечивают объединение информационных и проверочных разрядов.

 
 

Рис.27. Временные диаграммы работы кодера циклического кода.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных