Задачи 2 Выполнить обзор методов фонтанного кодирования и сферы применения фонтанных кодов; Провести анализ неслучайных стирающих кодов и Raptor-кодов; Разработать программную модель фонтанного кодека для выбранного фонтанного кода; Провести экспериментальное исследование разработанной программной модели фонтанного кодека. Пакетные сети 3 Базовой моделью описания канала является модель канала со стираниями; Традиционными методами для повышения достоверности доставки сообщений служат: TCP (Transmission Control Protocol, Протокол управления передачей); UDP (User Datagram Protocol, Протокол пользовательских дейтаграмм); FEC (Forward Error Correction, Прямая коррекция ошибок с помощью помехоустойчивого кодирования). FEC 4 Классические FEC коды не способны решить проблему потерь пакетов: Сверточные коды исправляют отдельные битовые ошибки; Блоковые коды имеют ряд ограничений препятствующих их использованию в пакетных сетях. В результате был разработан новый класс помехоустойчивых кодов – фонтанные (или стирающие) коды. Идеальный фонтанный код 5 1) 2) 3) 4) Код должен представлять потенциально неограниченный поток символов; Время кодирования одного символа должно быть малым; Сообщение из 𝐾 символов должно быть реконструировано (декодировано) по любым 𝐾 кодовым символам; Время реконструкции должно линейно зависеть от величины 𝐾 . 6 Основные представители класса фонтанных кодов o o o LT-коды; НССК (НеСлучайный Стирающий Код); Raptor-коды. LT-коды 7 Коды был созданы Майклом Лаби (Michael Luby) в 1998 году. Свое название он получил от “Luby Transform” (преобразование Лаби). Однако опубликованы коды были лишь в 2002 году. LT-коды. Кодирование 8 инф. 1 1 1 1 кодовый бит 1 XOR 0 = 1 степень d = 2 0 1 1. Выбрать степень 𝑑𝑖 из распределения 𝜌 𝑑 2. Выбрать случайным равномерным образом 𝑑𝑖 соседей 3. Сложить соседей по модулю два ( ) LT-коды. Порождающий граф 9 кодовое слово 1 инф. слово 1 0 1 1 1 1 0 1 1 1 K … … 1 N 𝑁 – потенциально неограниченная величина LT-коды. Декодирование 10 инф. слово кодовое слово ? 1 0 1 1 1 1 0 1 1 1 ? 1. Найти кодовые символы степени 𝑑 =1 2. Восстановить соответствующие инф. биты LT-коды. Декодирование 11 1 кодовое слово 1 = 0 XOR 1 1 1 1 1 0 1 1 1 инф. слово 3. 4. 5. Обновить соседей этого инф. бита Удалить ветви Повторить LT-коды. Декодирование 12 1 кодовое слово 1 1 1 1 1 0 1 1 1 инф. слово LT-коды. Декодирование 13 инф. слово 1 кодовое слово 0 1 1 0 1 0 1 0 = 1 XOR 1 1 Отказ от декодирования! LT-коды. Удачная структура кода 14 инф. слово кодовое слово a1 c1 a2 a3 c2 c3 a4 a5 c4 c5 c6 LT-коды. Удачная структура кода 15 инф. слово кодовое слово a1 c1 a2 a3 c2 c3 a4 a5 c4 c5 c6 LT-коды. Удачная структура кода 16 инф. слово кодовое слово a1 c1 a2 a3 c2 c3 a4 a5 c4 c5 c6 LT-коды. Удачная структура кода 17 инф. слово кодовое слово a1 c1 a2 a3 c2 c3 a4 a5 c4 c5 c6 LT-коды. Удачная структура кода 18 инф. слово кодовое слово a1 c1 a2 a3 c2 c3 a4 a5 c4 c5 c6 LT-коды. Удачная структура кода 19 инф. слово кодовое слово a1 c1 a2 a3 c2 c3 a4 a5 c4 c5 c6 LT-коды. Удачная структура кода 20 инф. слово кодовое слово a1 c1 a2 a3 c2 c3 a4 a5 c4 c5 c6 Успешное декодирование! LT-коды. Идеальное распределение 21 𝜇(𝑑) = Идеальное распределение для 𝐾 = 104 1 , 𝐾 1 , 𝑑(𝑑 − 1) 𝑑=1 𝑑 = 2, … , 𝐾 LT-коды. Функция усиления 22 𝑆 𝐾𝑑 𝜏(𝑑) = 𝑆 ln 0 Функция усиления для 𝐾 = 104 , 𝑐 = 0.2, 𝛿 = 0.02, таким образом 𝑆 = 262, а 𝐾/𝑆 = 38 𝐾 𝑑 = 1,2, … , 𝑆−1 𝑆 𝛿 𝑑 = 𝐾𝑆 𝑑 > 𝐾𝑆 𝑆 = 𝑐 ln 𝐾 𝛿 𝐾 LT-коды. Робастное распределение 23 𝜌(𝑑) = Робастное распределение для 𝐾 = 104 , 𝑐 = 0.2, 𝛿 = 0.02, следовательно 𝑆 = 262, а 𝐾/𝑆 = 38 𝜇 𝑑 +𝜏 𝑑 𝑑𝜇 𝑑 +𝜏 𝑑 НССК 24 В 2008 году в автореферате к кандидатской диссертации К.В. Шинкаренко описал неслучайный стирающий код (НССК). Идея НССК 25 Выбор степени кодового символа d осуществляется на основе «приоритетности» символа. Raptor-коды 26 В 2001 году Амином Шокроллахи были изобретены Коды Raptor (Rapid Tornado). Идея Raptor-кодов 27 Raptor является каскадом помехоустойчивого кода с ослабленным LT-кодом (Weakened LT, WLT). Идея Raptor-кодов 28 Целью WLT-кода является восстановить сообщение до определенного уровня, чтобы внешний код реконструировал его полностью; Ослабление требований к LT-коду позволяет существенно уменьшить его сложность и понизить необходимый избыток кодовых символов; По мнению Амин Шокроллахи, LDPC-код является наиболее подходящим для precode. Программный комплекс fountain codes 29 Разработанный программный комплекс состоит из следующих инструментов: fountain codes – инструмент предназначенный для исследования эффективности выбранного фонтанного кода и представляющий главное окно разработанного программного обеспечения; Программный комплекс fountain codes 30 Программный комплекс distribution 31 distribution – инструмент позволяющий по заданным параметрам робастного распределения построить его диаграмму. Данное средство служит для исследования робастного распределения и доступно только для LT-кода; Программный комплекс distribution 32 Программный комплекс LT-investigator 33 LT-investigator – инструмент который позволяет построить график определяющий способность LT-кода восстанавливать исходное сообщение для различных наборов параметров робастного распределения. Доступно только для LT-кода. Программный комплекс LT-investigator 34 Исследование 35 Исследование 36 Исследование 37 Исследование 38 Исследование 39 Исследование 40 Результаты 41 Реализован программный комплекс включающий следующие инструменты: fountain codes; distribution; LT-investigator. Исследовано влияние параметров робастного распределения на его структуру (форму); Реализован автоматический подбор параметров робастного распределения в целях повышения стойкости LT-кода к стираниям; Результаты 42 Изучены основные представители фонтанных кодов; Разработана имитационная модель для каждого из рассмотренных фонтанных кодов; В процессе оптимизации кода и создания графического интерфейса программного комплекса были изучены такие средства MATLAB как: Compiler, Coder, Profiler и GUIDE. Список использованных источников 43 1. 2. 3. 4. 5. Шинкаренко К. В., Кориков А. М. Исследование эффективности помехоустойчивых кодов Лаби. Варгаузин В. Помехоустойчивое кодирование в пакетных сетях. Шинкаренко К. В. Стирающие помехоустойчивые коды для коррекции ошибок в системах цифрового телевещания. Шинкаренко К. В., Кориков А. М. Восстановление потерь пакетов в компьютерных сетях. Shokrollahi A., Member S. Raptor Codes IEEE Transactions on information theory. 2006. — June. Vol. 52, no. 6. 44 Спасибо за внимание. Вопросы?