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

Исследование сверточных кодов с использованием прикладного пакета SPECTR2. Практикум № 24-А

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Ордена Трудового Красного Знамени федеральное государственное
бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
Кафедра радиотехнических систем
Практикум № 24 - А
ИССЛЕДОВАНИЕ СВЕРТОЧНЫХ КОДОВ
С ИСПОЛЬЗОВАНИЕМ ПРИКЛАДНОГО ПАКЕТА SPECTR2
Для направления 11.03.02
Москва 2016
Практикум 24-А
ИССЛЕДОВАНИЕ СВЕРТОЧНЫХ КОДОВ
С ИСПОЛЬЗОВАНИЕМ ПРИКЛАДНОГО ПАКЕТА SPECTR2
Составитель О.Н.Минаева, ст. преподаватель
План УМД на 2016/17 уч.г.
Издание утверждено советом факультета РиТ. Протокол № 9 от 19.05.2016 г.
Рецензент Т.П.Косичкина, к.т.н., доцент
2
Целью работы является изучение особенностей и характеристик сверточных кодов, а также принципов работы кодирующих и декодирующих устройств и методов кодирования и декодирования.
Введение
В современных информационных системах важное значение имеет надежность и достоверность передачи информации от источника сообщения к получателю, при условии нахождения на значительной удаленности друг от
друга и наличии помех больших уровней.
Известно, что каналы связи, по которым передается любая информация,
практически никогда не бывают идеальными. В них могут всегда присутство-
вать помехи. Отличие лишь в уровне помех и в их спектральном составе. Поме-
хи в каналах связи образуются по различным причинам, но результат воздей­ствия их на передаваемую информацию всегда один – информация искажается.
Таким образом, система передачи информации должна обладать хорошей помехоустойчивостью, т.е. осуществлять прием информации в условиях нали­чия помех в линии связи. Количественно, помехоустойчивость характеризуют
степенью соответствия принятого сообщения переданному. Эту величину называют критерием верности (достоверности) передачи информации.
3
Система передачи информации
Для повышения помехоустойчивости при передаче сообщений в кодовые слова целенаправленно вводят избыточность, что естественным образом приводит к снижению количества сообщений, передаваемых или обработанных в промежуток времени, и предполагает использование специальных устройств - кодеров. Для обнаружения и исправления ошибок используются декодеры. Декодер канала выполняет свои функции, используя избыточность,
внесенную кодером. Двоичная информация на его выходе не является избыточ­ной. Если воздействие шума в канале несильное и декодер может исправить все
ошибки, то двоичная последовательность на выходе декодера совпадет с двоичной последовательностью на входе кодера канала.
Краткие теоретические сведения
Сверточные кодеры
Сверточные коды – это коды, которые могут исправлять ошибки и использовать непрерывную, или последовательную, обработку информации
короткими фрагментами (блоками). Сверточные коды обладают памятью, т.к. символы на выходе кодера зависят не только от символов на входе, но и от предыдущих символов, прошедших через кодер. Т.о. сверточный кодер пред­ставляет собой последовательную машину или автомат с конечным числом со-
стояний. Состояние кодера определяется содержимым его памяти. Сверточный
кодер представляет собой устройство, воспринимающее за каждый такт работы
в общем случае k входных информационных символов и выдающее на выход за
тот же такт n выходных кодированных символов, подлежащих передаче по ка-
налу связи. Отношение R k /n называют относительной скоростью кода. Вы-
ходные символы, создаваемые на каждом такте, зависят от m информационных символов, поступивших на данном и предыдущих тактах. Выходные символы сверточного кодера однозначно определяются его входным символом и состоя-
нием кодера, зависящим от m k предыдущих информационных символов.
Сверточные кодеры строятся на основе сдвигового регистра, сумматора по мо­дулю 2 и коммутатора. Сдвиговый регистр состоит из m триггерных ячеек, в которых может храниться одно из двух возможных состояний (0 или 1). В мо-
мент поступления на вход нового информационного символа хранящиеся в ре­гистре символы сдвигаются на одну позицию вправо, крайний правый разряд
выводится из регистра, а поступивший новый информационный бит записыва­ется в крайний левый разряд (Рис. 1).
4
Сумматор по модулю 2 складывает поступившие на его вход символы по следующему правилу: сумма поступивших на входы двоичных символов равна 0, если число единиц на входах четное, и равно 1, если число единиц на всех входах сумматора нечетное. В зависимости от того, имеется ли в составе коди-
рованного сигнала неизменный входной, сверточные коды делятся на два больших класса – систематические и несистематические. Систематическим называется такой код, в выходной последовательности которого присутствует породившая его последовательность в неизменном виде (Рис. 2).
Рис. 2. Пример систематического кодера с R=1/2
В общем случае, если длина сдвигового регистра равна m , используются k входных символов на каждом такте и n 2 выходов кодера, то очевидно, что каждый входной символ будет влиять на lп = mn / k выходных кодовых симво-
лов. Эта величина называется полной длиной кодового ограничения.
Общий вид сверточного кодера приведен на Рис. 3. Причем, если k 1 , то
используется не один, а k сдвиговых регистров. Причем входные символы в
этом случае поступают параллельно на все входы. Например, если есть входная
последовательность a
1 a2 a3 a4 a5 a6
кодера поступят символы a
и a1 , за второй - a2 и a3 и т.д.
0
……, то при k 2 за первый такт на входы
5
Как видно, каждый из n выходов получается путем суммирования некоторых
разрядов сдвигового регистра. Такие связи задаются с помощью k порождаю­щих последовательностей gj = (gj0 g
j1 gj2
g
j3…….
g
, где каждая компонента
m-1)
gji определяется следующим образом:
В некоторых случаях удобно описывать сдвиговые регистры в виде полиномов.
Пусть A(X) – последовательность символов на входе кодера, описанная в виде
полинома, B
(X) – последовательность символов на j-м выходе кодера, описан-
j
ная в виде полинома:
,
и b
i
- символ оператора задержки на i тактов работы сдвигового регистра,
(j)
*X - информационные двоичные символы (могут принимать значения 0
i
где X a
i
и 1). Тогда в силу линейности сверточного кода
,
где 2 1 0 1 2 1 m Gj (X)=g0+ g1* X+ g2 *X2+…..+ g
m-1
* X
m-1
j-й порождающий
многочлен сверточного кода. Порождающие многочлены для кодера, приве-
денного на Рис. 2, имеют следующий вид:
.
Для удобства записи порождающие многочлены могут объединяться в матрицы
размерностью k  n, которая называется порождающей матрицей и для выше­приведенного примера будет иметь вид:
1 0 1
1 0 1
Каждая строка в такой матрице соответствует одному из k символов входной
последовательности (в нашем примере k = 1), а число полиномов в строке равно числу схем суммирования по модулю 2. При k 1 некоторые порождающие по­линомы в матрице могут равняться нулю.
6
Еще одной достаточно популярной формой описания структуры сверточного кодера является описание в виде генератора кода. Структуру систематического
кодера, изображенного на Рис. 2, можно записать как 100;101 (в двоичном виде)
или 4
(в восьмеричном виде). Как видно, такая запись задает номера отводов
8;58
m-разрядного регистра сдвига.
Сверточный кодер как конечный автомат с памятью также может быть описан
диаграммой состояний. Диаграмма состояний представляет собой направлен­ный граф, вершины которого отождествляются с возможными состояниями ко­дера, а ребра, помеченные стрелками, указывают возможные переходы между состояниями. Причем внутренним состоянием кодера считаются символы, со-
держащиеся в m 1 разрядах регистра (начиная от входа кодера). Результат кодирования можно получить, не только перемножая полиномы
(входной и образующие), но и опираясь на сами принципы работы кодера.
Основные параметры сверточных кодов
Число информационных символов k - Число информационных символов, посту- пающих на вход сверточного кодера за один такт, обозначается буквой k.
Число символов на выходе кодера n - Число символов, образующихся на всех выходах кодера за один такт работы, обозначается буквой n.
Скорость кода R - Скорость кода определяется соотношением R = k / n и харак-
теризует избыточность кода. Большие скорости кода позволяют увеличить про-
пускную способность канала связи, в то же время увеличивая вероятность ошибок на выходе приемника.
Избыточность кода æ - Избыточность кода определяется соотношением
æ = 1 - R = 1 k / n .
Память кода l - Память кода (информационная длина кодового слова, входная длина кодового ограничения) определяется максимальной степенью порожда-
ющего полинома в составе порождающей матрицы GX. Поскольку макси-
мальная степень одного из порождающих полиномов определяет число разря-
дов m в регистре сдвига кодера, то l = k*m и при k 1 получаем l = m. Полная длина кодового ограничения - Полная длина кодового ограничения
(ДКО) – это число кодовых символов, порождаемых кодером в промежутке
7
времени между поступлением в него данного информационного символа и вы­ходом в канал соответствующего символа, в формировании которого входной символ принимал участие. С учетом того, что каждые k записываемые в реги-
стры информационные символы представляются n символами, полная ДКО будет определяться выражением
,
где deg g
x - степень порождающего полинома. С учетом выражения для па-
ij
мяти кода получим lП = n*m = (l*n)/k. Значение l показывает, на какое макси­мальное число выходных символов влияет данный информационный символ. Величина полного ДКО характеризует протяженность корреляционных связей в закодированной последовательности для одного информационного символа.
Вес ω - Вес двоичных кодовых последовательностей определяется числом
«единиц», входящих в эту последовательность или кодовое слово. Например,
для кодовой комбинации 101011 вес будет равен = 4, а для комбинации 1001 вес будет равен =2.
Кодовое расстояние d - Кодовое расстояние (хеммингово расстояние) d пока­зывает степень различия между i -й и j -й кодовыми комбинациями при условии
их одинаковой длины. Для любых двух двоичных кодовых комбинаций кодовое расстояние равно числу несовпадающих в них символов. В общем виде кодовое расстояние может быть определено как суммарный результат сложения по мо-
дулю 2 одноименных разрядов кодовых комбинаций
,
где kik , k
k-е символы кодовых комбинаций i и j, L – длина кодовой комби-
jk
нации.
Минимальное кодовое расстояние d
- Минимальное кодовое расстояние (ми-
min
нимальное хеммингово расстояние) – это наименьшее расстояние Хемминга
для набора кодовых комбинаций постоянной длины. Перебрав все возможные
пары кодовых комбинаций, определяют минимальное из них:
d
= min dij.
min
8
Задание, выполняемое при подготовке
Вариант
Информационные символы
1
01110111
2
01101100
3
01010010
4
01001011
5
10101001
6
01001110
Вариант D
I
II III IV V VI
D0
+ + + + + + D1
+ + +
D2
+ + +
+
D3
+ +
D4
D5
+
D6
+
1. Кодер: По заданным значениям шести информационных символов (Таблица 1) получить кодовую комбинацию на выходе кодера с R=1/2 и K=3
двумя способами: при помощи диаграммы переходов из состояния в состояние
(решетчатой диаграммы) и с помощью базисной порождающей матрицы
(Таблицы 1, 2).
Таблица 1
2. Пороговое декодирование: Составить набор проверок для порогового декодера в соответствии с вариантом в таблице 2, нарисовать схему порогового декодера сверточных кодов, рассчитать порог Т.
Таблица 2
9
Пример записи полинома формирования проверочной последовательности си-
стематического кода для варианта I:
G2(D) = D0+D2.
3. Разработать схему мажоритарного элемента (порогового) с использованием двухвходовых элементов И – ИЛИ с использованием минимизации схемы.
Работа с программным обеспечением «Спектр-2»
Запуск \\DC\Students\Софт\Spectr2c\Spectr2c.exe На панели иконок выбираем левую («сборка новой системы для анализа»).
После нажатия на левую кнопку манипулятора «мышь» (Mouse Left) открыва­ется окно параметров, в котором нужно нажать кнопку «Ok». Открывается окно «Редактор систем». В левой части окна - меню перечня устройств-модулей для сборки системы, в правой – рабочее поле, на котором можно собрать нужную схему.
Справка по поиску и установке нужных устройств
1. Ячейка регистра (D-триггер). Путь поиска в меню (левая часть окна
редактора систем): Битовые данные – Биты – Регистр.
Перетаскиваем путем наведения на иконку регистра курсора mouse- манипулятора и его перемещения с одновременным нажатием левой кнопки на поле сборки системы (метод «Drag and drop»). После отпускания левой кнопки
появится окно с предложением задать исходное состояние ячейки (по умолча-
нию установлена «1»). После задания состояния «нажимаем» кнопку «Ok» в окне.
2. Источник битовой информации. Путь поиска в меню: Вход – Гене-
раторы – Генератор полинома/ПСП
Перетаскиваем (методом «Drag and drop») иконку генератора полинома
на рабочее поле. После отпускания левой кнопки появится окно «Генератор по­линома и ПСП» с предложением задать исходные данные. Эти данные редакти-
руются в строке ввода, размещённой справа под надписью: «Полином HEX- BIN». Режим работы «Генератор полинома» позволяет передавать битовую по-
следовательность строки ввода на выход, начиная со старшего, правого бита. При нажатии треугольной зелёной кнопки производится циклическая выдача
входной последовательности. При этом опция «Генерировать циклически» устанавливается автоматически и может быть отключена только после снятия соответствующей метки - «галочки» в окне управления генератора.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]