Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / лаба 1 / Описание Лаб 1 ПК

.pdf
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
419.29 Кб
Скачать

Лабораторная работа №1

Исследование процессов кодирования и декодирования при передаче дискретных сообщений кодами Хэмминга

Цель работы: изучение способов задания, оценки конкретных свойств, принципа построения и работы кодирующих и декодирующих устройств кодов Хэмминга.

Порядок выполнения работы

Составить проверочную матрицу систематического кода Хэмминга (7,4), используя следующие принципы её построения:

-матрица должна состоять из различных столбцов;

-последние столбцы матрицы образуют единичную подматрицу Ir r ..

Здесь и далее используются следующие обозначения:

n k r 4 3 7 -длина кодового слова (суммарное количество информационных (k) и проверочных (r) бит для одного блока передаваемой

информации).

k -длина информационного слова (количество информационных бит для

одного блока передаваемой информации).

 

r -количество проверочных бит .

 

Размер проверочной матрицы будет

Hстрок столбцов Hr n H3 7 .

Столбцы проверочной матрицы содержат 3 бита. Для краткости они могут быть представлены в восмиричной системе цифрами 1, 2, 3, 4, 5, 6,7.

Учитывая, что столбцы единичной диагональной матрицы являются двоичными числами - степенями 2-х: 4=22,2=21, 1=20 и одинаковы для всех вариантов задания, требуется определить 4 первые столбца, которые, в свою очередь, образуют ряд оставшихся двоичных трёхбитовых чисел: 3,5,6 и 7. Количество вариантов чередования столбцов равно количеству возможных перестановок, то есть 4! 1 2 3 4 24. Все эти возможные перестановки сведены в таблицу с вариантами задания.

Вариант

1-4 столбцы проверочной

 

матрицы

(подматрица

 

Rk r )

 

1

3,5,6,7

 

2

3,5,7,6

 

3

3,6,7,5

 

4

3,6,5,7

 

5

3,7,5,6

 

6

3,7,6,5

 

7

5,3,6,7

 

8

5,3,7,6

 

9

5,6,3,7

 

10

5,6,7,3

 

11

5,7,3,6

 

12

5,7,6,3

 

13

6,3,5,7

 

14

6,3,7,5

 

15

6,5,3,7

 

16

6,5,7,3

 

17

6,7,3,5

 

18

6,7,5,3

 

19

7,3,5,6

 

20

7,3,6,5

 

21

7,5,3,6

 

22

7,5,6,3

 

23

7,6,3,5

 

24

7,6,5,3

 

Для получения четырёх первых столбцов проверочной матрицы необходимо преобразовать в двоичную форму четыре восьмиричных числа из вышеприведённой таблицы. Добавив к ним три последних столбца, получим проверочную матрицу для кода Хэмминга со следующими параметрами:

Длина кодового слова, равная количеству столбцов n=7. Количество проверочных бит равное количеству строк r=3.

Длина информационного блока k=4.

 

 

 

 

 

 

 

По проверочной матрицы

H

r n

 

 

r

; I

r r

 

составленной из двух

R

 

 

 

 

 

 

k

 

 

,

подматриц, строится образующая

G

 

I

k k

; RT

 

 

. Для этого потребуется

 

 

 

 

 

k n

 

 

 

 

r k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

транспонировать подматрицу Rk r и добавить к ней слева единичную матрицу.

По полученным матрицам формирeтся система проверочных и синдромных уравнений.

На основе проверочных и синдромных уравнений строятся схемы кодирующего и декодирующего устройств.

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

схемы кодирующего и декодирующего устройств.

 

1

0

0

1

0

1

G(6,3)

0

1

0

1

1

0

 

0

0

1

0

1

1

 

 

 

 

 

 

 

Проверочные уравнения служат для вычисления проверочных символов согласно формуле:

c a G(6,3)

Раскрыв содержание матричной операции, получим уравнения для символов кодового слова.

c1 g11a1 c2 g22a2 c3 g33a3

c4 g14a1 g24a2 g34a3 a1 a2

c5 a2 a3 c6 a1 a3

Последние 3 уравнения вычисляют проверочные символы и называются проверочными.

По ним строится блок –схема кодера:

Информационное

Кодовое слово

 

слово

 

a1

с1

a2

с2

 

a3

с3

 

Сумматор

 

с4

 

 

 

 

 

 

Сумматор

 

с5

 

 

 

 

 

 

 

 

Сумматор с6

Синдромные уравнения строятся по матричному алгоритму декодирования

s c H T

 

 

 

 

 

 

(6,3)

 

 

 

 

 

 

Определим проверочную матрицу H через образующую G

 

 

1

0

1

0

0

 

 

1

 

H(6,3)

0

1

1

0

1

0

 

 

1

0

1

0

0

1

 

 

 

 

 

 

 

 

 

Раскрыв матричную операцию для бит синдрома, получим:

s1 h11c1 h12c2 h13c3 h14c4 h15c5 h16c6 c1 c2 c4 s2 h21c1 h22c2 h23c3 h24c4 h25c5 h26c6 c2 c3 c5

s3 h31c1 h32c2 h33c3 h34c4 h35c5 h36c6 c1 c3 c6

В матричном виде это уравнение представлено формулой

s c H T ,где

s - синдром ошибки;

H T - транспонированная проверочная матрица.

По синдромному уравнению можно построить схему декодера:

Кодовое слово

с1

с2

с3

с4

с5

с6

Сумматор

Сумматор

Сумматор

 

 

 

Информационное

 

 

 

слово

 

 

 

 

 

 

 

 

 

 

Сум-

 

 

 

 

a1

 

матор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a2

 

 

Сум-

 

 

 

 

 

 

 

 

 

матор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сум-

 

a3

 

 

 

 

матор

 

 

 

 

 

 

 

 

 

 

 

Вектор ошибки e

Таблица

синдромов

Синдром ошибки s

На схеме блок «таблица синдромов» – это запоминающее устройство, определяющее по синдрому (он задаётся как адрес) вектор ошибки (последовательность бит, в которой единица располагается на том месте, на котором располагается ошибочный бит в кодовом слове). Например, для ошибки во втором бите кодового слова вектор ошибки представляется кодом e 010000 . На схеме для краткости предусматривается исправление ошибок только в информационной части кодового слова (в трёх первых битах c1 a1 ;c2 a2 ;c3 a3 ).В сокращённом виде вектор для ошибки во втором бите имеет вид: e 010 .

Произвести кодирование сообщения кодом Хэмминга, сформировав кодируемое сообщение в виде двух блоков по варианту в таблице 2. Каждый информационный блок содержит 4 бита.

Для передачи кодируются 2 блока

Таблица2

Вариант

Инф блоки

 

Вариант

Инф блоки

1

1000

1111

 

17

1010

1100

2

1001

1011

 

18

1101

0001

3

1110

0101

 

19

1000

1001

4

0011

1100

 

20

1001

0110

5

0100

1011

 

21

1000

1010

6

0101

1001

 

22

1011

0011

7

0110

0110

 

23

1001

1100

8

0111

1011

 

24

1101

0111

9

1000

0011

 

25

1001

1010

10

1001

1101

 

26

1100

1111

11

1010

1100

 

27

1011

1100

12

1011

0100

 

28

1100

1001

13

1100

1001

 

29

1011

1111

14

1101

0101

 

30

1000

1100

15

1110

1111

 

31

1111

1010

16

1111

0100

 

32

1111

0100

Для каждого блока вычисляется кодовое слово: сначала на бумаге путём умножения строки на матрицу, а затем на компьютере с помощью программы Labor1.exe в подкаталоге «Labor1» каталога «Лаб1 ПК». 4 файла с расширениями *.dll и *.bpl, которые должны быть в каталоге Labor1, необходимы как вспомогательные. Проверить правильность вычислений «вручную» порезультатам компьютерного расчёта.

Составить таблицу синдромов путём задания векторов ошибок в 1 – 7-м

битах кодового слова

(e=1000000, e=0100000 - e=0000001) и вычислением

синдромов по формуле

s e H T .

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

Произвести декодирование принятого кодового слова, закодированного кодом Хэмминга. Для этого надо вычислить синдром на бумаге по приведённой формуле и затем на компьютере для полученных выше кодовых слов (первое с внесённой ошибкой, второе - без ошибок). Программа Labor1.exe размещена лабораторном компьютере.

Убедиться, что при отсутствии ошибок в кодовом слове значение синдрома s=0.

Определить положение ошибочного бита в первом кодовом слове по вектору ошибки из таблицы синдромов.

Содержание отчета

1.Наименование и цель работы.

2.Исходные данные для выполнения работы.

3.Результаты выполнения работы: Проверочная матрица Образующая матрица

Транспонированная проверочная матрица Проверочные уравнения Схема кодера Синдромные уравнения Схема декодера

Результаты кодирования по формуле Результаты кодирования на компьютере Таблица синдромов Результаты декодирования по формуле

Результаты декодирования на компьютере Выводы

.

Соседние файлы в папке лаба 1