Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Простейшие помехоустойчивые коды




 

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

Если А = {a1, …, am} единичные элементы первичного кода, а В – проверочный элемент, то для обеспечения четного числа единиц необходимо, чтобы

b = a1 Å a2 Å … Å am,

или

a1 Å a2 Å … Å am Å b = 0,

где Å – сумма по модулю два.

Например для m=4 код с проверкой на четность будет иметь вид:

 

         
         
         
         
А1 а2 а3 а4 b

 

Такой код имеет d0=2 и значит, он не может исправить ни одной ошибки. Такой код может обнаружить одну ошибку.

К простейшим помехоустойчивым линейным блочным кодам относится также код Хэмминга, позволяющий исправить одну ошибку и имеющий d0=3. Этот код строится следующим образом (для примера рассмотрим код (7,4)). К 4-м информационным битам а1а2а3а4 добавляем три проверочных бита b1b2b3, задавая их равенствами вида:

a1 Å a2 Å a3 = b1,

a2 Å a3 Å a4 = b2,

a1 Å a2 Å a4 = b3.

(при формировании этих правил каждый информационный элемент аi (i=1,2,3,4) должен участвовать как минимум в (r-1) проверках на четность из общего их числа r).

Если будут выполняться эти правила, то это будет свидетельствовать об отсутствии ошибки. Невыполнение первого и третьего равенства свидетельствует об ошибочном приёме а1, первого и второго - об ошибке а3,первого, второго и третьего - об ошибке а2, второго и третьего - об ошибке а4. Представленное выше правило формирования проверочных элементов b1b2b3 кода Хэмминга позволяет путём проверки на чётность каждой кодовой комбинации определить порядковый номер искажённого элемента. Результат проверки на чётность удобно представить r=3 разрядным проверочным двоичным числом, называемым синдромом ошибки (S1,S2,S3):

s1 = a1 Å a2 Å a3 Å b1,

s2 = a2 Å a3 Å a4 Å b2,

s3 = a1 Å a2 Å a4 Å b3.

Имеется всего восемь возможных синдромов ошибки: один – для случая отсутствия ошибки s=(0,0,0) и семь для каждой из ошибок (по числу позиций кода n=7). Каждая из ошибок имеет свой единственный синдром. По этому синдрому можно обнаружить ошибку и указать ее позицию: s1s2s3: 000, 001, 010, 011, 100, 101, 110, 111.

Пример:

Первичный код а = (а1а2а3а4) = 0001, тогда

b1 = a1 Å a2 Å a3 = 0,

b2 = a2 Å a3 Å a4 = 1,

b3 = a1 Å a2 Å a4 = 1.

 

Отсюда код Хэмминга

а1а2а3а4b1b2b3 = 0001011.

 

Этот код передается по каналу и происходит искажение одного (пусть а2 символа).

.

Вычисляем синдром s= s1s2s3.

,

,

.

Синдромом 111 можно закодировать ошибку а2. Нетрудно видеть, что если код Хэмминга принят правильно, то синдром s=000, т.е. отсутствуют ошибки.

Если бы ошибка была в а4, то синдром s=011. Схемная реализация кодеров и декодеров линейного блочного кода Хэмминга показана на рисунке 1.22.

 

Рис.1.22.

 

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

Последовательность кодовых комбинаций первичного m разрядного кода сообщения можно записать в виде матрицы

.

Чтобы не записывать все кодовые комбинации этой матрицы можно записать единичную матрицу размером m´m.

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

.

Вообще Np = 2m и уменьшение на единицу связано с отсутствием комбинации 000…0.

Для задания избыточного кода необходимо построить образующую матрицу Mn,m, левая часть которой есть единичная матрица Im первичного кода, а правая Rr,m – матрица проверочных элементов. Размерность такой матрицы n´m.

.

 

Теперь на основе образующей матрицы М можно построить проверочную матрицу Н размерностью n´r, левая часть которой это транспонированная матрица проверочных элементов, а правая – единичная матрица

.

Единицы в строках матрицы Н будут стоять на позициях элементов, участвующих в проверке на четность при формировании соответствующих bi (i = 1, 2, …, r). Таким образом, если задана образующая матрица М, то построив по ней проверочную матрицу, можно найти правила формирования проверочных групп элементов. Такой матричных подход удобен при построении линейных блочных кодов с большим числом разрядов m и r.

 




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 876; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.