Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИТ БГУИР, ИТиУТС (заочная), контрольная 1,2 по ТЕЛЕМЕХАНИКЕ 8 вар. (Кривинченко) за 2012 г..doc
Скачиваний:
141
Добавлен:
01.04.2014
Размер:
411.14 Кб
Скачать

Контрольная работа №2

Произвести кодирование в помехозащищенных кодах, указанных в табл. 2.2., согласно индивидуальному варианту.

Вариант 8: а) Корреляционный код;

б) Код Файра;

в) Код БЧХ.

Исходные данные:

  1. Кодовая комбинация, подлежащая кодированию – последние три цифры шифра студента, записанные в двоичном коде на все сочетания: 108 – 1101100.

  2. Длина пакета исправления и обнаружения искажений для кода Файра соответственно равна 4 и 5.

  3. Общая длина кодовой комбинации для кода БЧХ равна 21, а кратность исправления искажений - 2.

Порядок выполнения:

1. Определить в зависимости от варианта задания число контрольных

символов.

2. Определить состав контрольных символов.

3. Произвести запись исходной кодовой комбинации в соответствующем коде.

4. Ввести в кодовую комбинацию, записанную в коде Фаира, пакет искажений длиной, равной пяти, в кодовую комбинацию – в коде БЧХ четырехкратное искажение, а в остальные кодовые комбинации одиночные искажения.

    1. Произвести декодирование кодовых комбинаций и показать, что введение искажений обнаруживается соответствующим кодом.

А) Корреляционный код.

Переводим число 108 в двоичный код:

G(x) = 1101100

В рассматриваемом коде символы исходного кода кодируются повторно. Правило вторичного кодирования таково: если в исходном кодовом слове на какой-либо позиции стоит 0, в новом помехоустойчивом коде на эту позицию записывается пара символов 01, а если в исходном коде была 1, она записывается как 10.

Кодовое слово 1 1 0 1 1 0 0

Корреляционный код 10 10 01 10 10 01 01

Корреляционный код всегда имеет вдвое больше символом, чем исходный. Поэтому его коэффициент избыточности всегда равен 0,5.

.

На приеме ошибка обнаруживается в том случае, если в парных элементах содержатся одинаковые символы, т.е. 11 или 00 (вместо 10 и 01). При правильном приеме вторые (четные) элементы отбрасываются, и остается первоначальная комбинация.

Пусть из канала связи поступила кодовая комбинация F’(x) = 10110110100101. 1101100, т.е. результат указывает, что в принятой кодовой комбинации имеются искажения, обнаруживаются две подряд стоящие 1.

Пусть кодовая комбинация F(x) была искажена помехами и поступила в виде F(x) = 10010110100101, где искаженные символы подчеркнуты. Тогда, отбросив четные элементы, получим 1001100, т.е. искаженные два рядом стоящие элемента не обнаруживаются как ошибка.

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

Б) Код Файра.

Необходимо найти образующий полином и определить общую длину кодовых комбинаций n, а также число контрольных и информационных символов для кода позволяющего исправлять пакеты ошибок длинной bs=4 и обнаружить пакеты ошибок длинной bm=5.

Решение:

Образующий многочлен код Файра P(X)Ф определяется из выражения:

P(X)ф = P(X)( XC+1), где P(X) – неприводимый многочлен степени:

tbs,

принадлежащий показателю степени:

Принимаем t = 4.

Показатель степени будет равен 15.

Тогда:

С ≥ bs +bm - 1,

C ≥ 4 + 5 – 1,

C = 8.

Неприводимый многочлен P(x) выбирается согласно значению t – это многочлен четвертой степени P{X}=x4+x+1.

Тогда P(X)ф = (x4+x+1)·(x8+1)=x12+x9+x8+x4+x+1.

Длина слова n равна наименьшему общему кратному чисел E и C, т.к. только в этом случае многочлен xn+1 делится на P(X)ф без остатка. При n* n никакой многочлен xn* + 1 не делится на P(X)Ф. Таким образом n = НОК(Е,С) = 15*8 = 120.

Число контрольных символов r = 4 + 8 = 12.

В итоге получаем циклический код (120, 108).

Избыточность такого кода невелика R = 12/120 = 0,1.

Дальнейшая процедура декодирования такая же, как и для циклического кода с d=3.

P(X)ф=1001100010011.

Исходный код равен G(x)= 1101100.

Умножим G(x) на xr, получим G(xx12=1101100*1*1012.

Разделив полученный результат на P(x)ф получаем остаток R(x):

1101100000000000000│1001100010011

1001100010011 │11001

1000000100110

1001100010011

1100110101000

1001100010011

1010101110110

1001100010011

110011001010= R(x)

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

F(x)= 1101100110011001010.

Проверим, информация передалась без искажения, т.е.

, (R(x)=0)

11011001100110010101001100010011

1001100010011 │1001

1000001000000

1001100010011

1101010011010

1001100010011

1001100010011

1001100010011

0

Значит, информация передалась без искажения.

Введем пятикратное искажение и узнаем, определится ли ошибка:

, (R*(x)≠0)

F*(x)= 1101000010000001110│1001100010011

1001100010011 │11000

1001000000110

1001100010011

1000101010111

1001100010011

10010001000=R*(x)

Т.к. R*(x)≠0, значит, ошибка определяется.

Вывод: Коды Файра – это циклические коды, обнаруживающие и исправляющие пакеты ошибок. Непременным условием пакета данной длины b является поражение крайних символов и нахождение между ними b – 2 разрядов. Коды Файра могут исправлять пакет ошибок длиной bs и обнаруживать пакеты ошибок длиной bm.

В) Код БЧХ.

При заданном n=21 должно соблюдаться одно из равенств:

2h -1 = n;

(2h -1)/ q = n,

где h>0 – целое число, q – нечетное положительное число, при делении на которое n получается целым нечетным числом.

Откуда h=6 , а q = 3.

Кодовое расстояние определяют согласно d=2*s+1=5. Из таблицы прил. 2 выписываем два минимальных многочлена, номера которых определяют следующим образом: берут многочлены M1(X) и M3(X) и их индексы умножают на q=c=3 . В результате получаем M3(X) и M9(X). Таким образом:

откуда 9 = r , а 12 = k . Получаем код БЧХ (21 , 12) .

Дальнейшие этапы кодирования аналогичны рассмотренным для циклических кодов с d < 4.

=1110110011.

Исходный код равен G(x)= 1101100.

Умножим G(x) на xr, получим G(x)*x9 =1101100*1*109.

Разделив полученный результат на P(x) получаем остаток R(x):

1101100000000000│1110110011

1110110011 │10101

1101001100

1110110011

1111111100

1110110011

100111100= R(x)

F(x)=G(x)·xr+R(x).

F(x)=1101100100111100

Проверим, информация передалась без искажения, т.е.

, (R(x)=0)

1101100100111100│1110110011

1110110011 │10101

1101011111

1110110011

1110110011

1110110011

0

Значит, информация передалась без искажения.

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

, (R*(x)≠0)

1100000110101100│1110110011

1110110011 │1011111

1011010110

1110110011

1011001011

1110110011

1011110001

1110110011

1010000100

1110110011

1001101110

1110110011

111011101

Т.к. R*(x)≠0, значит, ошибка определяется.

Вывод: Циклический код с d ≥ 5 позволяют обнаруживать и исправлять любое число ошибок. Заданными при кодировании является число исправляемых ошибок s и длина слова n . Число информационных символов k и контрольных символов r , а также состав контрольных символов подлежат определению.