2. Исследование кода Хэмминга (15,11)
Входная последовательность: 10111011000
Кодовая последовательность: 000110111011000
Время эксперимента: 5000
Начальное значение ГПСЧ: 43
Рис. 1 Зависимость вероятности битовой ошибки от вероятности ошибки в канале с кодированием и без кодирования.
Рис.2 Структурная схема канала связи
Выводы: Исправляющая способность кодека заметна при вероятности ошибки в канале связи 0.5…0.9. При вероятности ошибки в канале 0.2…0.5, частота ошибок на выходе меньше, если не используется кодирование.
Помимо этого, для уменьшения пакетных ошибок производят интерливинг в блоках (перемежение), что приводит к уменьшению кратности ошибок. Поэтому можно считать, что кодек Хэмминга отлично справляется с исправлением ошибок малых кратностей. По сравнению с каналом без кодирования, помехоустойчивые коды уменьшают вероятность ошибки, однако при этом уменьшается скорость передачи за счёт добавления искусственной избыточности.
3. Исследование кода бчх (15,11)
Входная последовательность: 10111011000
Кодовая последовательность: 111100010101000
Время эксперимента: 5000
Начальное значение ГПСЧ: 43
Рис. 3 Зависимость вероятности битовой ошибки от вероятности ошибки в канале с кодированием и без кодирования.
Рис.4 Структурная схема канала связи
Выводы: Исправляющая способность кодека заметна при вероятности ошибки в канале связи 0.5…0.8. При вероятности ошибки в канале 0.2…0.5, частота ошибок на выходе меньше, если не используется кодирование.
4. Исследование свёрточного кода
Моделирование без шума.
Исходная последовательность: 10101010
Выход кодера: 111010100111100111100111
Вход декодера: 111010100111100111100111
Выходная последовательность: 10101010
Рис. 5 Сверточный кодер K=4, k=1, n=3
Таблица 2 – Процесс кодирования информационного потока
№ такта |
Вход |
Состояние регистра сдвига |
Сумматор 1 |
Сумматор 2 |
Сумматор 3 |
Выходные кодовые комбинации |
0 |
- |
0000 |
- |
- |
- |
- |
1 |
1 |
1000 |
1+0 = 1 |
1+0+0 = 1 |
1+0+0 = 1 |
111 |
2 |
0 |
0100 |
0+0 = 0 |
0+1+0 = 1 |
0+0+0 = 0 |
010 |
3 |
1 |
1010 |
1+0 = 1 |
1+0+1 = 0 |
1+1+0 = 0 |
100 |
4 |
0 |
0101 |
0+1 = 1 |
0+1+0 = 1 |
0+0+1 = 1 |
111 |
5 |
1 |
1010 |
1+0 = 1 |
1+0+1 = 0 |
1+1+0 = 0 |
100 |
6 |
0 |
0101 |
0+1 = 1 |
0+1+0 = 1 |
0+0+1 = 1 |
111 |
7 |
1 |
1010 |
1+0 = 1 |
1+0+1 = 0 |
1+1+0 = 0 |
100 |
8 |
0 |
0101 |
0+1 = 1 |
0+1+0 = 1 |
0+0+1 = 1 |
111 |
Рис. 6 Декодирование по Витерби
Рис. 7 Кодирование и декодирование сверточных кодов с шумом
Моделирование с шумом.
Исходная последовательность: 10101010
Выход кодера: 111110100111100111100111
Вход декодера: 111110100111100111100111
Выходная последовательность: 10100001
Рис. 8 Кодирование и декодирование сверточных кодов с шумом
Исходное сообщение: РТ
В двоичном виде: 1101000011010010
Результат декодирования в двоичном виде: 11000101111000001100010111101111
Рис.9 Кодовая последовательность
Моделирование с одиночными ошибками:
Выход канала связи с вероятностью ошибки = 0.2: 11000100111100001100010010101111
Результат декодирования: РТ
Результат декодирования в двоичном виде: 1101000011010010
Рис. 10 Декодирование сверточного кода при одиночных ошибках
Моделирование с двойными ошибками:
Выход канала связи с вероятностью ошибки = 0.2: 11000101111110010011110001101001
Результат декодирования: У3
Результат декодирования в двоичном виде: 1101001100110011
Рис. 11 Декодирование сверточного кода при двойных ошибках
Вывод: Свёрточные коды хорошо исправляют одиночные ошибки, но не справляется с исправлением двойных ошибок.
