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

лабы / лаба 1 / 00_лаба_2_1_опк_отчёт

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

Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

Московский технический университет связи и информатики

___________________________________________________________________

Факультет

«Радио и телевидение»

Кафедра

«Радиотехнических систем (РТС)»

Лабораторная работа №1 по дисциплине «Основы помехоустойчивого кодирования»

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

Выполнил

 

 

Студент группы БРВ2201

_________________________

Велит А.И.

Проверила

 

 

Старший преподаватель

_________________________

Минаева О.Н.

Москва 2025

1. ЦЕЛЬ РАБОТЫ

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

2. РАСЧЁТНАЯ ЧАСТЬ

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

Вариант: 4

verifMtrxCols=[3 6 5 7]

infBlocksT =[[0 0 1 1] [1 1 0 0]]

2.2 Расчёт кодера

Из восьмеричных чисел, полученных по варианту в таблице из методических указаний, была составлена проверочная матрица:

0 1 1 1 1 0 0

H= 1 1 0 1 0 1 0

1 0 1 1 0 0 1

После чего, отделив единичную матрицу и транспонировав оставшуюся часть, строится образующая матрица и в левой части добавляется единичная матрица:

1 0 0 0 0 1 1

G= 0 1 0 0 1 1 0

0 0 1 0 1 0 10 0 0 1 1 1 1

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

c a G7,4

Уравнения для символов кодового слова:

c1 →a1

c2 →a2 c3 →a3 c4 →a4

c5 →a4+a3+a2 c6 →a4+a2+a1 c7 →a4+a3+a1

Последние 3 уравнения (c5, c6, c7) вычисляют проверочные символы и называются проверочными

Построенная по проверочным уравнениям блок-схема кодера:

Рисунок 2.2.1 – Блок-схема кодера

2.3. Расчёт декодера

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

s c HT 7,4

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

s1 →c5+c4+c3+c2 s2 →c6+c4+c2+c1 s3 →c7+c4+c3+c1

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

Рисунок 2.3.1 – Блок-схема декодера

Составление таблицы синдромов происходит путем задания единичных векторов ошибок в 1–7-м битах кодового слова и вычислением синдромов по формуле:

s e HT

Тогда таблица синдромов примет вид:

Таблица 2.3.1 – Таблица синдромов

Нахождение последовательности на выходе кодирующего устройства для заданных информационных блоков:

codeWord1

gotInfBlockByG (infBlocks)

 

,G =[0 0 1 1 0 1 0]

 

 

0

 

codeWord2

gotInfBlockByG (infBlocks)

 

,G =[1 1 0 0 1 0 1]

 

 

1

 

Теперь проверим полученные кодовые слова путем умножения их на транспонированную проверочную матрицу HT :

codeWrdByHT codeWord1,HT =[0 0 0]

codeWrdByHT codeWord2,HT =[0 0 0]

Полученные синдромы указывают на то, что ни в одном символе не было совершено ошибки.

Теперь будет внесена ошибкавсимволе: 5 , 1-го кодового слова. Тогда кодовое слово примет вид:

codeWord1 MakeAnError codeWord1,Nerr =[0 0 1 1 1 1 0]

Далее снова производится проверка кодовых слов, для выявления ошибки в них:

syndromCW1 codeWrdByHT codeWord1,HT =[1 0 0]

syndromCW2 codeWrdByHT codeWord2,HT =[0 0 0]

Синдром для второго символьного кода не изменился, все также ошибок не было выявлено, однако, как можно заметить, теперь синдром первого кодового слова ненулевой, что говорит о том, что данное кодовое слово имеет ошибку в каком-то из символов, однако, имея таблицу синдромов, можно выявить в каком именно из символов ошибка, достаточно просто сравнить полученный синдром с имеющимися в таблице оных:

Сравнение синдрома 1-го кодового слова с таблицей дало следующий результат:

syndromCompare syndromCW1 =“Ошибкабыланайденавсимволе 5”

Сравнение синдрома 2-го кодового слова с таблицей:

syndromCompare syndromCW2 =“Ошибоквсимволахнебылонайдено”

3. ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ

Выполненные в пункте 2 расчеты необходимо проверить по результатам компьютерного расчета с помощью программы "Labor1.exe". Запускается исполняемый файл программы, после чего выполняется "кодирование". Для этого необходимо нажать на кнопку с надписью "Кодирование" на главном окне программы, после чего выполнить запрашиваемые инструкции, которые написаны в появившемся дополнительном окне: ввести строчки проверочной матрицы, ввести информационный блок и кодовое слово. Программа проверит введенные данные на правильность, после чего выдаст результат.

Итак, по вышеописанному методу, выполним проверку, верно ли были закодированы информационные блоки "ручным" методом. Результат программы на введенные данные представлен на рисунке 3.1.

Рисунок 3.1 – Результат проверки кодирования в программе Labor1

По результатам программы можно понять, что кодирование данных информационных блоков было выполнено правильно.

Теперь проведем проверку декодирования в данной программе. Для этого необходимо нажать на кнопку "Декодирование" и в появившемся окне вписать: строки проверочной матрицы, кодовое слово и получившейся для него синдром. Результат программы представлен на рисунке 3.2.

Рисунок 3.2 – Результат проверки декодирования в программе Labor1

Программа подтвердила правильность "ручного" декодирования кодовых слов без ошибок, теперь передадим в качестве кодового слова – кодовое слово с ошибкой из предварительного расчета. Результат работы программы на рисунке 3.3.

Рисунок 3.3 – Результат проверки декодирования с ошибкой в кодовом слове в программе Labor1

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

4. ВЫВОДЫ

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

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