ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Московский технический университет связи и информатики
Кафедра радиотехнических систем
Лабораторная работа № 4 ПК
«Изучение свёрточных кодов»
по дисциплине «Помехоустойчивое кодирование»
Москва 2020
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
Федеральное государственное образовательное бюджетное учреждение
высшего профессионального образования
Московский технический университет связи и информатики
Кафедра радиотехнических систем
«Утверждено на Совете
факультета радио и телевидения»
Декан А.В. Пестряков
Протокол № 7 от «24» марта 2020 г.
Лабораторная работа № 4 ПК
«Изучение свёрточных кодов»
по дисциплине «Помехоустойчивое кодирование»
«Утверждено на заседании кафедры
радиотехнических систем
ВРИО зав. кафедрой Д.С. Чиров
Протокол № 4 от «17 » марта 2020 г.
Москва 2020
УДК 6820.3.042.5 : 6220.39 План подготовки УМД 2019/2020 уч. года
Лабораторная работа № 4 ПК
«Изучение свёрточных кодов»
по дисциплине «Помехоустойчивое кодирование»
Составители: В.Э. Русанов, к.т.н., доцент,
А.Н. Лебедев
Рецензент: ,
Издание утверждено Советом факультета радио и телевидения.
Протокол № 7 от 24 марта 2020 г.
Лабораторная работа №4 ПК «Изучение свёрточных кодов»
Цель работы:
Изучение алгоритмов функционирования нерекурсивного несистематического свёрточного кодера на умножителях. Построение схем указанных кодеров.
Изучение принципа работы нерекурсивного свёрточного кодера на компьютерных имитационных моделях.
Формирование диаграммы состояний и решетчатой диаграммы нерекурсивного свёрточного кодера.
Анализ свёрточного кода по решетчатой диаграмме. Изучение алгоритма декодирования Витерби нерекурсивного свёрточного кода.
Исправление ошибок в заданных (принятых) кодовых словах нерекурсивного свёрточного кода.
Исходные данные для выполнения работы
1.
Тип
кода – нерекурсивный свёрточный , на
основе многочленов умножителей
и
.(см.
таблицу 1).
2.Информационная последовательность, для которой требуется рассчитать выходные сигналы кодера (см. таблицу 1). Исходное состояние всех ячеек регистра кодера – нулевые.
3.
Порождающие многочлены свёрточного
кодера (см. таблицу 1). Для краткости
порождающие многочлены для вариантов
задачи заданы в таблице в восьмеричной
форме. Например,
означает:
или
.
Таблица 1
Вариант |
a |
g1 |
g2 |
|
Вариант |
a |
g1 |
g2 |
1 |
10001 |
15 |
17 |
|
17 |
11101 |
16 |
11 |
2 |
01101 |
15 |
13 |
|
18 |
11011 |
12 |
17 |
3 |
10001 |
15 |
11 |
|
19 |
11001 |
12 |
15 |
4 |
10111 |
13 |
17 |
|
20 |
10111 |
12 |
11 |
5 |
11001 |
13 |
11 |
|
21 |
10011 |
6 |
5 |
6 |
10010 |
11 |
17 |
|
22 |
10110 |
15 |
7 |
7 |
11101 |
7 |
17 |
|
23 |
11011 |
6 |
11 |
8 |
01101 |
7 |
13 |
|
24 |
10110 |
12 |
7 |
9 |
10011 |
7 |
15 |
|
25 |
10011 |
12 |
5 |
10 |
10110 |
7 |
11 |
|
26 |
11011 |
13 |
6 |
11 |
10101 |
5 |
11 |
|
27 |
11101 |
15 |
6 |
12 |
11010 |
5 |
13 |
|
28 |
10001 |
17 |
5 |
13 |
10010 |
5 |
15 |
|
29 |
11100 |
16 |
7 |
14 |
11001 |
16 |
17 |
|
30 |
10111 |
12 |
13 |
15 |
10011 |
16 |
15 |
|
31 |
10101 |
16 |
5 |
16 |
11011 |
16 |
13 |
|
32 |
10011 |
17 |
3 |
4. Декодируемая последовательность приведена в таблице 2:
Таблица 2
Вариант |
g1 |
g2 |
|
|
|
1 |
15 |
17 |
|
1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 |
|
2 |
15 |
13 |
|
0 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 |
|
3 |
15 |
11 |
|
1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 |
|
4 |
13 |
17 |
|
1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 |
|
5 |
13 |
11 |
|
1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 |
|
6 |
11 |
17 |
|
0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 |
|
7 |
7 |
17 |
|
0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 |
|
8 |
7 |
13 |
|
0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 1 |
|
9 |
7 |
15 |
|
0 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 |
|
10 |
7 |
11 |
|
0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 |
|
11 |
5 |
11 |
|
0 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 1 |
|
12 |
5 |
13 |
|
0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 |
|
13 |
5 |
15 |
|
0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 |
|
14 |
16 |
17 |
|
1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 |
|
15 |
16 |
15 |
|
1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 |
|
16 |
16 |
13 |
|
1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 |
|
17 |
16 |
11 |
|
1 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 |
|
18 |
12 |
17 |
|
1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 1 0 |
|
19 |
12 |
15 |
|
1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 1 0 0 |
|
20 |
12 |
11 |
|
1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 |
|
21 |
6 |
5 |
|
1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 |
|
22 |
15 |
7 |
|
1 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 |
|
23 |
6 |
11 |
|
0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 |
|
24 |
12 |
7 |
|
1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 |
|
25 |
12 |
5 |
|
1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 |
|
26 |
13 |
6 |
|
1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 |
|
27 |
15 |
6 |
|
1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 |
|
28 |
17 |
5 |
|
1 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 |
|
29 |
16 |
7 |
|
1 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 |
|
30 |
12 |
13 |
|
1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 |
|
31 |
16 |
5 |
|
1 0 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 0 0 |
|
32 |
17 |
3 |
|
1 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 |
|
Порядок выполнения работы
1. Построить схему нерекурсивного свёрточного кодера с умножителями на элементах дискретной логики согласно Примеру 1. Образующие полиномы кодера задаются из таблицы 1 по номеру варианта (списочный номер студента).
2. Определить выходные биты кодера по входным битам, заданным в таблице 1. Построить для заданных 5-ти бит входных данных диаграмму состояний и решетчатую диаграмму кодера согласно примеру 1.
3. Построить схему нерекурсивного свёрточного кодера с умножителями на элементах дискретной логики с помощью программы «Spectr2c.exe». Полиномы умножителей и входные биты приведены в таблице 1.
3. Сравнить таблицу битовой консоли с таблицей 2 из Примера 1. Дополнить входную последовательность произвольным образом и построить по данным таблицы битовой консоли полную диаграмму состояний и решетчатую диаграмму кодера согласно примеру 1.
4.Запустить программу «Lab4_PK.exe», задать образующие полиномы и входные биты из Таблицы 1. Выполнить кодирование, определив выходные биты . Для проверки правильности кодирования ввести в диалоговом окне выходные биты кодера, рассчитанные по п. 2 (10 бит).
5. В Программе «Lab4_PK.exe» ввести декодируемую битовую последовательность (с ошибками), заданную в таблице 2.
6. С помощью программы «Lab4_PK.exe» построить пути максимального правдоподобия по алгоритму Витерби для декодируемой последовательности на решетчатой диаграмме кодера согласно Примеру 3.
Теоретические сведения о свёрточном кодировании
Нерекурсивный несистематический свёрточный кодер состоит из двух умножителей, коммутируемых для передачи в канал связи:
Умножитель на регистрах сдвига и сумматорах строится по коэффициентам его образующего полинома по следующим правилам. Коэффициенты полинома g(x) выписываются в ряд. Между коэффициентами (чуть ниже) размещаются ячейки регистра сдвига (цепочка ячеек памяти, по которой входная информация пошагово продвигается по принципу «бегущей строки»):
Напротив единиц рисуются выводы (вертикальные линии), которые попарно, слева направо объединяются сумматорами. Выход самого правого сумматора и является выходом умножителя входной битовой последователности (в виде коэффициентов полинома a(x)) на образующий полином g(x). Второй умножитель может быть построен на том же регистре аналогичным образом:
Пример
1:
свёрточный нерекурсивный несистематический
кодер на основе многочленов:
и
.
Единичные коэффициенты этих многочленов
101 и 111 показывают
ответвления от ячеек регистра в
умножителях. Построим схему кодера и
определим его выходные биты по входным
(таблица 3):
-
Вход
Вых Мл
Вых Ст
Вых 1
Вых 2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
0
Первая строка таблицы 3 описывает начальное состояние кодера. Пусть исходное состояние ячеек – нулевое («00» во 2-й и 3-ей колонках 1-й строки). Пусть на вход подан «0» («0» во 1-й колонке 2-й строки) , на выходах «1» и «2» - код «00» («00» во 4-й и 5-й колонках 2-й строки). В этом случае новое состояние кодера прежнее («00» во 2-й и 3-ей колонках 3-й строки).Если и далее подавать на вход нули, то состояние ячеек, а также пара выходных бит будут нулевыми. На диаграмме состояний сказанное можно отобразить следующим образом. Стрелка означает сохранение прежнего состояния (пара бит в кружке) при подаче на вход нулевого бита. Надпись возле стрелки означает, что биты на выходах «1» и «2» нулевые.
Пусть теперь на вход подана «1» («1» в 1-й колонке 3-й строки). Тогда, на выходах кодера – комбинация «11». С приходом следующего бита (допустим, единичного) единица, которая была на входе первой ячейки переместится на выход, и состояние регистра будет «10»(2-я и 3-я колонки 4-й строки):
Переход в состояние «10» отмечен стрелкой с надписью «1/11». Это означает, что на вход кодера была подана «1», а надпись возле стрелки под дробью «11»–это выходные биты кодера.
Пусть теперь снова на вход подана «1» (4-я строка таблицы). Тогда биты на выходах «1» и «2» образуют комбинацию «01». С приходом следующего бита в первую ячейку запишется ноль, который был на её входе, единица с первой ячейки перепишется во вторую, и состояние регистра станет «11». Диаграмма состояний на данном этапе имеет следующий вид:
Дальнейшие изменения при подаче бит входного сигнала (5 строка таблицы и далее) на диаграмме состояний выглядят следующим образом:
По диаграмме состояний можно построить решетчатую диаграмму. Четыре состояния (00, 10, 01, 11) расположены по вертикали. По горизонтали отображаются последовательные шаги изменения этих состояний во времени.
Переходы из одного состояние в другое показаны стрелками. Надпись возле каждой стрелки через дробь: входной бит/ пара выходных бит кодера.
Каждой входной информационной последовательности соответствует свой путь из стрелок на решетчатой диаграмме (например, путь «011» на диаграмме выделен жирной линией).
Пример 2. Построение схемы свёрточного нерекурсивного несистематического кодера на основе многочленов: и в программной среде «Spectr2c».
На экране лабораторного компьютера схема строится с помощью программы “Spectr 2c.exe” из сумматоров «XOR» и регистров сдвига в виде цепочки ячеек памяти «T». Программу можно найти на лабораторном компьютере по адресу «Сервер - методические указания – ПК – Практикум лаб 4».
