
- •1. Определение кода и способа корректирующего (помехоустойчивого) кодирования информации. Основные параметры кодов.
- •2. Общая классификация кодов, способов построения и алгоритмов декодирования.
- •3. Линейные блоковые коды: определение и основные свойства.
- •4. Порождающая матрица группового кода : определение, назначение, классификация и основные свойства.
- •5. Проверочная матрица группового кода: определение, назначение, классификация, основные свойства и ее взаимосвязь с порождающей матрицей.
- •8. Циклические коды: определение, классификация, основные свойства и способы задания или построения.
- •9. Классификация алгоритмов декодирования циклических кодов. Поясните сущность коэффициента энергетического выигрыша кодирования.
- •12. Матричные коды: определение, способы построения (формирования), основные параметры, достоинства и недостатки
- •13. Итеративные коды: определение, способы построения, основные параметры, достоинства и недостатки.
- •14. Каскадные коды: определение, классификация, основные параметры, достоинства и недостатки.
- •15. Турбокоды: определение, назначение, классификация, основные параметры двухкомпазиционного сверточного турбокода с и , достоинства и недостатки.
- •16. Поясните сущность алгоритмов жесткого и мягкого декодирования помехоустойчивых кодов(пмк), достоинства и недостатки данных алгоритмов.
- •17. Поясните сущность мажоритарного алгоритма декодирования циклического кода при формировании систем раздельных и связанных проверочных уравнений.
- •20. По данным значениям и сформировать кодовую последовательность и определить ее принадлежность к типу кода.
- •22. Определение, параметры и классификация сверточных кодов
- •25 По разностным треугольникам (1,5,6) и (2,4,7) определите параметры сверточного кода с алгоритмом порогового декодирования.
8. Циклические коды: определение, классификация, основные свойства и способы задания или построения.
Циклические коды являются подклассом в классе линейных блоковых кодов, удовлетворяющих определенным требованиям. Были предложены Прейнджом. Свое название данные коды получили по причине того, что основной операцией построения кодовых последовательностей (Fi(x)) является цикл, а точнее циклическая перестановка двоичных символов разрешенных кодовых последовательностей. На основе цикла обеспечивается как формирование код-вых последовательностей так и декодирование.
Циклическим кодом называется такой групповой линейный код, у которого в результате циклического сдвига кодовых символов в разрешенной кодовой комбинации на 1,2,…,k-1 разрядов формируются разрешенные кодовые комбинации. Циклический код может задаваться с использованием порождающей и проверочной матриц, порождающего и проверочного полиномов, а также корней порождающего полинома и остатков от деления.
Основные свойства циклических кодов:
1. Вес (wк.п) разрешенной кодовой последовательности ≥ d0;
2. Вес проверочной части wпр.ч разрешенной кодовой последовательности ≥ d0-1;
3. Сдвиг кодовых символов разрешенной кодовой последовательности влево или вправо на 1, 2,…, (k-1) символ вновь приводит к разрешенной кодовой последовательности. Если же при циклическом сдвиге всегда будет получатся новая кодовая последовательность, то такой код будет называться квазициклическим;
4. Разрешенная кодовая последовательность без ошибок Fр'(x) при делении на полином P(x) дает нулевой остаток, т.е. Fр'(x)/P(x)=R(x)=0 и R(x) не равно 0 – при наличии ошибок;
5. Сумма по модулю два символов 2, 3,…, (k-1) разрешенных кодовых последовательностей вновь образует разрешенную кодовую последовательность;
6. Двучлен вида xn +1 должен делиться на порождающий полином P(x) без остатка (имеется в виду обычная операция деления многочленов);
7. Результат деления двучлена xn+1 на образующий полином P(x) дает полином, который носит название проверочного полинома и обозначается как h(x), т.е. h(x)=(xn+1)/P(x);
8. Если все операции над полиномами (кодовыми последовательностями) проводятся в двоичном поле Галуа (GF(2)), т.е. действия над коэффициентами полиномов осуществляется по модулю два, а умножение полиномов производитсяпо модулю образующего полинома P(x), то применение указанных операций не приводит к кодовым последовательностям, длина которых больше длины заданного кода, т.е. “n”;
Классификация циклических кодов:
1. Коды Хэмминга, как правило используемые для коррекции случайных ошибок;
2. БЧХ-коды – дальнейшее развитие кодов Хэмминга. Используются для коррекции случайных и пакетных ошибок;
3. Коды Файра. Используются для коррекции пакетных ошибок;
4. Коды Рида-Майлера. Исп-ся для коррекции ошибок (случайных и пакетных), а также для формирования сложных сигналов;
5. Коды Рида-Соломона. Исп-ся для коррекции модульных ошибок.
9. Классификация алгоритмов декодирования циклических кодов. Поясните сущность коэффициента энергетического выигрыша кодирования.
Циклические коды декодируются с помощью следующих алгоритмов:
1.мажоритарное
2. синдромное
Мажоритарное:
-Формирование системы разделенных проверок (СРП)
- Формирование системы связанных проверок (ССП)
- Формирование системы квазиразделенных проверок
СРП:
1. аi символ должен входить во все проверки
2.аj(i не=j) должен входить в проверки по одному разу
Кол-во уравнений: 2*tисп+1=N
ССП:
1.аi должен входить во все проверки
2.аj(i не=j) должен входить в лямбда(коэффициент связности) проверок
коэффициент энергетического выигрыша кодирования:
q=(E/N0)*F*t=(Pc/Pш)*F*t=энергия сигнала/спектр. плотность мощности шума
выйгрыш от кодирования оценивается lg отношения энергия сигнала к спектр. плотности мощности шума, необходимым для обеспечения заданной вероятности ошибок в системе передачи без кодирования к аналогичному значению в системе с кодированием.
q1=(Pc/Pш)БК*F*t
q2=(Pc/Pш)К*F*t
ЭВК =10(lg (Рс/Рм) Бк – lg(Рс/Рм)к
10. БЧХ-коды: определение, способы построения, алгоритм декодирования, достоинства и недостатки.
Коды Боузе-Чоудхури-Хоквингема (БЧХ-коды) являются дальнейшим развитием линейных блоковых кодов Хэмминга, относятся к классу циклических кодов и обеспечивают коррекцию как независимых, так и группирующихся (пакетных) ошибок.
Циклический двоичный код длины n=2ε–1 двоичных символов называется примитивным БЧХ-кодом с конструктивным кодовым расстоянием d=2·t+1, если его образующий полином равен P(x)=НОК[m1(x), m3(x), …, m2t-1(x)], где mi(x) – минимальный примитивный полином степени ε=log2(n + 1). Максимальная степень P(x) и, следовательно, число проверочных символов не более l<ε·tисп двоичных символов (tисп – кратность исправляемых ошибок), а число информационных символов равно k=n–ε·tисп двоичных символов.
Из определения БЧХ-кода следует, что корнями P(x) являются элементы α,α3,α5,…α2tисп-1, а также α2,α4,α6,…α2tисп, т.е. 2tисп последовательных степеней α. Поэтому конструктивное кодовое расстояние кода равно 2tисп+1.
БЧХ-коды могут задаваться с использованием порождающей и проверочной матриц, порождающего (образующего) и проверочного полиномов, а также корнями порождающего (образующего) полиномов.
Для того, чтобы выполнялось основное условие F’(x)∙HT(x)=0, проверочная матрица БЧХ-кода должна иметь вид:
Алгоритм декодирования двоичных БЧХ-кодов, исправляющих все конфигурации ошибок кратности t (t>l) двоичных символов, состоит из выполнения трех этапов, а именно [3,7,8]:
-первый этап декодирования предусматривает вычисление каждого компонента синдрома Si с нечетным номером путем деления принятой кодовой последовательности Fi(x) на минимальный полином mj(x) элемента αi и вычисление значения остатка от деления Ri(x) в точке х= αi: Si=F(αi)=R(αi);
-второй этап декодирования предусматривает по полученному синдрому определение полинома локаторов ошибок вида,
-третий
этап декодирования включает коррекцию
ошибок при условии, что кратность ошибок
не превосходит значения t
и
номера позиций искаженных информационных
символов обратны корням полиномов
(z).
При декодировании БЧХ-кодов сложность схем коррекций при t≥3 резко возрастает. Поэтому коррекция многократных ошибок с помощью БЧХ-кодов на практике используется достаточно редко.
11. РС-коды: определение, способы построения, основные параметры, алгоритмы декодирования и области применения.
Коды Рида–Соломона.
Коды, имеющие следующую структуру:
H=[hi h2i h3ih 4i…].
HБЧХ=[ai a3i a5ia7i…].
РС-коды являются частным случаем БЧХ-кодов, но обеспечивают минимальную избыточность.
РС – не двоичные, групповые, циклические коды, которые задаются порождающим полиномом следующего вида P(x)=(x-aj0)(x-aj1)… (x-aj+2t-1)
(x-aij) – двучлен определяющий максимальную длину кодовой последовательности
t – кратность исправляемых ошибок
На практике широкое применение для задания РС кода, получили проверочная матрица
Н(x)= [ h0 h1 h2 … hf IВ 0] IВ – единичная проверочная матрица
[ h0 h2 h4 … h2f 0 IВ]
Код
Рида — Соломона
над
,
исправляющий
ошибок,
требует
проверочных
символов и с его помощью исправляются
произвольные пакеты ошибок длиной
и
меньше.
Код (РС) — это очень эффективный и удобный в реализации (k, N)-блочный код, позволяющий обнаруживать и исправлять ошибки в байтах. Входным словом для него является блок из k байтов, выходным — кодовое слово из N байтов, состоящее из k исходных и N-k проверочных байтов. При этом гарантировано, что при декодировании в кодовом слове будут обнаружены и исправлены t=(N-k)/2 байтов независимо от их расположения внутри кодового слова. Параметр t - корректирующая способность кода. Кодер РС реализуется на основе регистра сдвига с 2t байтовыми элементами памяти и обратными связями. Процесс кодирования сводится к операциям сложения и умножения по модулю 256.
Основные параметры
1) n= t m *(2^ t m + 1) бит (длина кодовой комбинации)
2) к= t m *(2^ t m – 1) бит (информационный символ)
3) d0 = n-k+1(минимальное кодовое расстояние)
4) L=2* t m +1 (количество проверочных символов)
Формирование кодовой комбинации
F(x)=Q(x)*G(x)
Q(x)=x^(k-1)+ x^(k-3)+…+1
S(x)=F’(x)*HT(x)
Область применения: обеспечивает коррекцию пакетных ошибок,
Данные коды являются подмножеством БЧХ-кодов и задаются с помощью порождающего полинома:
,
i
– любое, t
– кратность
корректируемого модуля ошибок.
Например, найдем
для (15;11) PC-кода с
над
. Пусть
, тогда
.
Следовательно, r=n-k=4, k = 11 из , что эквивалентно 44 двоичным символам, а все кодовое слово является набором из 60 бит.
Пусть
, найдем для PC-кода (7;3) с над
. Тогда
.
Информационный многочлен – последовательность восьмеричных символов (что эквивалентно девяти битам).
Предположим, что
.
В этом случае кодовое слово неразделимого циклического кода имеет вид
что
представляет собой последовательность
семи восьмеричных символов (73=21
бит).
Кодирование и декодирование циклических PC-кодов осуществляется так же, как и БЧХ-кодов, и реализуется на основе регистров сдвига без и с обратными связями.
Алгоритм декодирования
циклического кода, исправляющего
одиночные пакеты ошибок длины
,
состоит в следующем.
1. Вычисляется
синдром
принятого сообщения
.
2. Если
– считаем, что ошибок не произошло.
3. При
,
.
4. Определяется
степень
многочлена
.
5. Если
,
то считаем, что многочлен ошибок
,
и производится операция коррекции
.
6. Если
,
то вычисляем
и переходим к п.4 с
.
Коды Рида–Соломона
Коды Рида–Соломона (PC-коды) получили широчайшее применение в различных системах передачи и хранения информации, особенно в качестве подкодов каскадных кодов для контроля зависимых ошибок.