Вы находитесь на странице: 1из 46

Теория помехоустойчивого кодирования

Введение

д.т.н. Трифонов П.В.

Университет ИТМО

1 сентября 2023 г.

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 1 / 43
План лекции

1 Организационная информация

2 Системы передачи информации

3 Теоретико-информационные основы

4 Основные понятия теории кодирования

5 Линейные коды

6 Декодирование

7 Весовой спектр кода

8 Границы

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 2 / 43
Организационная информация

Литература

[1] Bossert M. Channel coding for telecommunications. — Wiley, 1999.


[2] Moon T. K. Error Correction Coding. Mathematical Methods and Algorithms. — Hoboken, NJ, USA : Wiley,
2005.
[3] Morelos-Zaragoza R. The Art of Error Correcting Coding. — Wiley, 2002.
[4] Блейхут Р. Теория и практика кодов, контролирующих ошибки. — М. : Мир, 1986.
[5] Кудряшов Б. Основы теории кодирования. — СПб : БХВ, 2016.
[6] Мак-Вильямс Ф. Д., Слоэн Н. Д. А. Теория кодов, исправляющих ошибки. — М. : Связь, 1979.

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 3 / 43
Организационная информация

Система управления курсами

Страница курса https://moodle.itmo.ru/course/view.php?id=232


Группа Кодовое слово/Enrollment key
M34331 Coding#M34331
M34341 Coding#M34341
M34351 Coding#M34351
M34361 Coding#M34361
M34371 Coding#M34371
M34381 Coding#M34381
M34391 Coding#M34391

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 4 / 43
Организационная информация

Оценивание курса

1 Успешное решение задач у доски на практических занятиях (16-17 шт): 1-2 балла.
2 До 50 баллов за выполнение расчетных заданий (дома и на занятиях)
3 До 100 баллов за программную реализацию декодеров
4 До 100 баллов за нахождение ошибок в учебнике
5 До 20 баллов за теоретический экзамен
Максимальная оценка — 100 баллов. Если сумма баллов по пп. 1–5 превышает 80, они могут быть
зачтены как экзаменационные после собеседования по теоретической части курса.
Собеседование по выполненной программной реализации декодеров
20% студентов, набравших наименьшее количество баллов за другие типы заданий
Студенты, чьи программы вызывают вопросы и сомнения

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 5 / 43
Системы передачи информации

Структура систем передачи данных

Источник

Кодер источника Каналом ПД называется часть СПД, не контролируемая разработчиком


Моделируется как стохастический преобразователь
Кодер канала При проектировании системы некоторая совокупность ее блоков также может
рассматриваться как канал
Модулятор Оператор канала (i + 1)-го уровня Ci+1 = Ri Ci Ti
Кодер источника
Канал Устранение избыточности в передаваемых данных
С потерями или без них
Демодулятор Кодер канала
Внесение избыточности для последующего исправления возможных ошибок
Осуществляет отображение последовательностей информационных символов в более длинные
Декодер канала кодовые последовательности
Теория помехоустойчивого кодирования изучает методы внесения избыточности в
Декодер источника
передаваемые данные, а также методы их использования для исправления ошибок
Приемник

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 6 / 43
Системы передачи информации

Простейшие методы модуляции

Передаваемый сигнал равен X


x(t) = Sxi (t − iT )
i

xi — передаваемые символы, T — продолжительность символьного интервала


M -ичная амплитудно-импульсная модуляция

Si (t) = α(2i + 1 − M )g(t) sin(2πf t)

g(t) — сигнальный импульс (например, единичный импульс продолжительностью T ), f — несущая


частота, α — коэффициент, определяющий энергию передаваемого сигнала
Пример модели канала в непрерывном времени: y(t) = x(t) + η(t)
Пример модели канала в дискретном времени: yi = α(2xi + 1 − M ) + ηi
ηi ∼ N (0, σ 2 ) — канал с аддитивным белым гауссовским шумом

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 7 / 43
Системы передачи информации

Решающие области

Приемник наблюдает на выходе канала вектор y = (y0 , . . . , yn−1 )


Канал характеризуется условным распределением pY |X (y|x), где X, Y — случайные величины,
соответствующие векторам переданных и принятых символов
Если выход канала — непрерывная случайная величина, pY |X (y|x) — условная плотность распределения
Приемник реализует некоторое разбиение векторного пространства на решающие области Rx : y ∈ Rx ⇒ x̂ = x
x

x
x

x
x

Вероятность ошибки
Z XZ XZ
Pe = Pe (y)pY (y)dy = pe (y)pY (y)dy = (1 − pX|Y {x|y})pY (y)dy =
RN x Rx x Rx
XZ
=1 − pX|Y {x|y} pY (y)dy
x Rx

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 8 / 43
Системы передачи информации

Критерии идеального наблюдателя и максимума правдоподобия

XZ
Pe = 1 − pX|Y {x|y} pY (y)dy
x Rx

Критерий максимума апостериорной вероятности (к. идеального наблюдателя):



Rx = y|pX|Y (x|y) > pX|Y (x′ |y), x′ 6= x =

= y|PX (x)pY |X (y|x) > PX (x′ )pY |X (y|x′ ), x′ 6= x

Обеспечивает минимизацию вероятности ошибки


Критерий максимума правдоподобия

Rx = y|pY |X (y|x) > pY |X (y|x′ ), x′ 6= x

Совпадает с критерием максимума апостериорной вероятности, если PX (x) = const т.е. все
сообщения равновероятны

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 9 / 43
Системы передачи информации

Вероятность ошибки сигналов 2-АМ в случае канала с АБГШ

0.4
x=0
x=1

0.35

0.3

yi = α(2xi − 1) + ηi , ηi ∼ N(0, σ 2 ), xi ∈ {0, 1} 0.25

PY|X(y|x)
0.2

1 (y−α(2x−1))2
− 0.15

pY |X (y|x) = √ e 2σ2
2πσ 2 0.1

0.05

0
−4 −2 0 2 4
y

Будем считать сообщения равновероятными ⇒ приемник максимального правдоподобия

R0 = {y|y < 0} , R1 = {y|y ≥ 0}

Вероятность ошибки R∞ R0
Pe = PX (0)P {Y ≥ 0|X = 0} + PX (1)P {Y < 0|X = 1} = 0.5 0 pY |X (y|0)dy + 0.5 −∞ pY |X (y|1)dy =
R∞ 1 (y+α)2 R∞ 1 y2 R ∞ 1 − y2  
− − 2
√ e 2σ2 dy = √ e 2σ dy = √ e 2 dy = Q(α/σ) = 1 erfc √α
0 2πσ 2 α 2πσ 2 α/σ 2π 2 2σ

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 10 / 43
Системы передачи информации

Отношение сигнал/шум

Как правило, значение сигнала соответствует уровню


напряжения
Мощность тока P = U 2 /R
−1
10
2−AM

2
Мощность сигнала пропорциональна Es = α 10
−2

2
Мощность шума пропорциональна σ = N0 /2
−3
10
Отношение сигнал/шум на символ Es /N0 (измеряется в

Pe
дБ) −4
10

Отношение сигнал/шум на бит Eb /N0 = Es /(RN0 ), где R


— количество бит полезной информации, представляемых 10
−5

одним символом
q  q 
Es Eb 10
−6

Вероятность ошибки 2-АМ: Pe = Q 2N 0


= Q 2 N0
0 2 4
Es/N0, dB
6 8 10

ОСШ принято измерять в децибелах:


ОСШ=10 log10 (Eb /N0 )

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 11 / 43
Теоретико-информационные основы

Способы снижения вероятности ошибки

Посимвольное повторение

ymi+j = α(2xi − 1) + ηmi+j , 0 ≤ j < m

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 12 / 43
Теоретико-информационные основы

Способы снижения вероятности ошибки

Посимвольное повторение

ymi+j = α(2xi − 1) + ηmi+j , 0 ≤ j < m

Примем решения по каждому ymi+j , проведем


голосование. Вероятность ошибки
Pv (m) = m−1 C j P j (1 − Pe )m−j
P
j=⌈m/2⌉ m e

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 12 / 43
Теоретико-информационные основы

Способы снижения вероятности ошибки

Посимвольное повторение

ymi+j = α(2xi − 1) + ηmi+j , 0 ≤ j < m

Примем решения по каждому ymi+j , проведем


голосование. Вероятность ошибки
Pv (m) = m−1 C j P j (1 − Pe )m−j
P
j=⌈m/2⌉ m e
Примем
Pm−1 решение по Pm−1
j=0 ymi+j = mα(2xi − 1) + j=0 ηmi+j . Вероятность
q  q 
Eb

ошибки Pa (m) = Q( √mσ ) = Q 2 mE
N0
s
=Q 2N
0
Выигрыша нет!

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 12 / 43
Теоретико-информационные основы

Способы снижения вероятности ошибки

Посимвольное повторение
Pe
ymi+j = α(2xi − 1) + ηmi+j , 0 ≤ j < m −2
10 Pa(3)
Pv(3)

−4
10

Примем решения по каждому ymi+j , проведем −6


10

Error probability
голосование. Вероятность ошибки
Pv (m) = m−1 C j P j (1 − Pe )m−j
P −8
10

j=⌈m/2⌉ m e
Примем
Pm−1 решение по Pm−1
10
−10

j=0 ymi+j = mα(2xi − 1) + j=0 ηmi+j . Вероятность 10


−12
q  q 
Eb

ошибки Pa (m) = Q( √mσ ) = Q 2 mE
N0
s
=Q 2N
0 10
−14

Выигрыша нет! 0 2 4 6 8 10
Es/N0, dB
Внесение избыточности не на уровне отдельных битов, а
их блоков

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 12 / 43
Теоретико-информационные основы

Понятие кода

Код — множество допустимых последовательностей символов алфавита X


Конечных или бесконечных
На практике всегда ограничиваются последовательностями конечной длины n
Не всякая последовательность символов из X является кодовой
Кодер – устройство, реализующее отображение информационных последовательностей символов
алфавита B в кодовые
Различным информационным последовательностям сопоставляются различные кодовые
последовательности
Скорость кода – отношение длин информационной и кодовой последовательностей
Декодер – устройство, восстанавливающее по принятой последовательности символов наиболее
вероятную соответствующую ей кодовую (или информационную) последовательность
Необходима модель канала передачи данных

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 13 / 43
Теоретико-информационные основы

Теоремы кодирования

Пусть для передачи используется код C ⊂ X n длины n, состоящий из M кодовых слов, выбираемых с
одинаковой вероятностью

Теорема (Обратная)
Для дискретного постоянного канала с пропускной способностью C для любого δ > 0 существует ǫ > 0
такое, что для любого кода со скоростью R > C + δ средняя вероятность ошибки P e ≥ ǫ

Теорема (Прямая)
Для дискретного постоянного канала с пропускной способностью C для любых ǫ, δ > 0 существует
достаточно большое число n0 > 0, такое что для всех натуральных n ≥ n0 существует код длиной n со
скоростью R ≥ C − δ, средняя вероятность ошибки которого Pe ≤ ǫ

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 14 / 43
Теоретико-информационные основы

Пропускная способность некоторых каналов

(
p, y 6= x
Двоичный симметричный канал: X, Y ∈ {0, 1} , pY |X (y|x) =
1 − p, y=x

CBSC = 1 + p log2 p + (1 − p) log2 (1 − p)

Идеальный частотно ограниченный гауссовский канал: y(t) = x(t) +(η(t), η(t) — гауссовский случайный
N0 /2, −W < f < W
процесс, спектральная плотность мощности которого равна S(f ) =
0 иначе
 
Es
CAW GN = W log2 1 +
W N0
Es
lim CAW GN =
W →∞ N0 ln 2
Es Eb R
Код со скоростью R обеспечивает надежную передачу данных при R < C = N0 ln 2
= N0 ln 2
Минимальное
допустимое отношение сигнал/шум на бит Eb /N0 > ln 2 = −1.59 дБ

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 15 / 43
Теоретико-информационные основы

Энергетический выигрыш кодирования

100
Polar (2048,1024)
Uncoded
Энергетический выигрыш кодирования
10−1
показывает, во сколько раз использование
кодирования позволяет уменьшить отношение
10−2
сигнал/шум, необходимое для достижения
заданной вероятности ошибки, по сравнению со

BER
10−3
случаем отсутствия кодирования
Причины снижения выигрыша от кодирования
10−4
Использование кодов конечной длины
Несовершенство существующих кодовых
10−5
конструкций
Субоптимальные алгоритмы декодирования
Дискретизация выхода канала 10−6
−2 0 2 4 6 8 10
Eb/N0, dB

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 16 / 43
Теоретико-информационные основы

Жесткое и мягкое декодирование

Канал с АБГШ: yi = (2xi − 1) + ηi , xi ∈ {0, 1}


Мягкое декодирование: декодер непосредственно использует yi
Жесткое декодирование: декодер использует оценки x̂i
q 
Es
Канал с АБГШ превращается в двоичный симметричный канал с вероятностью ошибки p = Q 2N
 0
2 2 
Пропускная способность C = 1 + p log2 p + (1 − p) log2 (1 − p) = ln22 p − 12 + o p − 12
1 √x
При малых x Q(x) ≈ 2


q 2
2 Es
Достижимая скорость передачи данных R < ln 2 N0 π

Eb Es π
= > ln 2 = 1.09 = 0.37дБ
N0 RN0 2
Потеря 1.96 дБ по сравнению с мягким декодированием

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 17 / 43
Теоретико-информационные основы

Спектральная эффективность

Идеальный частотно ограниченный гауссовский канал


Полоса частот, занимаемых сигналом, зависит от длительности символьного интервала T , которая
определяется в т.ч. скоростью передачи данных
h i
R бит
Спектральная эффективность кодирования: β = W сГц

 
R R Eb
< log2 1 +
W W N0

2β − 1
Eb /N0 >
β

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 18 / 43
Основные понятия теории кодирования

Критерии декодирования

Критерий минимального расстояния (X = Y )


Декодер ищет кодовое слово c = arg minc∈C d(c, y)
Списочное декодирование
Декодер ищет все кодовые слова, находящиеся в сфере заданного радиуса вокруг принятого вектора
Побитовое декодирование
Критерий идеального наблюдателя для отдельных символов кодового слова
Часто дополняется вычислением лог. отношений правдоподобия для отдельных символов
P
c∈C P {c|y}
c =0
Li = ln P i
c∈C P {c|y}
ci =1

Алгоритм называется алгоритмом полного декодирования по критерию K, если он способен найти


решение соответствующей оптимизационной задачи для любого возможного принятого сигнала

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 19 / 43
Основные понятия теории кодирования

Метрики I
Функция d(x, y) называется метрикой, если:
d(x, y) ≥ 0; d(x, y) = 0 ⇔ x = y
d(x, y) = d(y, x)
Неравенство треугольника: d(x, y) + d(y, z) ≥ d(x, z)
Метрическое пространство – множество X с определенной на нем метрикой
Примеры
Расстояние Хемминга: dH (x, y) = | {i|xi 6= yi } |
Двоичный симметричный канал (p < 0.5, X = Y = {0, 1}):
n
Y n
Y
ĉ = arg max P {yi |ci } = arg max (1 − p)1−|yi −ci | p|yi −ci | =
c∈C c∈C
i=1 i=1
n  |yi −ci | ! n
n
Y p X
= arg max (1 − p) = arg min |yi − ci |
c∈C
i=1
1−p c∈C
i=1
pPn
Расстояние Евклида dE (x, y) = i=1 (xi − yi )2
Аддитивный Гауссовский канал с амплитудно-импульсной модуляцией (Y = Rn )
n
Расстояние Ли (A = GF (q)n ): dL (x, y) =
P
i=1 min(|xi − yi |, q − |xi − yi |)
Аддитивный Гауссовский канал с q-ичной фазовой модуляцией
Ранговое расстояние (A = GF (q)n×m ): dR (x, y) = rank(x − y)
Сетевые коды
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 20 / 43
Основные понятия теории кодирования

Блоковые и сверточные коды

Операция канального кодирования вносит в информационную последовательность избыточность,


необходимую для последующего исправления возможных ошибок
Forward error correction
Обычно входной и выходной алфавиты кодера совпадают (X)
Рассмотрим коды над конечными алфавитами
Блоковые коды преобразуют блок из k символов в блок из n символов
Преобразование отдельных блоков выполняется независимо
Сверточные коды преобразуют блок из k символов в блок из n символов
Преобразование зависит от предыдущих блоков
В большинстве случаев блоками являются один или несколько битов

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 21 / 43
Основные понятия теории кодирования

Основные параметры блоковых кодов I

n – длина кода C
Для исправления ошибок требуется, чтобы не все |X|n последовательностей были кодовыми словами
Мощность кода (число различных кодовых слов) M = |C|
log M
Скорость кода R = |X|
n
Минимальным расстоянием кода называется минимальное расстояние Хемминга между его
различными кодовыми словами
Пример: C = {000, 111}. dmin (C) = 3
Хеммингов шар радиуса dmin − 1, описанный вокруг кодового слова c ∈ C, не содержит никаких
других кодовых слов

Хемминговы шары H(c) радиуса ⌊(dmin − 1)/2⌋, описанные вокруг кодового слова
c ∈ C, не пересекаются

Если в результате канальных искажений исходное кодовое слово c ∈ C преобразовалось в одну из


точек H(c), оно может быть восстановлено декодером, реализующим критерий минимального
расстояния Хемминга
Код с минимальным расстоянием Хемминга d способен исправить ⌊(d − 1)/2⌋ ошибок
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 22 / 43
Линейные коды

Линейные коды

Определение
Линейным (n, k)q кодом C называется k-мерное линейное подпространство n-мерного линейного
пространства над полем GF (q)

Число кодовых слов равно q k . k — размерность кода,k/n –– скорость кода


Порождающая k × n матрица полного ранга G: C = y = xG|x ∈ GF (q)k

Проверочная матрица r × n H: C = y ∈ GF (q)n |yH T = 0 , r ≥ n − k = rank(H)
GH T = 0
Иногда проверочная матрица может определяться над полем GF (q m )
Код может иметь много различных порождающих и проверочных матриц
Коды, слова которых различаются фиксированной перестановкой символов и их домножением на
ненулевые константы, называются эквивалентными
С помощью линейных операций над строками и перестановок столбцов порождающая матрица может
быть приведена к виду G = (I|A)
Систематическое кодирование: xG = (x|xA) –– информационный вектор является подвектором
кодового слова. Применение систематического кодирования упрощает декодирование
H = (AT | − I)
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 23 / 43
Линейные коды

Свойства линейных кодов

Минимальное расстояние линейного блокового кода C равно d = min


′ ′′
d(c′ , c′′ ) = min wt(c)
c 6=c c∈C\{0}
c′ ,c′′ ∈C

Если H –– проверочная матрица кода длины n, то код имеет размерность n − r ттогда, когда
существуют r линейно независимых столбцов матрицы H, а любые r + 1 столбцов линейно зависимы
Если H –– проверочная матрица кода длины n, то код имеет минимальное расстояние d ттогда,
когда любые 1, 2, . . . , d − 1 столбцов H линейно независимы, но существуют d линейно зависимых
столбцов матрицы H
Принадлежность коду (yH T = 0) эквивалентна ЛЗ столбцов
Граница Синглтона (верхняя): для любого (n, k, d) линейного кода n − k ≥ d − 1
Ранг матрицы H (макс. число ЛНЗ столбцов) не может превосходить n − k
Граница Синглтона для произвольных кодов:Aq (n, d) ≤ q n−d+1
Коды с n − k = d − 1 называются разделимыми кодами с максимальным достижимым расстоянием
(МДР)

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 24 / 43
Линейные коды

Простейшие коды

Пусть G — обратимая n × n матрица. Она порождает код (n, n, 1)


 
1 0 0 ... 0 1
0 1 0 ... 0 1
 
(n, 1, n) код с n-кратным повторением: G′ = (11 . . . 1), H ′ = 0 0 1 ... 0 1


. . .. .. .. 
 .. .. . . . 1
0 0 0 ... 1 1
 
1 0 0 ... 0 1
0 1 0 . . . 0 1
 
(n, n − 1, 2) код с проверкой на четность: : G′′ = 0 0 1 . . . 0 1 , H ′′ = (11 . . . 1)

. . . .
. . ...

 .. .. .. 1
0 0 0 ... 1 1

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 25 / 43
Линейные коды

Код Хемминга

Выберем в качестве столбцов матрицы H все ненулевые двоичные вектора длины r


Длина кода n = 2r − 1
Размерность k = n − r = 2r − r − 1
Минимальное расстояние d = 3
P1
Код лежит на границе Хемминга (является совершенным): i=0 Cni = n + 1 = 2n−k
Кодирование: информационные символы расположены во всех позициях, кроме 2i
Декодирование: синдром задает местоположение ошибочной позиции
Если столбцы были выписаны в соответствии с двоичным кодом
 
1 0 1 0 1 0 1
H = 0 1 1 0 0 1 1
0 0 0 1 1 1 1

Впервые были использованы в 1957 г в сети передачи данных, связывавшей наземные


измерительные пункты, контролировавшие полет первого искусственного спутника Земли
(Разработка ОКБ при Ленинградском политехническом институте)
Симплексный код — (2m − 1, m, 2m−1 ) код, с порождающей матрицей H вышеуказанного вида (код,
дуальный коду Хемминга). Все его кодовые слова равноудалены друг от друга
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 26 / 43
Декодирование

Жесткое и мягкое декодирование

Пусть используется код C ⊂ X n


Модулятор преобразует символы из конечного алфавита X в сигналы,
передаваемые по каналу
Кодер
Выходной алфавит большинства каналов — множество вещественных или
комплексных чисел
Модулятор Жесткое декодирование
Для каждого символьного интервала демодулятор находит символ из A, наиболее
правдоподобный при условии сигнала, принятого на данном интервале
Канал Декодер пытается исправить ошибочные решения демодулятора
Мягкое декодирование
Демодулятор преобразует принятый сигнал в форму, пригодную для
Демодулятор использования декодером
Окончательные решения не принимаются или формируется информация о
надежности принятых решений
Декодер Логарифмические отношения правдоподобия
Мягкое детектирование
Декодер пытается найти кодовое слово, наиболее правдоподобное при условии
сигналов, принятых на всех n символьных интервалах

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 27 / 43
Декодирование

Декодирование линейных кодов


Рассмотрим двоичный симметричный канал с переходной вероятностью p < 0.5
Принятый вектор y = xG + e, e – вектор ошибки
Декодирование перебором кодовых слов: выбираем слово, ближайшее к принятому вектору (критерий
минимального расстояния). Сложность O(2k n)
Синдром принятого вектора S = yH T = xGH T + eH T = eH T зависит только от вектора ошибки
Рассмотрим все возможные вектора e и выпишем соответствующие синдромы
Отсортируем по весу все вектора e, соответствующие каждому возможному значению синдрома
(стандартная расстановка)
В качестве решения задачи декодирования выбираем самый легкий вектор e, соответствующий
вычисленному синдрому
Кодовое слово находится в нулевой строке столбца, в котором был записан принятый вектор
Размер таблицы 2r
Синдром Смежный класс
k
0 0 c(1) c(2) ... c(2 −1)
k
(2k +1) (2k +2) k
S (1) e(2 ) e e ... e(2·2 −1)
k k k k
S (2) e(2·2 ) e(2·2 +1) e(2·2 +2) ... e(3·2 −1)
.. .. .. .. .. ..
. . . . . .
r r
−1)·2k ) r k r k n
S (2 −1) e((2 e((2 −1)·2 +1) e((2 −1)·2 +2) ... e(2 −1)
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 28 / 43
Декодирование

Стирания

Иногда известно, что отдельные символы кодового слова продетектированы ненадежно. Заменим
такие символы на ǫ перед декодированием
Стираниями могут также считаться потери пакетов в компьютерных сетях
Декодеру не надо искать местоположение этих потенциальных ошибок, достаточно найти их значение
Если нестертые символы образуют информационную совокупность и не было других ошибок, кодовое
слово может быть восстановлено
Стирания могут происходить одновременно с ошибками
(n, k, d) код может исправить любую комбинацию из t ошибок и v стираний, если
d ≥ 2t + v + 1
Стирание эквивалентно выкалыванию кода на v позиций ⇒ минимальное расстояние уменьшается не
более чем на v
Декодирование ошибок и стираний для кодов над GF (2)
Положить все стертые позиции равными 0, исправить ошибки в полученном векторе
Положить все стертые позиции равными 1, исправить ошибки в полученном векторе
Выбрать результат декодирования, ближайший к принятому вектору
Иногда можно построить алгоритм декодирования, способный одновременно исправлять как ошибки,
так и стирания
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 29 / 43
Декодирование

Качество (performance) декодирования

Весовой спектр кода Ai = | {c ∈ C| wt(c) = i} |


Рассмотрим двоичный симметричный канал с переходной вероятностью p
Вероятность необнаружения ошибки
n
X n
X
Pundetect = P {S = 0} = Ai pi (1 − p)n−i ≤ Cni pi (1 − p)n−i
i=d i=d

Вероятность правильного декодирования


Вероятность того, что вектор ошибки является лидером смежного класса
l
X
Pcorrect = Li pi (1 − p)n−i
i=0

Li –– число лидеров смежных классов веса i


l - максимальный вес лидера смежного класса.
i
Для совершенных кодов l = ⌊(d − 1)/2⌋ , Li = Cn
В общем случае
l
X
i i
Pcorrect ≥ Cn p (1 − p)n−i
i=0

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 30 / 43
Декодирование

Объединенная верхняя граница

Аддитивный гауссовский канал с двоичной модуляцией

yi = (2ci − 1) + ηi , ηi ∼ N (0, σ 2 )

Вероятность ошибки мягкого декодирования по максимуму правдоподобия линейного блокового кода


n r ! n r ! n r !
X Es X Eb 1X Eb
P ≤ Ai Q 2i = Ai Q 2iR = Ai erfc iR
N0 N0 2 N0
i=d i=d i=d

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 31 / 43
Декодирование

Декодирование по информационным совокупностям


Полное декодирование по минимальному расстоянию — нахождение по произвольному y ближайшего
кодового слова c = arg minc∈C d(c, y)
Информационной совокупностью называется множество из k позиций в кодовом слове, значения
которых однозначно определяют значения символов на остальных позициях кодового слова
Если γ = {j1 , . . . , jk } –– ИС, то все прочие позиции {1, . . . , n} \ γ образуют проверочную совокупность
Если γ = {j1 , . . . , jk } образуют ИС, то матрица, составленная из столбцов j1 , . . . , jk порождающей
матрицы, обратима
Пусть G(γ) = M (γ)G — порождающая матрица, содержащая единичную подматрицу на столбцах γ,
где M (γ) — подходящая обратимая матрица
ИС свободна от ошибок, если соответствующие позиции вектора e равны 0: e(γ) = 0
Декодирование y = xG + e по информационным совокупностям:
(первоначальный кандидат)c = 0
Выбрать ИС γ. Вычислить c′ = y(γ)G(γ)
Если d(c′ , y) < d(c, y), c = c′
Перейти к следующей ИС. Если все ИС проверены, возвратить c
Не всякие k позиций образуют информационную совокупность
Для коротких кодов можно заранее построить список ИС, достаточный для исправления всех
конфигураций ошибок
Для длинных кодов целесообразно перебирать ИС, добавляя и удаляя на каждом шаге по одному
элементу (экономия на приведении порождающей матрицы к каноническому виду G(γ))
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 32 / 43
Декодирование

Декодирование по информационным совокупностям

Теорема
Алгоритм декодирования по ИС обеспечивает полное декодирование по минимальному расстоянию

Доказательство.
Необходимо доказать, что для всякого исправимого вектора ошибки существует информационная
совокупность, свободная от ошибок
Пусть c –– единственное решение некоторой задачи декодирования по минимальному расстоянию
e = y − c –– вектор ошибки
E = supp(e) - множество позиций ненулевых элементов e. |E| ≤ n − k
Пусть N = {1, 2, . . . , n}
Предположим, что N \ E не содержит информационных совокупностей ⇒ существуют различные
кодовые слова, отличающиеся от принятого вектора в позициях E. Это противоречит предположению
о единственности c

Сложность декодирования для (n, k)q кода O(L(n)n2n(b−(1−n/k)h(a/(1−n/k))(1+o(1)) ), где L(n) — сложность
приведения матрицы к каноническому виду
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 33 / 43
Декодирование

Покрытия
M (n, m, t) покрытием называется такой набор F ⊂ 2Nn из подмножеств мощности m множества
Nn = {1, 2, . . . , n}, что всякое t-элементное подмножество Nn содержится в одном из f ∈ F
Декодирование по ИС с исправлением не более t ошибок: необходимо покрыть все исправимые
конфигурации ошибок. Элементы покрытия задают проверочные  совокупности 
1 1 1 0 0 0 0
1 0 0 1 1 0 0
Пример декодирования (7, 4, 3) кода, порождаемого G =  0 1 0 1 0 1 0

1 1 0 1 0 0 1
y = (0, 1, 1, 0, 1, 0, 0)
Все возможные конфигурации единичных ошибок покрываются проверочными совокупностями
M (7, 3, 1) = {{1, 2, 4} , {5, 6, 7} , {3, 4, 5}}
Им соответствуют информационные совокупности {{3, 5, 6, 7} , {1, 2, 3, 4} , {1, 2, 6, 7}}
Преобразованные порождающие матрицы
     
1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 0
 1 0 0 1 1 0 0 
, 0 1 0 0 1 0 1
   0 1 1 1 1 0 0 
 , 
 0 1 0 1 0 1 0   0 0 1 0 1 1 0   0 0 1 0 1 1 0 
1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1

Кодовые слова, соответствующие подвекторам принятого вектора:


(0, 1, 1, 1, 1, 0, 0), (0, 1, 1, 0, 0, 1, 1), (0, 1, 1, 1, 1, 0, 0)
Построение минимального покрытия - NP-полная задача
Итеративное построение покрытия (приближенный алгоритм):
На каждом шаге выбирается множество, содержащее максимальное количество непокрытых элементов
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 34 / 43
Весовой спектр кода

Дуальные коды

Пусть задан (n, k) код с проверочной матрицей H. Дуальным к нему называется (n, n − k) код с
порождающей матрицей H
Кодовые слова дуального кода – множество всех проверок на четность исходного кода
Самодуальным называется код, совпадающий со своим дуальным
Код с проверочной матрицей H = (A|I) самодуален ттогда, когда A – квадратная матрица, т.ч.
AAT = −I
HH T = AAT + I

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 35 / 43
Весовой спектр кода

Весовой спектр кода

Спектром линейного кода называется последовательность Ai , i = 0..n, где Ai равно числу кодовых
слов веса i
Нужен для оценки вероятности ошибки декодирования Весовая функция кода
Весовая функция кода
n
X X
W (x, y) = Ai xn−i y i = xn−wt(u) y wt(u)
i=0 u∈C

Теорема (Мак-Вильямс для двоичных линейных кодов)


Весовая функция кода C связана с весовой функцией дуального к нему кода C⊥ соотношением
1
W C⊥ = WC (x + y, x − y)
|C|

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 36 / 43
Границы

Граница Хемминга

Теорема
Для любого q-ичного кода с минимальным расстоянием d = 2t + 1 число кодовых слов удовлетворяет
qn
Aq (n, d) ≤ Pt i i
i=0 Cn (q − 1)

Доказательство.
Если код способен исправлять t ошибок, то вокруг всех кодовых слов можно описать хемминговы шары
радиуса t, не пересекающиеся друг с другом

d
При n → ∞ скорость q-ичного кода удовлетворяет R ≤ 1 − hq ( 2n ), где
hq (x) = −x logq x − (1 − x) logq (1 − x)
Аппроксимация Стирлинга n! ≈ 2n log2 n+o(1)
n n q n ⌊(d−1)/2⌋!(n−⌊(d−1)/2⌋)!
Aq (n, d) ≤ Pt Cq i (q−1)i ≤ ⌊(d−1)/2⌋q (d−1)/2
= n!(q−1)(d−1)/2

i=0 n Cn (q−1)
n log2 q+ d−1 log ( d−1
)+(n− d−1
) log (n− d−1
)−n log n−(d−1)/2 log 2 (q−1)
2 2 2 2 2 2 2 2
logq Aq (n,d) δ
R= n
≤ logq 2(log2 q + δ log2 δ + (1 − δ) log2 (1 − δ) − 2
log2 (q − 1)), δ = (d − 1)/n ≈ d/n
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 37 / 43
Границы

Граница Варшамова-Гилберта

Теорема
Существует q-ичныйn
код длины n с минимальным расстоянием d, число слов которого удовлетворяет
Aq (n, d) ≥ Pd−1 q i i
i=0
Cn (q−1)

Доказательство.
Если код C имеет максимальную мощность, для любого вектора x ∈
/ C существует кодовое слово
c : d(x, c) ≤ d − 1
Итеративное построение кода:
1 A := GF (q)n (q n различных векторов) +

2 Выберем произвольный вектор c ∈ A и добавим его в код


3 Удалим из A шар радиуса d − 1 с центром в c. Число элементов в шаре
Pd−1 i i
i=0 Cn (q − 1)
+
+

Число удаляемых элементов может быть меньше, т.к. некоторая часть шара +
+
могла быть удалена ранее +

4 Если A не пусто, перейти к п. 2 +

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 38 / 43
Границы

Граница Варшамова-Гилберта для линейных кодов

Теорема
P
Если выполняется q r > d−2 i i
i=0 Cn−1 (q − 1) , то существует линейный код над GF (q) длины n с
минимальным расстоянием не менее d и не более чем r = n − k проверочными символами

Доказательство.
Построим (n − k) × n матрицу H, т.ч. любые ее d − 1 столбцов ЛНЗ
Первый столбец –– произвольный ненулевой вектор
Если уже выбраны j столбцов, в качестве (j + 1)-го не могут использоваться
Pd−2 i никакиеi линейные
комбинации любых d − 2 выбранных столбцов, число которых равно i=0 Cj (q − 1)
Если запрещены еще не все q n−k векторов, можно выбрать еще один столбец

Существует (n, k, d) код над GF (q), где Aq (n, d) ≥ q k , где k — наибольшее целое, т.ч.
qn n
k
q < Pd−2 i i
Граница ВГ для произвольных кодов: Aq (n, d) ≥ Pd−1 q i i
i=0 Cn−1 (q−1) i=0 Cn (q−1)
Существует бесконечная последовательность двоичных линейных кодов со скоростью R ≤ 1 − h(d/n)
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 39 / 43
Границы

Граница Плоткина
Рассмотрим (n, k) двоичный код с порождающей матрицей G
Для любого i число кодовых слов c = xG : ci = 1 равно 2k−1 или 0
Если i-ый столбец G отличен от 0, можно получить эквивалентную порождающую матрицу
G′ = QG : G′0i = 1, G′ji = 0, 0 < j < k. Тогда ∀x : x0 = 0 : (xG′ )i = 0 и ∀x : x0 = 1 : (xG′ )i = 1
n2k−1
Для любого линейного кода 2k −1
≥d
Pn−1 P k−1
W = i=0 x∈GF (2)k \{0} (xG)i ≤ n2
W
Средний вес ненулевых кодовых слов 2k −1
не может быть меньше минимального веса d ненулевого
кодового слова
d
При больших k выполняется n . 21
Максимально возможное число K(n, d) информационных символов кода длины n с минимальным
расстоянием d удовлетворяет K(n, d) ≤ K(n − 1, d) + 1
Рассмотрим (n, k, d) код с наибольшим возможным значением k = K(n, d) с порождающей матрицей
G = (I|A)
Пусть G′ — матрица, полученная вычеркиванием из G нулевой строки и нулевого столбца
G′ порождает (n − 1, k − 1, d) код ⇒ K(n − 1, d) ≥ K(n, d) − 1
Граница Плоткина: для больших n для любого (n, Rn, δn) кода R ≤ 1 − 2δ
K(n, d) ≤ K(2d − 1, d) + n − 2d + 1
d
δ = 2d−1 > 1/2 ⇒ длинных кодов с R > 0 и относительным расстоянием δ не существует, т.е.
limn→∞ K(2d − 1, d)/n = 0
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 40 / 43
Границы

Граница Грайсмера
N (k, d) –– минимальная длина двоичного линейного кода размерности k с минимальным расстоянием d

Теорема
N (k, d) ≥ d + N (k − 1, ⌈d/2⌉)

Доказательство.
Будем считать, что порождающая матрица (n, k, d) кода C наименьшей длины n = N (k, d) имеет вид
 
0 0 0 ··· 0 0 0 1 1 1 ··· 1 1 1

G ∗
G= | {z }| {z }
N(k,d)−d d

G′ порождает код (n − d, k − 1, d′ ). Пусть (u|v) ∈ C, wt(u) = d′ ⇒ d′ + wt(v) ≥ d


(u|1 − v) ∈ C ⇒ d′ + d − wt(v) ≥ d ⇒ 2d′ ≥ d ⇒ d′ ≥ ⌈d/2⌉ ⇒ N (k − 1, ⌈d/2⌉) ≤ N (k, d) − d

  k−1
X d 
d
N (k, d) ≥ d + N (k − 1, ⌈d/2⌉) ≥ d + + N (k − 2, ⌈d/4⌉) ≥ · · · ≥
2 i=0
2i
д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 41 / 43
Границы

Границы для двоичных кодов


 q 
1 d d
Граница Мак-Элиса-Родемича-Рамсея-Велча: R ≤ h 2
− n
(1 − n
)
1
гр. Синглтона
гр. Хэмминга
гр. Мак-Элиса-Родемича-Рамсея-Велча
гр. Плоткина
гр. Бассалыго-Элайеса
0.8 гр. Варшамова-Гилберта

0.6
R=k/n

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5
d/n

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 42 / 43
Границы

Заключение

Задачей теории кодирования является построение методов кодирования данных, позволяющих


восстановить их после передачи по зашумленному каналу
Основные параметры кода
Алфавит
Число кодовых слов
Длина
Минимальное расстояние
Линейные коды допускают компактное задание
Основные параметры линейного кода
Конечное поле GF (q)
Размерность k
Длина n
Скорость r = k/n
Минимальное расстояние
Существуют фундаментальные ограничения на параметры кодов
Декодирование линейных кодов в общем случае является NP-полной задачей
Весовой спектр дуального кода может быть найден из весового спектра исходного кода

д.т.н. Трифонов П.В. (Университет ИТМО) Теория помехоустойчивого кодирования 1 сентября 2023 г. 43 / 43

Вам также может понравиться