3822

Исследование обнаруживающей и исправляющей способности циклических кодов.

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

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

Русский

2012-11-07

198.5 KB

70 чел.

Исследование обнаруживающей и исправляющей способности циклических кодов.

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

Описание лабораторной установки.

Лабораторная установка выполнена в виде программно управляемой модели и выполняется на ЭВМ. Приведём краткое описание структурных схем декодеров исследуемых циклических кодов.

Декодер Меггита представляет собой синдромный декодер, исправляющий одиночные ошибки, в памяти которого с целью упрощения хранится только один синдром ошибки S15(x) = x3+1 (соответствует последовательности ошибки e15(x) = x14), синдромы остальных одиночных ошибок циклически сдвигаются в регистре синдрома до совпадения с S15(x); число циклов сдвига
i (i= 0, 1, 2, ..., 14) плюс единица равно номеру искаженного кодового элемента. Структурная схема декодера Меггита показана на рисунке 1.

Декодер работает следующим образом. Кодовое слово (с ошибками или без них) в виде последовательности из 15 двоичных символов поступает в буферный регистр и одновременно в регистр синдрома, где производится деление этого слова на производящий многочлен кода g(x) = x4 +x+1, в результате чего вычисляется синдром ошибки Sj(x): S0j ,S1j , S2j , S3j  символы синдрома. Ошибка обнаруживается, если хотя бы один символ синдрома не равен нулю.

Исправление ошибок производится в следующих 15 циклах. Если
Sj(x) = S15(x), то ошибка в первом символе кодового слова, который находится в 15-ой ячейке буферного регистра. Тогда в первом цикле схема {И} выдаёт единицу и в сумматоре по модулю 2 на выходе буферного регистра корректируется первый символ кодового слова. Если ошибка в другом символе, то производится циклический сдвиг синдрома Sj(x) в регистре синдрома по цепи обратной связи с учетом того, что вход декодера на циклах исправления ошибок отключен. В каждом i-ом цикле проверяется равенство Sj+i (x) = S15(x) и в благоприятном случае на выходе схемы {И} появляется импульс коррекции ошибки, инвертирующий символ на выходе буферного регистра.

Структурная схема декодера Касами-Рудольфа приведена на рисунке 2. В декодере используется не оптимальный перестановочный метод декодирования, в котором с целью упрощения процедуры поиска ошибки используются циклические сдвиги синдромов ошибок и их сравнение с “покрывающими” синдромами (алгоритм Касами-Рудольфа).

Для кода Голея (23,12): g(x) = x11 +x9 +x7 + x6 +x5 +x+1 множество ошибок, вес (кратность) которых не превышает трёх, покрывается тремя последовательностями ошибок e1(x) = 0 , e17(x) = x16 , e18(x) = x17 , имеющих синдромы:

                                        S1(x) = 0;

     S17(x) = x8 + x7 + x4 + x3 + x + 1;

    S18(x) = x9 + x8 + x5 + x4 + x2 + x.

Декодер отслеживает синдром ошибок, отличающийся от S1(x) не более, чем в трёх позициях, а также синдромы ошибок, отличающиеся от S17(x) и S18(x) не более, чем в двух позициях.

Декодирование производится в течение двух циклов. В первом цикле в течение 23 тактов производится запись принятого кодового слова в буферный регистр (п1=0) и вычисление синдрома ошибки в синдромном регистре (п2=0). Во втором цикле (п1=1) из 23 тактов производится поиск и исправление ошибок путем циклического сдвига синдрома ошибки и его сравнения с покрывающими синдромами в анализаторе синдрома. Одновременно циклически сдвигается кодовое слово в буферном регистре.

Позиции ошибок обнаруживаются при удовлетворении какого-либо из неравенств в анализаторе синдрома; на выходе соответствующей схемы анализатора появляется сигнал, по которому выход синдромного регистра подключается (п2=1) к сумматору в цепи циклического сдвига буферного регистра для исправления ошибок. Если срабатывает вторая или третья схемы анализатора, то дополнительно исправляются ошибки в 17-ой или 18-ой ячейках буферного регистра в соответствии с номером покрывающего синдрома; одновременно производится стирание этого синдрома в синдромном регистре. После 23-го цикла производится проверка состояния синдромного регистра и, если остаток не превышает двух единиц, его содержимое используется для коррекции состояний первых 11 ячеек буферного регистра.

На этом декодирование заканчивается и на выход выдаются информационные символы, расположенные в первых 11 ячейках буферного регистра; одновременно на вход может подаваться новое кодовое слово (п1=0).

Выполнение работы.

Определим величину кодового расстояния для каждого из двух исследуемых кодов (n, k)=(23, 12) и (n, k)=(15, 11). Для этого для каждого из них найдём максимальную (гарантируемую) кратность исправляемых ошибок  (факт исправления ошибки данной кратности определяется визуально путём сравнения кодовых слов на входе кодера и выходе декодера). Кодовое расстояние d определяется по известному соотношению, связывающему его с максимальной кратностью исправляемых ошибок:

.

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

.

Циклический код (23, 12), декодер Кассами-Рудольфа.

Кодовое расстояние

Ожидаемая кратность гарантированно обнаруживаемых ошибок

Циклический код (15, 11), декодер Меггита.

Кодовое расстояние

Ожидаемая кратность гарантированно обнаруживаемых ошибок

Вывод.

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


 

А также другие работы, которые могут Вас заинтересовать

10646. Тестирование программных продуктов 1.29 MB
  Тестирование программных продуктов Виды контроля качества разрабатываемого программного обеспечения Ручной контроль программного обеспечения Структурное тестирование Функциональное тестирование Тестирования модулей и к...
10647. Обеспечение функциональности и надежности программного средства 83.5 KB
  Обеспечение функциональности и надежности программного средства 1. Примитивы качества программных средств. 2. Защитное программирование. В спецификации качества ПС могут быть дополнительные характеристики критериев качества обеспечен...
10648. Управление конфигурацией в жизненном цикле программных средств 200.5 KB
  Управление конфигурацией в жизненном цикле программных средств 1. Процессы управления конфигурацией программных средств 2. Этапы и процедуры при управлении конфигурацией программных средств Вопрос 1. Процессы управления конфигурацией пр...
10649. Разработка требований к программным средствам 196 KB
  Тема: Разработка требований к программным средствам 1. Организация разработки требований к сложным программным средствам 2. Процессы разработки требований к характеристикам сложных программных средств 3. Структура основных документов отражающих требования к прогр
10650. Пакеты программ MathCad и Excel 247 KB
  Лабораторная работа 1 Пакеты программ MathCad и Excel Подавляющее большинство лабораторных работ по курсу Численные методы может быть выполнено на базе программ MathCad и Excel которые содержат все необходимые вычислительные инструменты; удобны в испо...
10651. Действия над приближенными числами 153.5 KB
  Лабораторная работа 2 Действия над приближенными числами Цель работы. Изучить правила округления приближенных чисел на примере сходимости степенного ряда к известному значению и с заданной точностью. Освоить понятия абсолютной и относительной погрешностей и ...
10652. Решение систем линейных уравнений 263.5 KB
  Лабораторная работа 3 Решение систем линейных уравнений Цель работы. Выяснить какие технические и технологические задачи встречающиеся на практике приводят к системам линейных уравнений. Исходя из таблиц опытных данных научиться составлять такие сис
10653. Отделение корней уравнений. Уточнение корней методом Ньютона 146 KB
  Лабораторная работа 4 Отделение корней уравнений. Уточнение корней методом Ньютона. Цель работы. Изучить способы отделения корней уравнений после чего методом дихотомии найти три интервала изоляции для алгебраического уравнения третьего порядка. Выбрав од...
10654. Уточнение корней уравнений методом итераций 147.5 KB
  Лабораторная работа 5 Уточнение корней уравнений методом итераций. Цель работы. Уточнить корень алгебраического уравнения с заданной степенью точности используя метод итераций построить график сходимости и сравнить его с методом Ньютона. Теоретиче