В теории кодирования систематический код — это любой код с исправлением ошибок, в котором входные данные встроены в закодированные выходные данные. И наоборот, в несистематическом коде выходные данные не содержат входных символов.
Преимущество систематических кодов состоит в том, что данные четности можно просто добавить к исходному блоку, и получателям не нужно восстанавливать исходные исходные символы, если они получены правильно – это полезно, например, если кодирование с коррекцией ошибок сочетается с хеш-функцией для быстрое определение правильности полученных исходных символов или в случаях, когда возникают ошибки при стирании и, таким образом, полученный символ всегда является правильным. Кроме того, для инженерных целей, таких как синхронизация и мониторинг, желательно получить достаточно хорошие оценки принятых исходных символов без прохождения длительного процесса декодирования, который может быть выполнен на удаленном объекте позднее. [1]
Характеристики
Любой несистематический линейный код можно преобразовать в систематический код с по существу теми же свойствами (т. е. минимальным расстоянием). [1] [2]
Поэтому из-за упомянутых выше преимуществ линейные коды с исправлением ошибок обычно реализуются как систематические коды. Однако для некоторых алгоритмов декодирования, таких как последовательное декодирование или декодирование с максимальным правдоподобием, несистематическая структура может повысить производительность с точки зрения вероятности необнаруженной ошибки декодирования, когда минимальное свободное расстояние кода больше. [1] [3]
Для систематического линейного кода порождающая матрица всегда может быть записана как , где – единичная матрица размера .
Примеры
- Контрольные суммы и хэш-функции в сочетании с входными данными можно рассматривать как систематические коды обнаружения ошибок.
- Линейные коды обычно реализуются как систематические коды с исправлением ошибок (например, коды Рида-Соломона на компакт-дисках ).
- Сверточные коды реализуются как систематические или несистематические коды. Несистематические сверточные коды могут обеспечить лучшую производительность при декодировании с максимальным правдоподобием ( Витерби ).
- В DVB-H для дополнительной защиты от ошибок и повышения энергоэффективности мобильных приемников в качестве кода стирания пакетов в пакете данных используется систематический код Рида-Соломона , где каждый пакет защищен CRC : данные в проверенных пакетах считаются как правильно принятые символы, и если все они приняты правильно, оценку дополнительных данных четности можно опустить, и приемные устройства могут отключить прием до начала следующего пакета.
- Фонтанные коды могут быть систематическими или несистематическими: поскольку они не имеют фиксированной скорости кодирования , набор исходных символов уменьшается среди возможного выходного набора.
Примечания
- ^ abc Джеймс Л. Мэсси , Дэниел Дж. Костелло-младший (1971). «Несистематические сверточные коды для последовательного декодирования в космических приложениях». Транзакции IEEE по коммуникационным технологиям . 19 (5): 806–813. дои : 10.1109/TCOM.1971.1090720. S2CID 51650729.
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Ричард Э. Блаут (2003). Алгебраические коды для передачи данных (2-е изд.). Кембридж. унив. Нажимать. стр. 53–54. ISBN 978-0-521-55374-2.
- ^ Шу Линь; Дэниел Дж. Костелло-младший (1983). Кодирование с контролем ошибок: основы и приложения . Прентис Холл . стр. 278–280. ISBN 0-13-283796-Х.
Рекомендации
- Шу Линь; Дэниел Дж. Костелло-младший (1983). Кодирование с контролем ошибок: основы и приложения . Прентис Холл . стр. 278–280. ISBN 0-13-283796-Х.