теория информации. ТИ (Best). Лекции по предмету "Теория информации" Красноярск 2002
Скачать 1.06 Mb.
|
Код ХэмингаКод Хэминга относится к систематическим кодам. Код позволяет обнаруживать одиночные и двойные ошибки и исправлять одиночные ошибки. Для вычисления основных параметров кода необходимо знать соответственно количество информационных разрядов nu или количество комбинаций . Количество контрольных разрядов nk вычисляют из соотношений , n = nu + nk , n – значность кода, Количество контрольных разрядов можно определить по таблице. Номера позиций контрольных символов выбирают по закону 2i, i = 0,1,2… Значения контрольных разрядов выбирают следующим образом. Алгоритм: 1) Составляется вспомогательная таблица для ряда натуральных чисел в двоичной коде, Число строк в таблице n – значность кода. В каждой i –й строке вспомогательной таблицы ставится в соответствие ai коэффициент, который участвует в проверке, ai – коэффициенты, из которых составлена кодовая комбинация
На основании этой таблицы составляется схема проверок, которые производятся суммированием выбранных проверочных коэффициентов . Для каждой поверки выбираются свои проверочные коэффициенты. В первую проверку входят коэффициенты, которые содержат в младших разрядах единицы. Во вторую проверку входят коэффициенты содержащие единицу во втором разряде(a2,a3,a6,…). В третью проверку входят коэффициенты содержащие единицу в третьем разряде. Схему проверок сведём в отдельную таблицу.
Количество проверок равно количеству разрядов. Контрольные коэффициенты выбираются таким образом, чтобы проверочная сумма была равна нулю. Т.е. если количество единиц чётное, то контрольный разряд нулевой, если нечётнно, то контрольный разряд равен единице. Пример: Построить код Хэминга по комбинации 0101 nu = 4 nk = 3 nk = log(nu + 1) + log(nu + 1) 1 ,2,3 k = 7 2i = 1,3,4,8 К онтрольные разряды будут занимать позиции 1,2,4. Код Хэминга а1a2a3a4a5a6a7 k1k20 k31 0 1 - макет 1) a1 + a3 + a5 + a7 = k1 + 0 + 1 + 1 = 0 k1 = 0 2) a2 + a3 + a6 + a7 = k2 + 0 + 0 + 1 = 0 k2 = 1 3) a4 + a5 + a6 + a7 = k3 + 1 + 0 + 1 = 0 k3 = 0 Код Хэминга будет иметь вид 0100101 |