Среда, 19.08.2026, 21:14
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории каталога
Конспект по ОТС [16]
Получение, передача, обработка и хранение информации
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Мой сайт
Главная » Статьи » Конспект по ОТС

Вес и расстояние Хемминга. Способность кодов обнаруживать и исправлять ошибки

Рассмотрим, чем определяется способность блочного кода обнаруживать и исправлять ошибки, возникшие при передаче.

Пусть U = (U0, U1, U2, ...Un-1) - двоичная последовательность длиной  n.

Число единиц (ненулевых компонент) в этой последовательности называется весом Хемминга  вектора  U  и  обозначается   w(U).

Например, вес Хемминга вектора U = ( 1001011 ) равен четырем, для вектора  U = ( 1111111 ) величина  w(U) составит 7 и т.д.

Таким образом, чем больше единиц в двоичной последовательности, тем больше ее вес Хемминга.

Далее, пусть U и V  будут двоичными последовательностями длиной n.

Число разрядов, в которых эти последовательности различаются, называется расстоянием Хемминга   между U и V  и обозначается d( U, V).

Например, если U = ( 1001011 ),  а V = ( 0100011 ), то d( U, V) = 3.

Задав линейный код, то есть определив все 2k его кодовых слов, можно вычислить расстояние между всеми возможными парами кодовых слов. Минимальное из них называется минимальным кодовым расстоянием кода и обозначается dmin.

Можно проверить и убедиться, что минимальное кодовое расстояние для рассматриваемого нами в примерах (7,4)-кода равно трем: dmin(7,4) = 3. Для этого нужно записать все кодовые слова (7,4)-кода Хемминга (всего 16 слов), вычислить расстояния между их всеми парами и взять наименьшее значение. Однако можно определить dmin блочного кода и более простым способом.

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

Если при передаче кодового слова по каналу связи в нем произошла одиночная ошибка, то расстояние Хемминга между переданным словом U и принятым вектором  r  будет равно единице. Если при этом одно кодовое слово не перешло в другое (а при dmin > 1 и при одиночной ошибке это невозможно), то ошибка будет обнаружена при декодировании.

В общем случае если блочный код имеет минимальное расстояние dmin, то он может обнаруживать любые сочетания ошибок при их числе, меньшем или равном dmin - 1, поскольку никакое сочетание ошибок при их числе, меньшем, чем  dmin - 1, не может перевести одно кодовое слово в другое.

Но ошибки могут иметь кратность и большую, чем dmin- 1, и тогда они останутся необнаруженными.

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

Пусть вероятность ошибки в канале связи равна Pош. Тогда вероятность того, что при передаче последовательности длины n  в ней произойдет одна ошибка, равна

                          Р1 = n Pош × ( 1- Рош)n-1,                                                       (1.36)

соответственно, вероятность l-кратной ошибки  - 

                  Pl =Cnl Pошl × ( 1- Pош)n-l,                                                       (1.37)

где  Cnl   -  число возможных комбинаций из  n  символов кодовой последо-вательности по  l  ошибок.

По каналу связи передаются кодовые слова с различными весами Хемминга. Положим, что ai  — число слов с весом i в данном коде (всего слов в коде длиной n  -  ).

А теперь определим, что такое необнаруживаемая ошибка. Обнаружение ошибки производится путем вычисления синдрома принятой последовательности. Если принятая последовательность не является кодовым словом ( тогда синдром не равен нулю), то считается, что ошибка есть. Если же синдром равен нулю, то полагаем, что ошибки нет (принятая последовательность является кодовым словом). Но тем ли, которое передавалось?  Или же в результате действия ошибок переданное кодовое слово перешло в другое кодовое слово данного кода:

                                       r  = U  + е  =  V,                                                       (1.38)

то есть сумма  переданного кодового слова U и вектора ошибки е  даст новое кодовое слово V ? В этом случае, естественно, ошибка обнаружена быть не может.

Но из определения  двоичного линейного кода следует, что если сумма кодового слова и некоторого вектора  е  есть кодовое слово, то  вектор е также представляет собой кодовое слово. Следовательно, необнаруживаемые ошибки будут возникать тогда, когда сочетания ошибок будут образовывать кодовые слова.

Вероятность того, что вектор е совпадает с кодовым словом, имеющим вес i ,  равна

                                    Pi = Pошi × (1- Рош)n-i .                                                    (1.39)

Тогда полная вероятность возникновения необнаруживаемой ошибки

                       .                                                (1.40)

Пример: рассматриваемый нами (7,4)-код содержит по семь кодовых слов с весами w = 3 и w = 4 и одно кодовое слово с весом w = 7, тогда

                (1.41)

или,  при Рош = 10 -3, Р(Е) @ 7 × 10 -9.

Другими словами, если  по  каналу  передается информация со скоростью V = 1кбит/с и в канале в среднем каждую секунду будет происходить искажение одного символа, то в среднем семь принятых слов на 109 переданных будут проходить через декодер без обнаружения ошибки (одна необнаруживаемая ошибка за  270 часов).

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

Категория: Конспект по ОТС | Добавил: electronics (17.02.2009)
Просмотров: 54284 | Комментарии: 4 | Рейтинг: 4.6/5 |
Всего комментариев: 4
4 я  
0
нихуя я не понял, товарищи!

3 Cristian  
0
респекТИЩЕ ! Все Ясно и понятно !

2 Cristian  
0
Ой ваще Респект ! Я тока тут все понял )

1 Lisa  
0
Спасибо, помогло =)

Имя *:
Email *:
Код *:
Сделать бесплатный сайт с uCozCopyright MyCorp © 2026