
- •Код с проверкой на четность.
- •1.1 Нахождение корректирующих кодов.
- •1.2 Нахождение хэмминговых и кодовых расстояний.
- •Нахождение синдрома ошибки.
- •Код с повторением без инверсии.
- •2.1. Нахождение корректирующих кодов.
- •2.2.Нахождение хэмминговых и кодовых расстояний.
- •2.3.Нахождение синдрома ошибки.
- •Код с повторением и инверсией.
- •3.1. Нахождение корректирующих кодов.
- •3.2. Нахождение хэмминговых и кодовых расстояний.
- •3.3.Нахождение синдрома ошибки.
- •4.1. Нахождение корректирующих кодов.
- •4.2.Нахождение хэмминговых и кодовых расстояний.
- •4.3.Нахождение синдрома ошибки.
- •Код с постоянным весом.
- •5.1. Нахождение корректирующих кодов.
- •5.2.Нахождение хэмминговых и кодовых расстояний.
- •5.3.Нахождение синдрома ошибки.
- •Линейные коды.
- •Код Хэмминга не систематический.
- •6.1. Нахождение корректирующих кодов.
- •6.3.Нахождение синдрома ошибки.
- •7.1.Нахождение корректирующих кодов.
- •7.2.Нахождение хэмминговых и кодовых расстояний.
- •7.3.Нахождение синдрома ошибки.
Корректирующие коды, обнаруживающие ошибки.
Лабораторная работа №1.
Код с проверкой на четность.
Код является простейшим разделимым систематическим циклическим линейным кодом длины n, с k = n – 1 информационными и r = 1 проверочным символами. Обозначается как (n,n–1)-код. Его комбинации обладают свойством цикличности, поэтому код является циклическим.
Процедура построения: строится первичный (обычный двоичный) код длины k, затем с правой стороны приписывается один проверочный символ. Значение проверочного символа выводится из условия: общее число единиц в коде четное.
Код имеет d = 2 и применяется для обнаружения ошибки.
Корректирующая способность кода: код обнаруживает ошибки любой нечетной кратности в пределах n.
Процедура обнаружения состоит в проверке на четность всей принятой комбинации Vi*=(a1*a2*……ak*b1*) Результат этой проверки характеризуется одним символом синдрома S. S = S1
,
Относительная скорость передачи q = k / n.
Избыточность кода И = 1 / k.
Вероятность появления ошибочной комбинации на выходе устройства обнаружения ошибок при одноразовой передаче комбинации по двоичному симметричному каналу (ДСК) определяется вероятностью необнаружения ошибок Pн и равна вероятности появления ошибок нечетной кратности, и определяется по формуле:
,
где р – вероятность искажения одного символа, q=1– p вероятность правильного приема одного символа.
1.1 Нахождение корректирующих кодов.
Комбинация |
Первичный код а1 а2 а3 |
Корректирующий код а1 а2 а3 b1 |
V0 |
0 0 0 |
0 0 0 0 |
V1 |
0 0 1 |
0 0 1 1 |
V2 |
0 1 0 |
0 1 0 1 |
V3 |
0 1 1 |
0 1 1 0 |
V4 |
1 0 0 |
1 0 0 1 |
V5 |
1 0 1 |
1 0 1 0 |
V6 |
1 1 0 |
1 1 0 0 |
V7 |
1 1 1 |
1 1 1 1 |
1.2 Нахождение хэмминговых и кодовых расстояний.
Хэмминговы расстояния находятся для двух кодовых комбинаций.
Для кодов, число комбинаций которых N = 8, (Для первых четырех кодов).
Минимальное хэммингово расстояние кода, кодовое расстояние.
Хэмминговым расстоянием между двумя кодовыми комбинациями называют число разрядов, в которых эти комбинации имеют разные символы в соответствующих одноименных разрядах.
Хэммингово расстояние между двумя кодовыми комбинациями удобно находить, используя операцию сложения по mod2, так как результат сложения по mod2 только тогда равен 1, когда складываемые символы различаются. Учитывая это, можно определить расстояние между любыми двумя комбинациями n-разрядного кода.
Например, суммой по mod2 комбинаций V1 = 1110 и V2 = 0100 является комбинация V = 1010,а вес этой комбинации равен 2.
Это следующие пары :
V0V1
V0V2 V1V2
V0V3 V1V3 V2V3
V0V4 V1V4 V2V4 V3V4
V0V5 V1V5 V2V5 V3V5 V4V5
V0V6 V1V6 V2V6 V3V6 V4V6 V5V6
V0V7 V1V7 V3V7 V3V7 V4V7 V5V7 V6V7
Комбинации |
Хэммингово расстояние dij
|
||
Vi |
Vj |
Vij |
|
0000 |
0011 |
0011 |
2 |
0000 |
0101 |
0101 |
2 |
0000 |
0110 |
0110 |
2 |
0000 |
1001 |
1001 |
2 |
0000 |
1010 |
1010 |
2 |
0000 |
1100 |
1101 |
2 |
0000 |
1111 |
1110 |
3 |
0011 |
0101 |
0110 |
2 |
0011 |
0110 |
0101 |
2 |
0011 |
1001 |
1010 |
2 |
0011 |
1010 |
1001 |
2 |
0011 |
1100 |
1111 |
4 |
0011 |
1111 |
1100 |
2 |
0101 |
0110 |
0011 |
2 |
0101 |
1001 |
1100 |
2 |
0101 |
1010 |
1111 |
4 |
0101 |
1100 |
1001 |
2 |
0101 |
1111 |
1010 |
2 |
0110 |
1001 |
1111 |
4 |
0110 |
1010 |
1100 |
2 |
0110 |
1100 |
1010 |
2 |
0110 |
1111 |
1001 |
2 |
1001 |
1010 |
0011 |
2 |
1001 |
1100 |
0101 |
2 |
1001 |
1111 |
0110 |
2 |
1010 |
1100 |
0110 |
2 |
1010 |
1111 |
0101 |
2 |
1100 |
1111 |
0011 |
2 |
Для нахождения кодового расстояния необходимо найти минимальное хэмминговое расстояние из всех хэмминговых расстояний.
Кодовое расстояние d = 2