- •Введение
- •1 Основы теории
- •1.1 Математический аппарат исследования дискретных сигналов и цифровых фильтров
- •1.2 Двоичные дискретные сигналы и фильтры
- •1.3 Двоичные последовательности Хаффмена
- •1.4 Формирование блоковых разделимых кодовых сигналов
- •1.5 Рекуррентные формирователи кодовых сигналов
- •1.6 Схемы и алгоритмы исправления ошибок в разделимых блоковых кодовых сигналах
- •1.7 Схемы и алгоритмы исправления ошибок в систематических кодовых сигналах
- •1.8 Схемы и алгоритмы исправления ошибок в несистематических кодовых сигналах
- •1.9 Декодирование сообщений
- •2 Задания на самостоятельную работу
- •3.1 Лабораторная работа №1: формирование и исследование последовательностей Хаффмена и неразделимых кодовых комбинаций.
- •3.6 Лабораторная работа №6: формирование и исследование рекуррентных несистематических кодовых последовательностей
- •3.7 Лабораторная работа №7: исследование схем оценки помеховых сигналов и восстановления начальных кодовых комбинаций несистематического кода
- •3.8 Лабораторная работа №8: исследование помехоустойчивости канала связи на основе разделимых кодовых сигналов
- •3.9 Лабораторная работа №9: исследование помехоустойчивости каналов связи на основе рекуррентных систематических кодов
- •3.10 Лабораторная работа №10: исследование помехоустойчивости каналов связи на основе рекуррентных несистематических кодов
- •3.11 Лабораторная работа №11: исследование эффективности декодирования сообщений по каналам связи с помехами
- •4 Исходные данные для проведения исследований
- •4.1 Лабораторная работа 1
- •4.2 Лабораторная работа 2
- •4.3 Лабораторная работа 3
- •4.4 Лабораторная работа 4
- •4.9 Лабораторная работа 9
- •4.10 Лабораторная работа 10
- •4.11 Лабораторная работа 11
- •5 Программное обеспечение компьютерных лабораторных исследований
- •Словарь терминов
- •5.1 Лабораторная работа № 1
- •5.2 Лабораторная работа № 2
- •5.3 Лабораторная работа № 3
- •5.4 Лабораторная работа № 4
- •5.5 Лабораторная работа № 5
- •5.6 Лабораторная работа № 6
- •5.7 Лабораторная работа № 7
- •5.8 Лабораторная работа № 8
- •5.9 Лабораторная работа № 9
- •5.10 Лабораторная работа № 10
- •5.11 Лабораторная работа № 11
1.8 Схемы и алгоритмы исправления ошибок в несистематических кодовых сигналах
Принимаемый сигнал X(i) представляет собой сумму S(i)(i) и после преобразования разделяется на два параллельных сигнала
В соответствии с правилом кодирования
Преобразуем принятые сигналы Y1(k) и Y2(k) нерекурсивными фильтрами с передаточными функциями H1(z) и H2(z). Получим
(1.8.1)
Сумма L1(z)L2(z) равна синдрому C(z)
(1.8.2)
Сумма сигналов Y1(z)Y2(z) равна
(1.8.3)
Запишем разностные уравнения
(1.8.4)
(1.8.5)
Исследуем схему (рис. 1.8.1) алгоритма исправления сигнала при использовании фильтров
H1(z)=1+z-1+z-2, H2(z)=1+z-2.
Рисунок 1.8.1 – Схема исправления ошибок
Рассмотрим сигналы Y1(k) и Y2(k) с ошибками, если Y1(k)=1(k), а второй сигнал Y2(k)=2(k), где 1(k)=0100… , 2(k)=000000100… . Процесс выделения оценки и исправления ошибок для этого случая показан ниже (U(k)=0, k=1,2,…).
K |
= |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
Y1(k) |
= |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Y2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
L1(k) |
= |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
L2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
C(k) |
= |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
C(k-2) |
= |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
*(k) |
= |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Q(k) |
= |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
Q(k-2) |
= |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
U*(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Для рассмотренной схемы кодами единичных ошибок являются 101 и 111. Поэтому детектор ошибок описывается выражением
(1.8.6)
Таким образом, процесс исправления ошибок рассмотренного несистематического кодового сигнала описывается выражениями (1.8.4), (1.8.5) и (1.8.6).
Рассмотрим еще один пример формирования несистематической кодовой последовательности и исправления ошибок для формирующих фильтров 7-го порядка H1(k)=1111001 и H2(k)=1011011 с дискретными передаточными функциями фильтров
(1.8.7)
Структурная схема формирования показана на рис. 1.8.2.
Рисунок 1.8.2 – Структурная схема формирователя
Разностные уравнения, описывающие процесс формирования сигналов S1(k) и S2(k), запишутся в виде
(1.8.8)
Сигналы на входе определителя синдрома равны
Синдром C(k) содержит информацию о сигналах помехи 1(k) и 2(k). Схема формирования синдрома представлена на рис. 1.8.3.
Рисунок 1.8.3 – Схема формирования синдрома
Запишем уравнения, описывающие процесс формирования синдрома
(1.8.9)
Их зет-преобразования равны
(1.8.10)
(1.8.11)
(1.8.12)
(1.8.13)
Если теперь оценить сумму ошибок 1(z)+2(z) и вычесть ее из Q(z), то получим уравнение
(1.8.14)
Из (1.8.14) следует
(1.8.15)
Оценки ошибок *1(z) и *2(z) вычислим путем деления синдрома C(z) на формирующие полиномы H1(z) и H2(z)
(1.8.16)
Для рассматриваемых формирующих фильтров (H1(k)=1111001, H2(k)= =1011011) процесс деления описывается разностными уравнениями
(1.8.17)
Рассмотрим процесс деления, если *1(z)=1.
K |
= |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
1(k) |
= |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Y1(k) |
= |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Y2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
C(k) |
= |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
*1(k) |
= |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
*2(k) |
= |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
Сумму ошибок 1(z)+2(z) можно получить по формуле
(1.8.18)
Если рассмотреть ошибку 2(z)=z-8, то процесс деления имеет вид:
K |
= |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
1(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Y1(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Y2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
C(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
*1(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
*2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Сумму ошибок снова можно получить по формуле
Структурную схему детектора ошибки представим в виде (рис. 1.8.4)
Рисунок 1.8.4 – Структурная схема детектора ошибок
Процесс оценки ошибки описывается разностными уравнениями
(1.8.18)
где
Процесс формирования сигнала ошибки *(k) имеет вид:
K |
= |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
1(k) |
= |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
Y1(k) |
= |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Y2(k) |
= |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
C(k) |
= |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
*1(k) |
= |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
*2(k) |
= |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
*(k) |
= |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
Из (1.8.14) и (1.8.15) следует: H1(z)+H2(z)=H0(z)=z-1+z-5, Q*(k)=Q(k)+*(z) и
U*(k-1)=U*(k-5)Q*(k).