Предпосылки LT-код Характеристики Возможность применения

advertisement
Орлов Никита
2
3
• Базовая модель описания канала – модель канала
со стираниями
• Методы для повышения достоверности доставки
сообщений:
a) Протокол управления передачей
(Transmission Control Protocol,
)
b) Протокол пользовательских дейтаграмм (User
Datagram Protocol,
)
c) Прямая коррекция ошибок с помощью
помехоустойчивого кодирования (Forward
Error Correction,
)
4
5
Код был создан Майклом
Лаби (Michael Luby) в
1998 г. Свое название
он получил от “Luby
Transform”
(преобразование Лаби).
Однако опубликованы
коды были лишь в 2002
году.
6
инф.
1
1
1
1 кодовый бит
1 XOR 0 = 1
степень d = 2
0
1
1. Выбрать степень 𝑑𝑖 из распределения 𝜌 𝑑
2. Выбрать случайным равномерным образом 𝑑𝑖
соседей
3. Сложить соседей по модулю два (
)
7
кодовое
слово
1
инф.
слово
1
0
1
1
1
1
1
1
K
…
1
…
0
1
N
𝑁 – потенциально неограниченная величина
8
инф.
слово
кодовое
слово
?
1
0
1
1
1
1
0
1
1
1
?
1. Найти кодовые символы степени 𝑑 =1
2. Восстановить соответствующие инф. биты
9
1
кодовое
слово
1 = 0 XOR 1
1
1
1
1
инф.
слово
0
1
1
1
3. Обновить соседей этого инф. бита
4. Удалить ветви
5. Повторить
10
1
кодовое
слово
1
1
1
1
1
инф.
слово
0
1
1
1
11
инф.
слово
1
1
1
0
1
кодовое
слово
0
0
1
0 = 1 XOR 1
1
Отказ от декодирования!
12
Ключевым аспектом LT-кодов является плотность
распределения вероятности 𝜌 𝑑 .
Из одной вероятностной задачи был взят результат:
«Из 𝐾 исходных символов с вероятностью 1/𝐾
производится 𝐾′ случайных выборок. Для того
чтобы с вероятностью 1 − 𝛿 каждый из всех 𝐾
исходных символов оказался хоть раз среди 𝐾′
𝐾
𝛿
кодовых символов, необходимо
≅ 𝐾 ln
, при
достаточно большом 𝐾»
Имея такое число кодовых символов можно
реконструировать исходное сообщение с
вероятностью 1 − 𝛿.
𝐾′
13
Для алгоритма декодирования на каждой итерации
требуется, чтобы в графе остался хоть один символ
степени 1.
распределение моделирует
ситуацию когда остается лишь один:
𝜇(𝑑) =
1
,
𝐾
1
,
𝑑(𝑑 − 1)
𝑑=1
𝑑 = 2, … , 𝐾
Стоимость кодирования этим распределением
минимальна и равна ln 𝐾. Однако, использовать его
не разумно так как кодовые символы плохо
защищены.
14
Для LT-кода с 𝐾 = 104
15
Для обеспечения стабильного декодирования
разработали робастное распределение 𝜌 𝑑 :
𝜇 𝑑 +𝜏 𝑑
𝜌(𝑑) =
𝑑𝜇 𝑑 +𝜏 𝑑
где 𝜏(𝑑) определяется согласно:
𝑆
𝐾𝑑
𝜏(𝑑) = 𝑆 ln
0
𝐾
𝑑 = 1,2, … , 𝑆−1
𝑆
𝛿
𝑑 = 𝐾𝑆
𝑑 > 𝐾𝑆
𝐾
здесь 𝑆 = 𝑐 ln
𝐾 - число исходных символов,
𝛿
хоть один раз входящих в кодовые символы
степени 𝑑 = 𝐾𝑆, где 0 < 𝑐 < 1, а 𝛿 – вероятность отказа
от декодирования.
16
Параметры кода 𝐾 = 104 , 𝑐 = 0.2, 𝛿 = 0.02, дают
значения 𝑆 = 224, 𝐾/𝑆 = 41
17
Параметры кода 𝐾 = 104 , 𝑐 = 0.2, 𝛿 = 0.02, дают
значения 𝑆 = 224, 𝐾/𝑆 = 41
18
19
 Стоимость кодирования – среднее число
операций XOR для получения одного кодового
символа. В предельном случае 𝐾′ ≅ 𝐾 оказывается
𝐾
𝛿
равной ln
 Стоимость декодирования – среднее число
операций XOR для получения одного
информационного символа. Так же оказывается
𝐾
порядка ln
операций
𝛿
 Вероятность отказа от декодирования 𝛿
выбирается в зависимости от требования к
надежности системы передачи
20
𝐾′
.
𝐾
 Минимально-необходимая избыточность
Исходное сообщение будет декодировано с
вероятностью 1 − 𝛿 по 𝐾 ′ = 𝐾 1 + 𝜀 символам, где
𝑆
2𝑆 ln 𝛿
𝐾
𝐾
𝛿
𝜀=
. Так как 𝑆 = 𝑐 ln
𝐾 параметром
распределения 𝑐 можно добиться требуемого
значения 𝐾 ′
 Для декодирования сообщения требуется порядка
𝐾
𝐾 ln
операций
. В результате, время
𝛿
декодирования почти линейно зависит от 𝐾
21
 Приведенные результаты являются
аппроксимирующими. Результаты на практике
тем ближе к теоретическим, чем больше 𝐾
 Выбор больших значений 𝐾 напрямую связан с
появлением весьма существенных задержек в
системе, а так же серьезных требований к объему
памяти декодера
22
o Кодовые символы генерируются независимо друг
от друга
o Длины исходных и кодовых символов должны
быть равны
o Коды основаны на статистической задаче,
поэтому эффективность LT-кодов проявляется
лишь при больших значениях 𝐾
23
24
 Почти линейное время декодирования
 Скорость кода близка к 1
 Простая реализация широковещательной
передачи
 Экономия трафика
 Возможна адаптация кода к условиям в канале
 Не зависит от статистики стираний в канале
 Нет необходимости в обратном канале
 Алгоритмы кодирования и декодирования
принципиально не зависят от размера пакета
 Для задачи «многие-одному» возможна
параллельная загрузка
25
 Отказ от декодирования может произойти даже
при отсутствии стираний
 Плохие характеристики для малых 𝐾
 Большие задержки передачи
 Серьезные требования к объему памяти декодера
 Требуются мощные коды обнаруживающие
ошибки. Из-за конструкции кода одна не
обнаруженная ошибка при декодировании может
распространиться на большую часть остальных
символов
26
27
Download