- •Министерство образования и науки республики казахстан Южно - Казахстанский государственный университет им. М. Ауезова технологии цифровой связи
- •6 Лекция №6.
- •1.1 Функциональная схема и основные элементы цифровой системы
- •Проводные, волоконно - оптические и беспроводные каналы. Математические модели каналов связи.
- •Определения понятий непрерывный, дискретного канала (дк) и расширенный дискретный канал (рдк) и их основные характеристики. Определение понятия синхронного и асинхронного дк.
- •Особенности сопряжения анизохронного и изохронных дискретных сигналов с синхронным дк.
- •2.1Типы линий связи
- •2.2. Типы характеристик и способы их определения
- •Амплитудно-частотная характеристика, полоса пропускания и затухание
- •Синхронный канал - канал, обеспечивающий синхронизацию процесса передачи данных.
- •3.1 Математические модели каналов связи
- •2 Межсимвольная интерференция
- •Формирование энергетического спектра.
- •Скремблирование.
- •6.1 Алгоритмы цифрового кодирования
- •6.2 Биполярный метод
- •6.3 Псевдотроичный метод
- •6.4 Парно-селективный троичный код
- •7.2 Многопозиционная модуляция
- •7.3 Амплитудная манипуляция
- •7.4 Амплитудно-фазовая манипуляция
- •7.5 Оптимальный прием дс сигнала
- •7.8. Спектральные характеристики модулированных колебаний
- •7.9 Оптимальный приемник
- •7.10 Когерентный и некогерентный прием
- •7.11 Цифровой согласованный фильтр
- •7.12 Оценка помехоустойчивости модулированных сигналов
- •8.2 Синхронизация поэлементная, групповая и цикловая
- •9.1 Основные принципы обнаружения и исправления ошибок
- •Связь между корректирующей способностью кода и длиной кода
- •9.3 Классификация корректирующих кодов
- •9.4 Граничные соотношения между параметрами помехоустойчивых кодов
- •Порождающие матрицы блочных кодов
- •Характеристики блочных линейных кодов
- •10.2. Систематические коды
- •Обнаружение ошибок с помощью систематических кодов
- •Коды Хемминга
- •Циклические коды
- •Кодирование с использованием циклических кодов
- •Неалгебраические методы помехоустойчивого декодирования
- •13.1 Характеристики систем с обратной связью и их особенности
- •13.2 Структурная схема системы с информационной обратной связью (иос) и решающей обратной связью (рос), характеристики и алгоритмы работы
- •14 Лекция №14. Сжатие данных в цсс
- •Применение эффективного (статистического) кодирования для сжатия данных.
- •Алгоритмы сжатия без потерь: rle, lzw (Лемпелла - Зива - Узлча), Хаффмана.
- •Особенности применения алгоритма Хаффмана в факсимильной связи (Использование алгоритма с фиксированной таблицей ccit). Сжатие данных
- •Типы сжатия с потерями
- •Сжатие с потерями против сжатия без потерь
- •Сжатие без потерь
- •Многоцелевые
- •Сжатие аудио
- •Сжатие графики
- •Сжатие видео
- •Сжатие текстов
- •14.1 Алгоритмы сжатия без потерь
Коды Хемминга
В отличие от канонического систематического кода, в коде Хемминга информационные и проверочные биты не разнесены в отдельные подматрицы, а чередуются. Если биты кодовой комбинации пронумеровать, начиная с 1, слева направо, то контрольными (проверочными) оказываются биты с номерами 1, 2, 4, 8 и т.д. – все остальные являются информационными. Цель этих перестановок – сделать так, чтобы синдром ошибки непосредственно указывал на локализацию ошибок, миную промежуточную таблицу соответствия синдромов и ошибок. Код Хемминга начинают строить с проверочной матрицы H, так как ее вид очевиден: столбцы проверочной матрицы представляют собой набор синдромов, соответствующих двоичному представлению номера столбца. Затем строят порождающую матрицу G, исходя из того, что матрицы H и G ортогональны, т.е. скалярное произведение каждой строки матрицы G на каждую строку матрицы H равно нулю, то есть
H GT = 0 и G HT = 0 .
Построим код Хемминга для (7,4)-кода. Чтобы синдром ошибки указывал на место ошибки, проверочная матрица должна иметь вид:
В ней на 1-м, 2-м и 4-м местах стоят столбцы единичной матрицы, а на остальных – столбцы, соответствующие информационным разрядам кода. Выделим подматрицу, соответствующую информационным разрядам:
Повернем матрицу по часовой стрелке и получим проверочную подматрицу порождающей матрицы
Поставим столбцы матрицы P на 1, 2 и 4-е место, а остальные столбцы будут столбцами единичной матрицы. Получим порождающую матрицу кода Хемминга:
.
Закодируем по Хеммингу входную комбинацию m = [0 0 1 1].
Проверим кодовое слово, вычислив синдром:
.
Синдром нулевой, следовательно, получена разрешенная кодовая комбинация. Предположим, что произошла ошибка в третьем разряде и принята кодовая комбинация û=[1 0 1 0 0 1 1]. Вычислим синдром:
.
Синдром представляет собой двоичное число 3, что локализует ошибку в третьем разряде.
Пример. Построить блочный систематический код для исправления двукратных ошибок
Решение:
Порождающая матрица (8, 3)-кода уже была получена:
Представим ее в каноническом виде, переставив столбцы:
Выделим проверочную подматрицу:
и транспонируем
ее:
Составим проверочную матрицу (8,3)-кода:
.
Код построен.
Циклические коды
Название кодов произошло от их свойства, заключающегося в том, что каждая кодовая комбинация может быть получена путем циклической перестановки символов комбинации, принадлежащей этому же коду. Это значит, что если, например, комбинация a0 a1 a2 … an-1 является разрешенной, то комбинация an-1a0 a1 a2 … an-2 также является разрешенной. Циклические коды обычно имеют полиномиальное представление, означающее, что бинарные элементы кодового слова a0 a1 a2 … an-1 интерпретируются как коэффициенты полинома от некоторой фиктивной переменной х: f(x)=an-1xn-1 + an-2xn-2 +…+ a2x2+a1x + a0
Например, кодовое слово 11010 представляется в виде полинома x4+x3+x.
Наибольшая степень х в слагаемом с ненулевым коэффициентом называется степенью полинома. Таким образом, в полиноме степени n-1 старший коэффициент an-1 равен 1.
Действия над кодовыми комбинациями сводятся к действиям над полиномами. Причем операция сложения производится по модулю 2. Множество таких полиномов и действий над ними образуют т.н. поле Галуа порядка 2 (обозначается GF(2)).
Циклический сдвиг коэффициентов полинома получается умножением полинома на x с одновременным сложением с двучленом xn+1. Действительно, пусть
f(x)=1•xn-1+an-2xn-2 +…+a2x2+a1x+a0.
Тогда f(x)•x + (xn+1) = xn+an-2xn-1+ … +a2x3+a1x2+a0x + xn+1 =
= an-2xn-1+ … +a2x3+a1x2+a0x +1
Следовательно, если в качестве исходного взять некоторый полином g(x), то процесс получения разрешенных кодовых комбинаций можно представить в следующем виде:
u1(x) = g(x)
u2(x) = g(x)∙x + (xn+1)
u3(x) = u2(x)∙x + (xn+1) = g(x)∙x2 + (xn+1)(x+1)
…
un(x) = g(x)∙xn-1 + (xn+1)(xn-2+xn-3+…+1)
При таком способе построения полином g(x) называется порождающим. Если потребовать, чтобы порождающий полином g(x) был делителем двучлена (xn+1), то все разрешенные комбинации приобретают свойство делимости на g(x). Из этого следует, что можно легко проверить, является ли комбинация разрешенной. Достаточно проверить ее делимость на полином g(x).
Основные свойства циклических кодов:
1. В циклическом (n,k)-коде каждый кодовый полином должен иметь степень не более n-1.
2. Существует полином g(x) степени (n-k) вида
g(x)=xn-k+gn-k-1xn-k-1+…+g2x2+g1x+1,
называемый порождающим полиномом кода.
3. Каждый кодовый полином u(x) является кратным g(x), то есть u(x) = m(x)•g(x).
