
- •Глоссарий Термины и определения
- •Сокращения
- •Рубежный контроль 1
- •Лекция №3. Дк каналы без памяти, с памятью. Краевые искажения и дробления. Методы регистрации сигналов. Тезисы к лекции
- •Лекция №6. Классификация корректирующих кодов. Линейные блоковые коды. Методы декодирования корректирующих кодов. Порождающая и проверочная матрица. Тезисы к лекции
- •Лекция №7. Циклические коды. Декодирование циклических кодов. Тезисы к лекции
- •Лекция №8. Свёрточные коды. Декодирование свёрточных кодов. Алгоритм декодирования Витерби. Тезисы к лекции
Лекция №3. Дк каналы без памяти, с памятью. Краевые искажения и дробления. Методы регистрации сигналов. Тезисы к лекции
Модели дискретных каналов связи
Дискретный канал всегда содержит внутри непрерывный канал. Преобразование непрерывного канала в дискретный производит модем. Поэтому в принципе можно получить математическую модель дискретного канала из модели непрерывного канала при заданном модеме. Образно говоря, модем, осуществляющий переход от непрерывного канала в поток ошибок. Наиболее важные и достаточно простые модели дискретных каналов следующие.
Постоянный симметричный канал без памяти определяется как дискретный канал, в котором каждый переданный кодовый символ может быть принят ошибочно с фиксированной вероятностью р и правильно с вероятностью 1-р, причём в случае ошибки вместо переданного символа может быть с равной вероятностью принят любой другой символ. Термин “без памяти” означает, что вероятность ошибочного приёма символа не зависит от предистории, т.е. от того, какие символы передавались до него и как они были приняты. Вероятности переходов в двоичном симметричном канале схематически можно представить в виде графа (рис.3.1).
Рисунок 3.1. Переходные вероятности в двоичном симметричном канале
Постоянный симметричный канал без памяти со стиранием отличается от предыдущего канала тем, что алфавит на выходе канала содержит дополнительный (m+1)-й символ, который часто обозначают знаком “?”. Этот символ появляется тогда, когда демодулятор не может надёжно опознать переданный символ. Вероятность такого отказа от решения или стирания символа pc в данной модели постоянна и не зависит от передаваемого символа. За счёт введения стирания удаётся значительно снизить вероятность ошибки, иногда её даже считают равной нулю. На рис.3.2 показаны вероятности переходов в такой модели.
Рисунок 3.2. Переходные вероятности в двоичном симметричном канале со стиранием
Несимметричный канал без памяти характеризуется тем, что ошибки в нём возникают независимо друг от друга, однако вероятности ошибок зависят от того, какой символ передаётся. Так, в двоичном несимметричном канале вероятность приёма символа 1 при передаче символа 0 не равна вероятности приёма 0 при передаче 1.
Простейшей моделью двоичного канала с памятью является марковская модель, определяемая матрицей переходных вероятностей:
(3.1)
где р1—условная вероятность принять (i+1)-й символ ошибочно, если предыдущий принят правильно; (1-р1)-условная вероятность принять (i+1)-й символ правильно, если предыдущий символ принят правильно; р2- условная вероятность принять (i+1)-й символ ошибочно, если предыдущий принят ошибочно; (1-р2)-условная вероятность принять (i+1)-й символ правильно, если предыдущий символ принят ошибочно.
Безусловная (средняя) вероятность ошибки p в таком канале должна удовлетворять уравнению:
р=Р2р+З1(1-р)
Откуда
(3.2)
Другой подход к построению математических моделей каналов связан с методом переменных состояния. Важной особенностью этого метода является возможность непосредственного моделирования систем, описываемых уравнениями состояния с помощью аналогового или цифрового вычислительного устройства. Уравнения состояния обычно составляют в виде системы дифференциальных уравнений первого порядка, которую приводят к форме векторного (матричного) дифференциального уравнения первого порядка. Этот метод даёт универсальный подход для моделирования каналов передачи информации систем связи для самых различных сообщений, способов кодирования и модуляции, линий связи с детерминированными и случайными параметрами и аддитивными шумами.
Краевые искажения и дробления.
Под действием различных дестабилизирующих факторов: не идеальность характеристик НКС; действие помех, элементы сигнала могут искажаться по длительности, т. е. появляются краевые искажения и дробления.
Индивидуальные КИ – смещения ЗМ относительно идеального значащего момента
Относительные КИ – это индивидуальные, отнесенное к длительности единичного элемента.
Преобладания – элементы одного знака удлиняются, а другого укорачиваются.
Дробления – это искажения, при которых один элемент преобразуется в несколько более коротких (дробится).
Методы регистрации сигналов.
Процесс определения и запоминания значащей позиции сигнала данных – называется регистрацией.
Метод стробирования – значащая позиция принимаемого элемента определяются на основании анализа знака импульса в середине единичного интервала. Если индивидуальное КИ не превышает 0,5τ, то элемент регистрируются правильно.
Исправляющая способность – это величина, на которую допускаются смещения ЗМ, не вызывающее неправильный прием элемента.
Интегральный метод регистрации - решение о виде принятого элемента выносится на основании анализа напряжения на всем единичном интервале.
В идеальном случае (если единичный. элемент не искажен), то Uвых = 1; решением о «1» принимается при Uвых >= 0,5; решением о «0» принимается при Uвых < 0,5.
Раздел 3. Сжатие данных в ЦСС.
Лекция №4. Применение эффективного (статистического) кодирования для сжатия данных. Алгоритмы сжатия без потерь: Хаффмана. Арифметический код.
Тезисы к лекции
Эффективное кодирование – это процедуры направленные на устранение избыточности.
Основная задача эффективного кодирования – обеспечить, в среднем, минимальное число двоичных элементов на передачу сообщения источника.
При кодировании сообщений данного источника двоичным, равномерным кодом, каждый двоичный элемент, будет переносить 1 бит информации.
Если при том же объеме алфавита сообщения не равновероятны, то на каждый двоичный элемент кодовой комбинации будет приходиться меньше чем 1 бит.
Появившаяся избыточность, определяется по следующей формуле:
(4.1)
Среднее количество информации, приходящееся на один двоичный элемент комбинации при кодировании равномерным кодом
(4.2)
При кодировании неравномерным кодом, для сообщения, содержащее большее количество информации, выбирают более длинную кодовую комбинацию, а для передачи сообщения с малым объемом информации используют короткие кодовые комбинации.
Для эффективного использования пропускной способности канала необходимо его согласование с источником информации на входе. Такое согласование возможно как для каналов связи без помех, так и для каналов с помехами на основании двух теорем, доказанных К.Шенноном.
1-ая теорема (для канала связи без помех):
Нельзя
закодировать сообщение двоичным кодом
так, что бы средняя длина кодового слова
была численно меньше величины энтропии
источника сообщений
.
, (1.28)
где
.
2-ая теорема (для каналов связи с помехами):
С
уществует
способ кодирования, при котором средняя
длина кодового слова немногим отличается
от энтропии источника
(1.29)
Остается выбрать подходящий способ кодирования.
Эффективность применения оптимальных неравномерных кодов может быть оценена:
Коэффициентом статистического сжатия, который характеризует уменьшение числа двоичных элементов на сообщение, при применении методов эффективного кодирования в сравнении с равномерным
. Учитывая, что
, можно записать
. Ксс лежит в пределах от 1 - при равномерном коде до
, при наилучшем способе кодирования.
Коэффициент относительной эффективности
- позволяет сравнить эффективность применения различных методов эффективного кодирования.
В неравномерных кодах возникает проблема разделения кодовых комбинаций. Решение данной проблемы обеспечивается применением префиксных кодов.
Префиксным называют код, для которого никакое более короткое слово не является началом другого более длинного слова кода. Префиксные коды всегда однозначно декодируемы.
Кодовое дерево для множества кодовых слов графически можно получить, установив соответствие между сообщениями и концевыми узлами двоичного дерева. Пример двоичного кодового дерева изображен на рисунке 4.1.
Рисунок 4.1. Пример двоичного кодового дерева
Две ветви, идущие от корня дерева к узлам первого порядка, соответствуют выбору между “0” и “1” в качестве первого символа кодового слова: левая ветвь соответствует “0”, а правая – “1”. Две ветви, идущие из узлов первого порядка, соответствуют второму символу кодовых слов, левая означает “0”, а правая – “1” и т. д. Ясно, что последовательность символов каждого кодового слова определяет необходимые правила продвижения от корня дерева до концевого узла, соответствующего рассматриваемому сообщению.
Формально кодовые слова могут быть приписаны также промежуточным узлам. Например, промежуточному узлу второго порядка на рисунок .1 можно приписать кодовое слово 11, которое соответствует первым двум символам кодовых слов, соответствующих концевым узлам, порождаемых этим узлом. Однако кодовые слова, соответствующие промежуточным узлам, не могут быть использованы для представления сообщений, так как в этом случае нарушается требование префиксности кода.
Требование, чтобы только концевые узлы сопоставлялись сообщениям, эквивалентно условию, чтобы ни одно из кодовых слов не совпало с началом (префиксом) более длинного кодового слова.
Любой код, кодовые слова которого соответствуют различным концевым вершинам некоторого двоичного кодового дерева, является префиксным, т. е. однозначно декодируемым.
Одним из серьёзных недостатков префиксных кодов является появление трека ошибок, т.е. одиночная ошибка в кодовой комбинации, при определенных обстоятельствах, способна привести к неправильному декодированию не только данной, но и нескольких последующих кодовых комбинаций.
Метод Хаффмена
Одним из часто используемых методов эффективного кодирования является так называемый код Хаффмана.
Пусть
сообщения входного алфавита
имеют соответственно вероятности их
появления
.
Тогда
Алгоритм кодирования Хаффмана состоит в следующем:
1. Сообщения располагаются в столбец в порядке убывания вероятности их появления.
2.
Два самых маловероятных сообщения
объединяем в одно сообщение,
которое
имеет вероятность, равную сумме
вероятностей сообщений
,
т. е.
.
В результате получим сообщения
,
вероятности
которых
.
3. Повторяем шаги 1 и 2 до тех пор, пока не получим единственное сообщение, вероятность которого равна 1.
4. Проводя линии, объединяющие сообщения и образующие последовательные подмножества, получаем дерево, в котором отдельные сообщения являются концевыми узлами. Соответствующие им кодовые слова можно определить, приписывая правым ветвям объединения символ “1”, а левым - “0”. Впрочем, понятия “правые” и “левые” ветви в данном случае относительны.
Рисунок 1.17 – Алгоритм расчета точек ветвей дерева Хаффмена
На основании приведенного алгоритма можно построить кодовое дерево.
Рисунок 1.18 – Дерево Хаффмена
Так как в процессе кодирования сообщениям сопоставляются только концевые узлы, полученный код является префиксным и всегда однозначно декодируем.
При равномерных кодах одиночная ошибка в кодовой комбинации приводит к неправильному декодированию только этой комбинации. Одним из серьёзных недостатков префиксных кодов является появление трека ошибок, т.е. одиночная ошибка в кодовой комбинации, при определенных обстоятельствах, способна привести к неправильному декодированию не только данной, но и нескольких последующих кодовых комбинаций.
Пример на однозначность декодирования и трек ошибок
Пусть передавалась следующая последовательность
1 0 0 1 1 1 0 0 0 1
a b c d
При возникновении ошибки в первом двоичном элементе, получим
0 0 0 1 1 1 0 0 0 1
g c d
Т.О. ошибка в одном разряде комбинации первого символа привела к неправильному декодированию двух символов. (Трек ошибок).
От СПДС обычно требуется не только передавать сообщения с заданной скоростью передачи информации, но и обеспечивать при этом требуемую достоверность.
Получив сообщение, пользователь должен быть с высокой степенью уверен, что отправлялось именно это сообщение.
Помехи, действующие в канале, как известно, приводят к возникновению ошибок. Исходная вероятность ошибки в каналах связи обычно не позволяет достичь высокой степени достоверности без применения дополнительных мероприятий. К таким мероприятиям, обеспечивающим защиту от ошибок, относят применения корректирующих кодов.
В общей структурной схеме СПДС задачу защиты от ошибок выполняет кодер и декодер канала, который иногда называют УЗО.
Арифметическое кодирование
Достоинства арифметического кодирования: способность кодирования символа с количеством бит сколь угодно близким к предельному; возможность адаптивного изменения модели; высокая скорость работы.
Алгоритм арифметического кодирования:
Разбиваем единичный отрезок на участки, соответствующие вероятностям сообщений алфавита.
Выбираем участок, соответствующий первому сообщению в кодируемом блоке. Разбиваем его пропорционально суммарным вероятностям
Находим нижнюю и верхнюю границы, ширину участка.
Выбираем участок, соответствующий второму сообщению в кодируемом блоке на участке соответствующему ранее взятому сообщению. Разбиваем его пропорционально суммарным вероятностям.
Повторяем 3 и 4 пункты.
Участок, соответствующий последнему сообщению в кодируемом блоке, делим пополам и получаем число-архив. Количество разрядов, необходимое для представления архива в двоичном виде определяется как log2 (1/3) +1.
Декодирование арифметического кода производится двумя способами:.
1. Масштабирование отрезков
2. Масштабирование архива
Раздел 4. Методы и устройства помехоустойчивого кодирования.
Лекция №5. Основные принципы обнаружения и исправления ошибки. Кодовое расстояние и корректирующая способность кода. Коды Хемминга.
Тезисы к лекции
От СПДС обычно требуется не только передавать сообщения с заданной скоростью передачи информации, но и обеспечивать при этом требуемую достоверность.
Помехи, действующие в канале, как известно, приводят к возникновению ошибок. Исходная вероятность ошибки в каналах связи обычно не позволяет достичь высокой степени достоверности без применения дополнительных мероприятий. К таким мероприятиям, обеспечивающим защиту от ошибок, относят применения корректирующих кодов.
В общей структурной схеме СПДС задачу защиты от ошибок выполняет кодер и декодер канала, который иногда называют УЗО.
Понятие о корректирующих кодах
Пусть имеется источник сообщений с объемом алфавита К.
Поставим
в соответствие каждому сообщению n -
элементную двоичную последовательность.
Всего последовательностей из n - элементов
может быть
.
Если
,
то все последовательности (или кодовые
комбинации) будут использоваться для
кодирования сообщений, т.е. будут
разрешенными.
Полученный таким образом код называется простым, он не способен обнаруживать и исправлять ошибки.
Для
того, что бы код мог обнаруживать и
исправлять ошибки необходимо выполнение
условия
,
при этом неиспользуемые для передачи
комбинации (N0-K)
называют запрещенными.
Появление ошибки в кодовой комбинации будет обнаружено, если передаваемая разрешенная комбинация перейдет в одну из запрещенных.
Расстояние Хемминга – характеризует степень различия кодовых комбинаций и определяется числом несовпадающих в них разрядов.
Перебрав все возможные пары разрешенных комбинаций рассматриваемого кода можно найти минимальное расстояние Хемминга d0.
Минимальное расстояние d0 - называется кодовым расстоянием
Кодовое расстояние определяет способность кода обнаруживать и исправлять ошибки.
У простого кода d0=1 – он не обнаруживает и не исправляет ошибки. Так как любая ошибка переводит одну разрешенную комбинацию в другую.
В общем случае справедливы следующие соотношения
для
обнаруживающей способности:
для четных
для
исправляющей способности
для нечетных
Коды Хемминга
Кодом Хемминга называется групповой (n,k) код, исправляющий одиночные ошибки и обнаруживающий двукратные ошибки.
Для построения кода, обеспечивающего передачу К сообщений и исправление t-кратной ошибки требуется:
Найти число информационных разрядов k и кодовое расстояние d0
Построить производящую матрицу на основе единичной матрицы путем добавления проверочных разрядов по следующим правилам:
Число единиц среди дописываемых элементов должно быть не менее d0 -1
Группы дописанных элементов должны отличаться друг от друга не менее, чем в d0 - 2 элементах.
После построить проверочную матрицу. Для построения проверочной матрицы транспонируем подматрицу, содержащуюся в производящей матрице. По столбцам этой матрицы можно будет в дальнейшем определить, в каком элементе во время передачи произошла ошибка.