
- •Кодеры систематического циклического кода: матричного типа и на регистрах сдвига с обратными связями: привести схемы и описать работу.
- •2 Строка
- •Кодеры несистематических циклических кодов: привести схемы и описать работу.
- •3. Низкоскоростные корреляционные коды: методы и схемы кодирования.
- •4. Низкоскоростные коды: методы и схемы корреляционного декодирования.
- •5.Коды бчх: схемы кодирования и алгоритмы декодирования.
- •7.Коды Рида-Маллера: схемы кодирования и алгоритмы декодирования.
- •8. Коды Хэмминга: схемы кодирования и алгоритмы декодирования.
- •9.Код Голея: параметры, доказательство оптимальности, схемы кодирования
- •10. Алгебро-геометрический подход
- •11.Алгоритм Берлекэмпа-Месси: его применение при декодировании помехоустойчивых кодов и при анализе линейной сложности криптографических функций
- •14.Минимальные многочлены и циклотомические классы, их связь с конечным полем, применение в теории кодирования.
- •15.Дуальные коды их свойства.
- •16.Методы вылавливания независимых и пачек ошибок.
- •17.Криптосистемы rsa: структура и принципы защиты информации.
- •18.Криптоанализ системы rsa.
- •19. Криптосистемы на эллиптических кривых (целые числа): структура и принципы защиты информации.
- •2 0.Криптосистемы на эллиптических кривых (расширенные поля Галуа): структура и принципы защиты информации.
- •21. Шифр aes: структура и принципы защиты информации
- •22.Криптографические протоколы метод доказательства с нулевым разглашением знаний.
- •23. Шифр Вернама и сеть Фейстеля.
- •Расшифрование
- •Алгоритмическое описание
- •24.Режимы включения криптомодулей блочных шифров
- •25.Протокол Фейге-Фиат-Шамира.
- •26. Оценка уровня нелинейности и линейной сложности криптографической функции
- •27. Линейный и дифференциальный криптоанализ
- •28.Понятие хеш-функций и их свойства.
- •29.Алгоритмы создания и проверки электронной цифровой подписи (эцп). Алгоритмы
- •Симметричная схема
- •Асимметричная схема
- •Виды асимметричных алгоритмов эп
- •30. Сверточные коды: схемы кодирования и алгоритмы декодирования.
- •1. Пороговое декодирование
- •Жесткое пороговое декодирование сск
- •1.2. Мягкое пороговое декодирование сск
- •2. Вероятностное декодирование сверточных кодов
- •2.1. Декодер Витерби
- •2.2. Последовательное вероятностное декодирование сверточных кодов
2. Вероятностное декодирование сверточных кодов
2.1. Декодер Витерби
Декодер, реализующий алгоритм максимального правдоподобия, должен выбрать такой путь на кодовом дереве, чтобы его кодовое слово отличалось от принятого кодового слова в наименьшем числе позиций. При передаче информации по каналу без памяти декодирование по максимальному правдоподобию переходит в декодирование по минимуму расстояния. Декодер, реализующий декодирование по минимуму расстояния, вычисляет расстояние Хемминга между принятым кодовым словом и принимает решение в пользу того кодового слова, которое окажется ближайшим к принятому.
Если допустить некоторые упрощения в алгоритме декодирования СК, то реализация декодера СК упрощается за счет удаления некоторых характеристик. Среди существующих упрощенных алгоритмов декодирования СК алгоритм Витерби является наиболее эффективным.
Алгоритм Витерби базируется на методах теории динамического программирования и достаточно просто реализуется для двоичных СК с длиной кодового ограничения k'≤7 и R=l/2, обеспечивая энергетический выигрыш порядка 6дБ при Рс/Рш=10дБ, использовании ДФМ, и мягкого декодирования с Q=8. Сущность алгоритма Витерби состоит в том, что в каждом узле решетчатой диаграммы СК сравнивается n0 путей, входящих в один узел. При этом сохраняется из них лишь тот путь, вес которого выше, а другие пути исключаются из рассмотрения. Оставшиеся пути в каждом узле решетчатой диаграммы называются выжившими путями.
Алгоритм:
1) для каждого кодового блока n,0 соответствующего k0 входным информационным символам, вычисляются веса ветвей; такая операция выполняется декодером на каждом такте для вновь поступивших n0 кодовых символов. Таким образом, все ветви (ребра) решетчатой диаграммы - путь каждого шага декодирования;
2) вычисляются веса всех путей, ведущих к данному узлу решетчатой диаграммы. Для этого к весам, которые были найдены на предыдущем такте, прибавляются новые веса, вычисленные в данном такте. При этом отбрасываются все пути с большими значениями весов. Это обеспечивает уменьшение объема вычислений и повышение быстродействия декодера;
3) для каждого узла решетчатой диаграммы сохраняется кодовый путь с наименьшим весом . Данный путь считается "выжившим путем";
4) приписывается узлу вес "выжившего пути";
5) в память путей записывается "выжившие пути";
6) по окончании вычислений в качестве решения декодером выдается путь, который имеет наименьший вес.
2.2. Последовательное вероятностное декодирование сверточных кодов
Последовательное декодирование СК по своим корректирующим свойствам приближается к характеристикам декодирования по максимуму правдоподобия и может быть реализовано как с жестким, так и с мягким решением. Требуемое количество операций зависит от уровня мощности шумов Рш: чем меньше Рш, тем меньшее количество операций требуется. Это позволяет упростить реализацию декодера.
Сущность последовательного декодирования СК состоит в соответствующем определении пути по кодовой решетке: прослеживается лишь тот кодовый путь, который "показался" декодеру наиболее вероятным. Поскольку время поиска кодового пути ограничено, то нельзя быть уверенным, что данный кодовый путь является наилучшим. Следовательно, данный алгоритм декодирования можно рассматривать как метод проб и ошибок. Последовательный декодер, в отличие от декодера Витерби, анализирует в каждом узле кодовой решетки только один блок n0, т.е. на каждом уровне кодового дерева последовательный декодер выбирает ребро кодового дерева, ближайшее к принятому кадру кодовой последовательности и переходит в узел на следующем уровне кодового дерева. Если ошибки в принятой последовательности отсутствуют, то алгоритм декодирования реализуется эффективно. Однако при наличии ошибок в принятой последовательности декодер с определенной вероятностью ошибки может выбрать неправильное ребро или кодовый путь в целом. Продолжая следовать по неверному кодовому пути декодер может это обнаружить по увеличению количества ошибок декодирования. В этом случае декодер возвращается назад на несколько кодовых блоков n0 и заново исследует другие кодовые пути до тех пор, пока не обнаружит правдоподобный путь и в дальнейшем будет следовать вдоль этого пути. Следовательно, последовательный декодер анализирует кодовые пути с разной скоростью и поэтому неравномерно будет выдавать на выходе информационные символы.