Линейный код: различия между версиями

Нет изменений в размере ,  7 лет назад
м
орфография с помощью AWB
(викификация)
м (орфография с помощью AWB)
Нетрудно видеть, что приведённые требования противоречат друг другу. Именно поэтому существует большое количество кодов, каждый из которых пригоден для своего круга задач.
 
Практически все используемые коды являются [[линейное отображение|линейными]]. Это связано с тем, что нелинейные коды значительно сложнее исследовать, и для них трудно обеспечить приемлемую легкостьлёгкость кодирования и декодирования.
 
== Линейные пространства ==
 
 
ПриведеннуюПриведённую [[Система линейных алгебраических уравнений|систему линейных уравнений]] следует рассматривать как систему проверок для всех векторов линейного пространства, поэтому матрица <math>\mathbb{H}</math> называется проверочной матрицей.
 
== Формальное определение ==
С помощью порождающего полинома осуществляется кодирование циклическим кодом. В частности:
 
* ''несистематическое кодирование'' осуществляется путемпутём умножения кодируемого вектора на <math>g(x)</math>: <math>v(x) = u(x) g(x)</math>;
 
* ''систематическое кодирование'' осуществляется путемпутём «дописывания» к кодируемому слову остатка от деления <math>x^{n-k} u(x)</math> на <math>g(x)</math>, то есть <math>v(x) = x^{n-k} u(x) + [x^{n-k} u(x) \mod g(x)]</math>.
 
=== Коды CRC ===
Коды [[CRC]] (cyclic redundancy check — циклическая избыточная проверка) являются ''систематическими'' кодами, предназначенными не для исправления ошибок, а для их обнаружения. Они используют способ систематического кодирования, изложенный выше: «контрольная сумма» вычисляется путемпутём деления <math>x^{n-k} u(x)</math> на <math>g(x)</math>. Ввиду того, что исправление ошибок не требуется, проверка правильности передачи может производиться точно так же.
 
Таким образом, вид полинома g(x) задаёт конкретный код CRC. Примеры наиболее популярных полиномов: