5 лаба / лаба 5
.docxМинистерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Ордена Трудового Красного Знамени Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики» (МТУСИ)
Кафедра радиотехнических систем
Дисциплина: Основы помехоустойчивого кодирования
Лабораторная работа №3
«Исследование процессов кодирования и
декодирования кодов Рида-Соломона»
Выполнил:
Проверила:
Шубина М. В.
Москва 2025
Цель работы:
1. Получение практических навыков по формированию поля Галуа для построения кодов Рида-Соломона, изучение алгоритмов формирования кодовых слов.
2. Изучение процессов декодирования кодов Рида-Соломона, алгоритма обнаружения и исправления ошибок в кодовых словах.
Вариант 27:
Исходные данные:
Образующий неприводимы полином G(x) = 2478= = x7+x5+ x2+x+1=101001112
Разрядность символов m = 7
Длина кодового слова n = 15
Блоки полезной информации 11100001 01010110 по 27 варианту, но так как в первом случае взял 7 вариант и нет возможности в приложении подобрать значения (так в исходном варианте 8 цифр а выводится 7) то возьму значения как в 7 варианте
Блоки полезной информации 1001100 1010011
Количество обнаруживаемых и исправляемых ошибок t=2
Ход работы:
Рассчитаем поле Галуа:
Найдем
первые десять
коэффициентов для заданного варианта.
|
0000001 |
|
0000010 |
|
0000100 |
|
0001000 |
|
0010000 |
|
0100000 |
|
1000000 |
|
0100111 |
|
1001110 |
|
0111011 |
Далее,
все вычисления произведём через
представленную программу Labr3.exe,
так как рассчитывать их будет слишком
трудоёмко, потому что количество значений
.
Найдём
рассчитанном поле Галуа элементы,
которые соответствуют символам
кодируемого сообщения: 1001100
1010011.
Ими оказались элементы поля Галуа
.
Тогда, поскольку кодируемый блок информации содержит 11 символов, два имеющихся элемента дополняем 9 нулевыми элементами и получаем следующую последовательность:
которую можно представить в полиномиальной форме через элементы поля Галуа:
Далее
запишем образующий полином кода
Рида-Соломона g(x)
по теореме Безу для
исправляемых ошибок:
Полином определен верно.
Далее,
сформируем кодовое слово
Таким образом, полином-остаток:
Значит,
Теперь внесем ошибку во втором бите первого символа.
Первый символ: 1010011.
Внесенная ошибка: 1110011
Тогда
полином
с внесенной ошибкой будет иметь вид:
И найдем синдром ошибки, остатком от деления по формуле:
И он будет равен:
!
Результат выполнения деления программой представлен ниже:
Проверка исходного кодового слова без ошибки: заданное кодовое слово должно без остатка делится на полином g(x). Проверим это программно:
Вывод:
Был изучен метод кодирования Рида-Соломона. Были применены изученные навыки по кодированию последовательности. Научились составлять поле Галуа, составлять порождающий многочлен, составлять кодовые слова и находить синдромы ошибок в искаженных кодовых словах.
