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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
11
или в виде полиномов a(х) = g(х) d(х), где
– символы кода, 

– весовые коэффициенты (коэффициенты производящего полинома кода g(x)), dk – информационные символы кода.
Сверточные (n,k) коды, которые иногда называют скользящими блочными
кодами, обычно задаются скоростью

(1.21)
и, в отличие от блочных кодов, требуют для своего описания несколько
порождающих (производящих) полиномов.
Эти полиномы могут быть объединены в матрицу
󰇛󰇜

󰇛󰇜
󰈏

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜
󰈏

(
1.22)
где i
=1...
, j=1...
,

 – целые числа:
– число информационных
символов, необходимых для формирования одного кадра
на выходе кодера
При использовании сверточных кодов поток данных разбивается на
гораздо меньшие блоки длиной k символов, которые называются кадрами
информационных символов.
Основными характеристиками сверточных кодов являются величины:
•
– размер кадра информационных символов;
•
– размер кадра кодовых символов;
• M – длина памяти кода;
• k=(m+1)
– информационная длина слова;
• n=(m+1)
– кодовая длина блока.
Вместо длины кодового слова часто используется понятие «длина кодового
ограничения» - 
, которая показывает максимальное расстояние между
позициями информационных символов, участвующих в формировании проверочного символа данного кода (например, при R =1/2 длина кодового ограничения равна числу ячеек памяти регистра сдвига кодера)
Входная последовательность из k информационных символов
представляется вектором-строкой
(1.23)
а кодовое слово на выходе кодера
(1.24)
Операция кодирования представляется в виде произведения
A(х) = D(x)G(x)
Проверочная матрица H(x) должна удовлетворять условию
а вектор синдромов ошибки (синдромных полиномов) равен
(1.25)
т.е. (  
)-мерный вектор-строка из полиномов, а B(x) =A(x)+e(x),
)(),...(),()()(
0k21
xdxdxdxdxD
i
==
)()...()()(
01
xaxaxaxA
nj
==
0)()( = xHxG
T
)()...()()()()(
0k0n1
xSxSxSxHxBxS
j
T
−
===
12
где e(x) − вектор ошибок в декодируемой последовательности B(x). Очевидно, что
(1.25)
Как и блочные, сверточные коды могут быть систематическими и
несистематическими и обозначаются как линейные сверточные (n,k) коды.
Систематическим сверточным кодом является такой код, для которого в
выходной последовательности кодовых символов содержится без изменения породившая его последовательность информационных символов. В противном случае сверточный код является несистематическим.
Кодирование сверточных кодов производится аналогично блочным
циклическим кодам с помощью регистров сдвига, у которых структура обратных связей определяется производящим полиномом кода. Различие только в том, что
при сверточный код имеет несколько производящих полиномов, а кодер
должен иметь соответствующее число регистров сдвига.
Рисунок 1.3 – Кодеры сверточных кодов а) R=1/2 и б) R=2/3
Кодеры работают следующим образом.
На вход регистра сдвига кодера (а) из 3 ячеек памяти подается двоичная последовательность информационных символов, из которых с помощью регистра сдвига и сумматоров по модулю 2 формируется две двоичных последовательности. Символы этих последовательностей с помощью переключателя П поочередно подключаются к выходу кодера; скорость переключения должна быть в два раза больше скорости ввода информационных символов.
Матрица производящих полиномов кода R=2/3 (рис. 1.3 б) имеет вид
󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜
󰇻
     
  
󰇻
;
(1.25)
Регистры сдвига 1 и 2 (число регистров равно k0) имеют по две ячейки памяти и три сумматора по модулю 2 (число сумматоров равно n0), формирующих символы кода в соответствии с видом производящих полиномов.
g1(x)=1+x
2
g2(x)=1+x+x
2
вход
выход
1 2 3
П
вход
выход
1 2
1 2
П
вх
П
вых
б)
регистр 1
регистр 2
а)
)()()()()()( xHxexHxexAxS
TT
=+=
13
Переключатель Пвх разделяет входные информационные символы между регистрами, переключатель П
вых
формирует кодовую последовательность на
выходе кодера из выходных символов сумматоров.
Для описания сверточных кодов применяются способы:
– с помощью кодового дерева или решетчатой структуры;
– с помощью разностных треугольников.
Кодовая решетка имеет вид, показанный на рисунке 1.4.
Рисунок 1.4 – Кодовая решетка
Решетка сверточного кода представляет состояния кодера в виде четырех уровней, а ветви дерева являются ребрами решетки, в результате чего избыточные части дерева отождествляются. Такое представление кода является более удобным при разработке и описании процессов декодирования.
Состояние
ячеек 2,3
регистра
(0)
(1)
(2)
(3)
00 00
00
00
00
01 01
01
01
10
10
10
10
01
01
01
01
00
00
00
11 11
11
11
11
11
11
10
10
10
14
Лабораторная работа №1 ИССЛЕДОВАНИЕ ПРОЦЕССОВ ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ В ЦИФРОВОЙ СИСТЕМЕ СВЯЗИ
1 Цель работы:
Ознакомление с принципами работы Кодера-2, Декодера-2, с процессами обнаружения и исправления ошибок. Исследование эффективности работы кодека кода (10,5) в зависимости от отношения сигнал/шум на входе демодулятора.
2 Краткая характеристика исследуемых устройств:
Сменный блок «Помехоустойчивое кодирование в цифровой системе связи» (рисунок 1.1) состоит из двух частей: в верхней половине блока расположена модель цифровой системы связи, работающей в режиме реального времени Кодер-2, Модулятор (МД), Канал связи, Демодулятор (ДМ) и Декодер-
2.
Рисунок 1.1 – Внешний вид сменного блока
В нижней половине сменного блока размещена схема пошагового просмотра кодека (10,5), где представлены регистры кодера, декодера, устройство ввода ошибок, светодиодные индикаторы (слева) вычисленных проверочных символов (ci) и исходных (введенных) символов (bi). В нижней части блока находится ряд кнопок для ручного управления кодеком: ввод информационных символов, сдвиг в регистрах, ввод проверочных символов, ввод ошибки, исправление ошибки, сброс. На индикаторах справа отображается кодовая комбинация, поступившая в декодер-2 (c′i, b′i), вторая группа проверочных символов (c″i), синдром (xi) и вектор ошибки (ei), результат декодирования – (b′i). Смысл вектора ошибки – единица появится на той позиции
15
в информационной последовательности, где обнаружена ошибка. При нажатии кнопки «исправление ошибки» символ, стоящий на этой позиции, будет исправлен (инвертирован).
3 Лабораторное задание
1. Приобретение навыков работы с кодеком (10,5) в шаговом режиме.
2. Исследование на ПК эффективность кодека (10,5) для различных
значений отношения сигнал/шум.
4 Порядок выполнения работы
4.1 Работа в шаговом режиме
1. Включить питание стенда. Никаких подключений сигналов и
измерительных приборов не требуется.
2. Из первой строки кодовой таблицы кода (10, 5) в Приложении 1.1 ввести
информационные символы b1b2b3b4b5. Символы вводить, начиная с b1. После каждого символа нажимать кнопку «сдвиг». Для ввода «1» зажать («0\1»), для ввода «0» не нажимать («0\1»). После пяти «сдвигов» еще пять раз нажать «сдвиг». В результате этого первый введенный символ займет положение (b1) в конце регистра кодера.
3. Нажать кнопку («ввод ci») – произойдет вычисление и ввод в регистр
кодера проверочных символов. На индикаторах кодера (слева) появится кодовая комбинация (c5÷c1, b5÷b1). Сравнить полученный результат с кодовой таблицей и проверить правильность получения проверочных символов с при помощи алгоритма из Приложения (Б)
4. Выбрать номер символа (из b5÷b1), в который будет введена ошибка. (Например, в третий символ.) Тогда необходимо нажать «сдвиг» три раза и, не отпуская кнопки, нажать ещё кнопку «ввод ошибки». На индикаторе ячейки ввода ошибки сменится символ (b3 будет инвертирован).
5. Нажимать «сдвиг» до тех пор, пока первый символ не займет крайнее правое положение в регистре декодера-2. При этом на индикаторах декодера-2 появятся новые проверочные символы (c″i), синдром (xi) и вектор ошибки (ei).
6. Нажать «сброс». Устройство готово к новым экспериментам.
Проделать пункт 1 для двух других строк кодовой таблицы и других
номерах ошибочного символа. Полученные результаты внести в таблицу 1.1
Таблица 1.1 – Работа с кодеком в шаговом режиме.
№
Регистр кодера 2
Регистр декодера 2
b1÷b5
c1÷c5
b’1÷b’5
c’1÷c’5
c”1÷c”5
x1÷x5
e1÷e5
1.
2.
3.
16
4.2 Работа системы связи в реальном масштабе времени.
1. Собрать схему «системы связи» на верхней половине сменного блока (рисунок 1.2). Для этого соединить короткими перемычками блоки: Кодер-1, Кодер-2, Модулятор (МД), Канал связи, Демодулятор (ДМ) и Декодер-2.
2. Подключить генератор шума (ГШ) к нижнему входу [n(t)] блока «канал связи». Регулятор уровня шума первоначально установить на минимум.
3. Набрать тумблерами Кодера-1 произвольную комбинацию (b1b2b3b4b5). После включения стенда над обозначением Кодера-2 появятся проверочные символы (с1с2с3с4с5).
4. Подключить левый выход блока «контроль ошибок» к левому входу ПК (гнездо «А») на стенде, а левый нижний выход Декодера-2 («ошибка в символе») к правому входу ПК (гнездо «Б»). (рисунок 1.2)
Рисунок 1.2 – Внешнее соединение блоков
5. Включить компьютер и запустить программу “ТЭС зеленая”, в ней включить режим подсчета ошибок (кнопка Err). Установить длительность сеанса связи 10 с для подготовительных работ (установка вида модуляции, отношение сигнал/шум и т.д.).
6. Отключить ГШ и провести первый сеанс измерения. Убедиться, что при этом ошибок нет.
7. Подключить ГШ и провести измерения на сеансе 20 с для больше достоверности результатов.
8. Подобрать опытным путем такого уровня шума, при котором (при виде модуляции ФМ) число ошибок на выходе демодулятора (левая колонка цифр на экране ПК) составит ≈20÷50.
9. Замерить с помощью осциллографа отношение сигнал/шум на входе демодулятора, для этого необходимо отключить сигнал (снять перемычку канал связи-демодулятор) и измерить амплитуду шума, затем включить сигнал (вернуть перемычку канал связи-демодулятор), отключить шум (отключить перемычку ГШ-канал связи) замерить амплитуду шума по правилу “6 сигм” (Приложение (В)). Полученное значение, а/σ, результаты компьютерных измерений внести в таблицу 1.2.
10. Рассчитать эффективность исправления ошибок за время сеанса по формуле Э = (А-Б)/А*100%, где А – Число ошибок на выходе демодулятора, Б – Число ошибок на выходе Декодера-2. Результаты измерений также внести в таблицу 1.2.
17
Таблица 1.2 – Влияние отношения сигнал/шум на эффективность исправления ошибок в Декодере-2
Код (10,5)
Время сеанса 20 с
Вид модуляции ФМ
Отношений сигнал/шум (а/σ)
0,2
0,5
0,75
1
1,5
Число ошибок на выходе демодулятора (А)
Число ошибок на выходе Декодера-2 (Б)
Эффективность исправления ошибок (Э)
11. Повторить эксперимент для ряда других отношений сигнал/шум (значения отношений сигнал/шум в таблице указаны ориентировочно). Следует указывать свои значения, полученные после компьютерных измерений.
12. Установить режим АМ и провести аналогичные измерения (п.7-11). Результаты внести в таблицу 1.3.
Таблица 1.3. – Влияние отношения сигнал/шум на эффективность исправления ошибок в Декодере-2
Код (10,5)
Время сеанса 20 с
Вид модуляции АМ
Отношений сигнал/шум (а/σ)
0,2
0,5
0,75
1
1,5
Число ошибок на выходе демодулятора (А)
Число ошибок на выходе Декодера-2 (Б)
Эффективность исправления ошибок (Э)
5 Содержание отчёта
Отчёт должен содержать:
- функциональную схему установки (верхнюю на сменном блоке), результаты измерений в виде таблиц, графиков, осциллограмм с соответствующими заголовками, исходными данными и пояснениями,
- краткие выводы и оценку результатов.
6 Вопросы для самостоятельной проверки
1. Что такое примитивное кодирование? На выходе каких устройств получается примитивный код?
2. Что такое эффективное кодирование?
3. Что такое корректирующие (помехоустойчивые) коды?
4. Что такое минимальное кодовое расстояние (dmin), и как оно влияет на
число исправляемых ошибок в пределах одной кодовой комбинации? (Поясните на примерах кодов (10,5) → dmin=4 и (15,5) →dmin=7).
5. Какие коды называются систематическими?
6. Что такое синдром и как его рассчитать?
7. Как вы представляете себе вектор ошибки? Зачем он нужен при декодировании?
18
8. С какой целью в Кодере-2 и Декодере-2 применяются регистры сдвига?
8. Как в кодеке (10,5) обнаруживаются и исправляются ошибки?
10. Что такое избыточность кода?
11. Почему для кода (10,5) наибольшая эффективность исправления
ошибок наблюдается при малых уровнях помех; при увеличении уровня шума эффективность заметно снижается?
12. Что такое порождающий полином кода и зачем он нужен?
13. Как сказывается применение помехоустойчивого кода на времени передачи сообщения?
14. Изобразите упрощенную функциональную схему Кодера-2 для кода (10,5).
15. Изобразите упрощенную функциональную схему Декодера-2 для кода (10,5).
19
Приложение А
Таблица А.1 – Кодовая таблица кода (10,5)
g(x)=x5+x4+x2+1 d
min
=4
№
b1÷b5
c1÷c5
№
b1÷b5
c1÷c5
0
00000
00000
16
10000
11001
1
00001
10101
17
10001
01100
2
00010
11111
18
10010
00110
3
00011
01010
19
10011
10011
4
00100
01011
20
10100
10010
5
00101
11110
21
10101
00111
6
00110
10100
22
10110
01101
7
00111
00001
23
10111
11000
8
01000
10110
24
11000
01111
9
01001
00011
25
11001
11010
10
01010
01001
26
11010
10000
11
01011
11100
27
11011
00101
12
01100
11101
28
11100
00100
13
01101
01000
29
11101
10001
14
01110
00010
30
11110
11011
15
01111
10111
31
11111
01110
Приложение Б
Код (10,5) Алгоритм кодирования/декодирования
с1=b1+b2+b4+b5 с2=b1+b3+b4 с3=b2+b4+b5 с4=b2+b3+b4 с5=b1+b3+b4+b5
Приложение В
Установка заданного в таблице отношения сигнал/шум= а/σ производится путем измерения на входе демодулятора соотношения амплитуды модулированного сигнала (а) и среднеквадратичного значения шума (σ). Измерения производить по осциллограмме сигнала (а) при отключении шума (вынуть штекер из нижнего гнезда «канала»). Амплитуда измеряется по числу клеток, занимаемых синусоидой сигнала по вертикали, с учетом цены деления регулятора усиления. Значение (а) измеряется только один раз, ибо при всех видах модуляции в стендах сохраняется одна и та же амплитуда (а). (Значение (а) в стендах не регулируется).
20
Установка уровня шума производится так же по осциллограмме, но по правилу «шести сигма», при отключении сигнала (отключая перемычку между блоками, например, между модулятором и «каналом»). Ручкой регулятора шума («ГШ») установить уровень шума, согласно рисунку 1.3 таким образом, чтобы а/σ соответствовало данным таблицы 1.1.
Рисунок В.1 – Техника установки заданного отношения с/ш по
осциллографу
Делается это так. Рассчитываются ряд значений σ (5 значений) для
таблицы, учитывая, что а=const и уже измерена. Затем, наблюдая осциллограмму шума, фиксируем его максимальный размах по вертикали – это 6σ, а σ – это 1/6 часть этого размаха (в клетках, с учетом масштаба). Подстраивая ручкой выход ГШ, добиться требуемого значения σ шума. Далее восстанавливаем схему – ставим отключенную перемычку и нажимаем («мышью») кнопку «ПУСК» в окне программы. После завершения счёта вписываем данные с монитора в таблицу
1.1, далее меняем уровень шума, переключая вид модуляции на «АМ», повторить измерения, но результаты внести в аналогичную таблицу 1.2. Далее опять переключить вид модуляции на «ФМ», установить новое значение σ и так далее до заполнения обеих таблиц.
для сигнала
(шум отключён)
для шума
(сигнал отключён)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]