Какой код способен на приемной стороне формировать пакеты ошибок

Какой код выполняемой функции указать в; СЗВ? ТД — СКБ Контур

Какой код выполняемой функции указать в СЗВ? ТД

С 1 июля 2021 года изменится бланк СЗВ-ТД, его порядок заполнения и электронный формат. Много вопросов вызывает графа «Код выполняемой функции», которая теперь стала обязательной для заполнения. Расскажем, как выбрать правильный код.

ПФР сообщил, что новая форма СЗВ-ТД будет применяться с 1 августа. Срок перенесли на месяц из-за сложной эпидемиологической ситуации. Читать подробнее.

Новый бланк СЗВ-ТД

Новая форма СЗВ-ТД утверждена постановлением Правления ПФР от 25.12.2019 № 730п в редакции постановления от 27.10.2020 № 769п. Она вступает в силу с 1 июля 2021 года, а до этого отчитывайтесь по-старому.

Код выполняемой функции в СЗВ-ТД

Графа 6 «Код выполняемой функции» станет обязательной для заполнения. По новым правилам в ней надо указывать кодовое обозначение занятия, соответствующее занимаемой должности (профессии), виду трудовой деятельности, осуществляемой на рабочем месте при исполнении трудовых функций (п. 2.5.5 порядка заполнения).

Код выполняемой функции (далее — КВФ) указывается в виде пяти цифр в формате «XXXX. X», где:

Как пользоваться классификатором занятий

В ОКЗ коды и наименования представлены в виде таблицы:

Общая схема кодирования в ОКЗ имеет вид: XXXX X, где:

4-значный код наименования группы занятий подразумевает наличие четырех ступеней и указывает на принадлежность к основной группе — подгруппе — малой группе — начальной группе.

Первая цифра кода указывает, к какой основной группе относится занятие:

Основные группы классифицированы не по отраслям, а по уровню квалификации. Если профессия работника — водитель трамвая, то КВФ для него следует искать в основной группе 8 «Операторы производственных установок и машин, сборщики и водители». Если должность предполагает наличие высшего образования или учёной степени, то код надо искать в основной группе 2 «Специалисты высшего уровня квалификации».

Вторая цифра указывает на подгруппу внутри основной группы. Означает принадлежность занятий к сфере или области деятельности. Она отражает специфику занятий — по области требуемых знаний, особенностям технологических или бизнес-процессов, используемым машинам и инструментам, обрабатываемым или используемым материалам, видам производимых товаров или услуг. Например, в основной группе 2 «Специалисты высшего уровня квалификации» выделены такие подгруппы:

Подгруппы включают в себя малые группы, где виды занятий сгруппированы с учётом более глубокой специализации. На принадлежность к малой группе указывает Третья цифра кода. Например, в подгруппе 24 «Специалисты в сфере бизнеса и администрирования» выделены такие малые группы:

И наконец, Четвёртая цифра указывает на принадлежность к начальной группе в рамках малой группы. На этом уровне самая большая детализация. Так, в малой группе 241«Специалисты по финансовой деятельности» можно увидеть следующие коды наименований начальных групп занятий:

В отдельной графе таблицы указывается контрольное число. Всё вместе — четыре цифры кода начальной группы и контрольное число — это код выполняемой функции, который надо указать в графе 6 СЗВ-ТД.

В ОКЗ содержатся коды не конкретных должностей или профессий, а обобщённых групп занятий. Поэтому они не будут совпадать с наименованиями штатных единиц. Например, в штатном расписании должности называются «Бухгалтер по расчёту с контрагентами», «Старший бухгалтер по расчёту заработной платы», а КВФ для них будет один — 2411.6 «Бухгалтеры».

В ОКЗ приведены описания групп занятий, включающие характерные работы и обязанности для групп соответствующего уровня, а для начальных групп (с четырехзначным кодом) есть примеры занятий. Это позволит более точно классифицировать занятия и однозначно определить принадлежность к группе.

Ищите код выполняемой функции в Нормативе — это удобнее

Эксперты сервиса Контур. Норматив заметили, что пользователям сложно сориентироваться в стандартном классификаторе, поэтому улучшили его.

Можно искать подходящий код по ключевым словам

Для этого достаточно ввести слово в строку поиска и просмотреть страницы классификатора, на которых это слово встречается.

Иногда придется подумать подольше, чтобы понять, какими словами Росстандарт мог обозначить подходящий род занятий. Например, должности оператора диспетчерской службы (гараж, автомобили, сельскохозяйственная техника) в классификаторе нет, а в таблице по слову «диспетчер» показан только неподходящий авиационный диспетчер. Поэтому надо искать на следующих страницах, нажимая на стрелочки в строке поиска. Так найдется группа занятий 4323 «Служащие по транспортным перевозкам», в которую входит диспетчер учетный (транспортные услуги).

Удобная навигация

Из таблицы можно сразу перейти к начальной группе занятий и прочитать описание. Для этого есть кнопка «Перейти к описанию начальной группы». Это важно для самопроверки.

Например, по ключевому слову «кассир» классификатор первым делом предлагает начальную группу 4211 «Кассиры банков и работники других родственных занятий». Переходим в описание и видим, что для кассира из супермаркета эта группа не подходит, а сам классификатор рекомендует другую группу — 5230 «Кассиры, включая кассиров билетных касс».

Контрольное число и готовый код для СЗВ-ТД в одном месте

В каждой начальной группе после названия выделены контрольное число, полный код и код для отражения в СЗВ-ТД. Теперь не придется каждый раз возвращаться к общей таблице со списком, чтобы найти в ней контрольное число для соответствующей начальной группы занятий, а уж тем более рассчитывать его самостоятельно.

Не пропустите новые публикации

Подпишитесь на рассылку, и мы поможем вам разобраться в требованиях законодательства, подскажем, что делать в спорных ситуациях, и научим больше зарабатывать.

Не пропустите новые публикации

Подпишитесь на рассылку, и мы поможем вам разобраться в требованиях законодательства, подскажем, что делать в спорных ситуациях, и научим больше зарабатывать.

Самые важные статьи на почту раз в месяц

Елена, Вам не надо рассчитывать контрольное число. Достаточно взять код из таблицы «ОСНОВНЫЕ ГРУППЫ, ПОДГРУППЫ, МАЛЫЕ И НАЧАЛЬНЫЕ ГРУППЫ».
В графу 6 СЗВ-ТД нужно ставить пятизначный код (4 знака сам код и 1 знак контрольное число), поэтому выбирайте только те, где в графе Код четыре знака, а в графе КЧ стоит контрольное число.
Для примера фрагмент из таблицы:
14 __ 9 Руководители в гостиничном и ресторанном бизнесе, розничной и оптовой торговле и родственных сферах обслуживания
141 _ 1 Руководители отелей (гостиниц) и ресторанов
1411 5 Руководители отелей (гостиниц)
1412 9 Руководители ресторанов (вагонов-ресторанов)
142 _ 4 Руководители (управляющие) в розничной и оптовой торговле
1420 4 Руководители (управляющие) в розничной и оптовой торговле
143 _ 7 Руководители в других сферах обслуживания
1431 0 Руководители культурных центров и других мест отдыха
1432 4 Руководители организаций физической культуры и спорта
1439 0 Руководители иных сфер обслуживания, не входящие в другие группы

В их обязанности входит:
— патрулирование помещений и проверка дверей, окон и ворот для предотвращения и выявления признаков несанкционированного доступа;. «

В их обязанности входит:
— заполнение топливных баков и емкостей до уровня, указанного клиентом;
— проверка и повышение давления в шинах, уровней масла и других жидкостей в автотранспортных средствах;
— мытье ветровых стекол и окон автотранспортных средств;
— проведение мелкого ремонта автотранспортных средств, включая замену шин, электроламп и щеток стеклоочистителей;
— техническое обслуживание и эксплуатация установок для автоматической мойки машин;
— получение оплаты от клиентов за покупки;
— очистка топливных насосов и уборка прилегающих подъездных путей, магазинов и объектов;
— контроль запасов и подготовка отчетов о проданном топливе, масле, аксессуарах и других проданных изделиях.

В их обязанности входит:
— организация работы и контроль за деятельностью персонала, занимающегося уборкой и хозяйственными функциями (горничные, уборщики, прислуга), рекомендации по найму, обучению и увольнению работников;
— приобретение или контроль за приобретением и расходованием материалов;
— контроль сохранности и выдачи материалов;
— обеспечение порядка и соблюдения установленных правил;
— ручная уборка или с использованием пылесоса, мытье и полировка полов, мебели и других конструкций;
— заправка постелей, уборка ванных комнат, смена полотенец, мыла и сопутствующих изделий;
— уборка кухонь и оказание помощи на кухне в целом, включая мытье посуды;
— пополнение запасов в мини-барах и изделий, таких как стаканы и пишущие приборы.

Смотрители зданий и персонал родственных занятий осуществляют уход за жилыми домами, гостиницами, офисами, церквями и другими зданиями, поддерживают их и прилегающие территории в чистоте и порядке, а также выполняют работы по несложному ремонту и техническому обслуживанию внутренних помещений здания. Они могут осуществлять руководство другими работниками и подрядчиками в зависимости от объемов и характера подведомственных зданий.

В их обязанности входит:
— надзор за работой персонала и подрядчиков при проведении уборки, поддержании чистоты и порядка, эксплуатационном содержании зданий;
— принятие участия в уборке, несложном ремонте и техническом обслуживании внутренних помещений зданий;
— обслуживание печей и котельных для обеспечения снабжения теплом и горячей водой;
— воздействие на поведение арендаторов и гостей с целью снижения уровня шумов или плохого обращения с имуществом;
— оказание отсутствующим арендаторам небольших услуг, в том числе получение посылок от их имени или предоставление по телефону запрашиваемой информации;
— уведомление управляющих и владельцев зданий о необходимости капитального ремонта;
— обход зданий в целях обеспечения их безопасности;
— заполнение регистрационных бланков и выдача арендаторам копий правил поведения.

Добрый вечер! Помогите пожалуйста определить код трудовой деятельности сторожа гаражного кооператива.

В их обязанности входит:
— выяснение предпочтений клиентов и предоставление рекомендаций об ассортименте продукции, цене, доставке, гарантиях, применении продукции и уходе за ней;
— демонстрация и разъяснение клиентам товаров и услуг заведения;
— продажа товаров и услуг, прием оплаты с использованием различных способов оплаты, выписка счетов-фактур и регистрация продаж с использованием кассовых аппаратов и выдача чеков;
— оказание помощи при осуществлении управления текущими запасами, включая переучет, а также участие в инвентаризации;
— укладка и размещение товаров для продажи, укупорка и упаковка проданных товаров.

Бухгалтеры планируют, организовывают и заведуют системами бухгалтерского учета для организаций и физических лиц. Некоторые занятия, отнесенные к данной группе, связаны с изучением и анализом бухгалтерской и финансовой документации организаций и физических лиц для обеспечения точности и соответствия установленным стандартам и процедурам бухгалтерской отчетности.

В их обязанности входит:
— консультирование, планирование и внедрение бюджетного и бухгалтерского контроля, а также других политик и систем бухгалтерской деятельности;
— подготовка и заверение финансовых отчетов для представления руководству, акционерам и иным органам, предусмотренным законодательством;
— подготовка налоговых деклараций, консультирование по проблемам налогообложения и оспаривание спорных исков перед налоговыми инспекторами;
— подготовка или представление отчетности по прогнозированию доходов и бюджету;
— проведение финансовых исследований по таким вопросам, как предполагаемое мошенничество, несостоятельность и банкротство;
— проверка отчетности и бухгалтерских документов;
— проведение расследований и консультирование руководства по финансовым аспектам производительности, портфелям ценных бумаг, проблемам сбыта, новых товаров и тому подобным;
— разработка и контроль систем для определения себестоимости товаров и услуг.

Управляющие финансовой деятельностью направляют и координируют финансовую деятельность предприятия или организации в сотрудничестве с руководителями этих предприятий или организаций и руководителями других отделов или подразделений, а также организаций, предоставляющих финансовые услуги другим предприятиям и организациям.

В их обязанности входит:
— осуществление планирования, управления и координации финансовой деятельности предприятия или организации;
— оценка финансового положения предприятия или организации, подготовка бюджетов и контроль за финансовыми операциями;
— проведение консультаций с исполнительным директором и с руководителями других отделов или подразделений;
— разработка и управление бюджетами, контроль расходов и обеспечение эффективного использования ресурсов;
— разработка и руководство управленческими и административными процедурами;
— планирование и руководство повседневной деятельностью;
— контроль подбора, подготовки и использования персонала;
— представительство от имени предприятия или организации в отношениях с внешними органами и учреждениями.

А если их принимают на завод на определенную должность и они выполняют определенные обязанности, то надо искать по описаниям, что подходит.

Операторы паровых машин и бойлерных установок контролируют и управляют работой различных видов паровых машин, паровых котлов, турбин и вспомогательного оборудования для обеспечения энергией и другими коммунальными услугами жилых, торговых, промышленных зданий и иных учреждений, мест ведения строительных работ, самоходных судов.

В их обязанности входит:
— управление, очистка, смазывание и контроль работы паровых двигателей, котлов и вспомогательного оборудования, в том числе насосов, компрессоров и оборудования для кондиционирования воздуха для подачи и поддержания уровня пара и энергии для зданий, морских и речных судов или пневматических машин;
— анализ и запись показаний измерительных приборов, отыскание неисправностей и проведение мелкого ремонта для предотвращения выхода оборудования или системы из строя;
— слежение и контроль показателей работы оборудования для обеспечения эффективной работы и необходимого уровня кипящей воды, химических реагентов и топлива;
— разжигание угольных печей, а также газовых или масляных котлов с использованием автоматических газопроводов или масляных насосов;
— испытания качества воды для паровых котлов или обеспечение их испытаний, регулировки и принятия необходимых корректирующих мер, в том числе добавка химических реагентов для профилактики коррозии и опасных отложений;
— слежение за показаниями приборов при работе судовых двигателей, машин и оборудования, запись показаний и предоставление отчетов о неисправностях дежурному судовому инженеру-механику;
— эксплуатация и контроль работы разгрузочных гидравлических насосов и клапанов.

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

В их обязанности входит:
— организация и контроль получения и отправки товара и ведение соответствующей документации;
— ведение складских учетных записей, проверка запасов товаров, оценка потребностей и принятие заявок на новые партии для складирования;
— получение, хранение и выдача инструментов, запасных частей или другого оборудования и ведение соответствующего учета;
— взвешивание полученных, выданных, произведенных или отправленных товаров и ведение соответствующих записей;
— проведение инвентаризации мебели и других предметов, полученных на хранение.

Добрый день!
Подскажите, пожалуйста, коды:
— креативный продюсер
— менеджер отдела управления рекламными кампаниями
— Руководитель направления нестандартных партнерских продуктов
— Руководитель группы медиа
— Менеджер по спецпроектам

Заранее большое спасибо.

В их обязанности входит:
— определение, осуществление и мониторинг реализации планов закупок, хранения и распространения товаров;
— подготовка и осуществление планов по поддержанию необходимых уровней запасов при минимальных затратах;
— заключение договоров с поставщиками о требованиях к качеству, стоимости и доставке товаров;
— мониторинг и обзор систем хранения и учета товаров для удовлетворения требований поставки и хранения товаров;
— контроль за отправкой автотранспортных средств, поездов, морских или воздушных судов;
— внедрение систем учета для отслеживания всех движений товаров, а также обеспечения изменения структуры и пополнения запасов в оптимальные сроки;
— взаимодействие с другими отделами и клиентами по поводу требований к внешнему виду товаров и транспорта, обеспечивающего доставку;
— ведение учета сделок по приобретению, хранению и распределению товаров;
— разработка и управление бюджетами, контроль расходов и обеспечение эффективного использования ресурсов;
— создание и руководство оперативными и административными процедурами;
— планирование и руководство повседневной деятельностью;
— контроль подбора, подготовки и использования персонала.

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

Валерия, для технического директора может подойти код 1321 6 Руководители подразделений (управляющие) в обрабатывающей промышленности.

Руководители подразделений (управляющие) в обрабатывающей промышленности планируют, управляют и координируют производственную деятельность, связанную с производством товаров, производством и распределением электроэнергии, газа и воды, а также сбором, переработкой и утилизацией отходов. Они могут управлять производственными подразделениями крупных предприятий или быть руководителями малых производственных предприятий.

В их обязанности входит:
— определение производственных планов и программ, организация их осуществления и мониторинг выполнения;
— детальное планирование производственной деятельности в плане обеспечения качества и количества продукции, стоимости, рабочего времени и потребности в рабочей силе;
— управление работой производственного оборудования и качеством технологических процессов с помощью планирования технического обслуживания, рабочего времени и поставки запасных частей и инструментов;
— разработка и управление бюджетами, мониторинг объемов производства и затрат, а также регулировка технологических процессов и оптимизация ресурсов в целях минимизации затрат;
— консультирование и информирование других руководителей о производственных вопросах;
— надзор за приобретением и установкой новых машин и оборудования;
— контроль подготовки производственной документации и отчетов;
— координация соблюдения охраны труда и техники безопасности;
— выявление возможностей для бизнеса и определение продуктов, которые следует производить;
— изучение и внедрение нормативных материалов и требований законодательства, касающихся производства и охраны окружающей среды;
— контроль предоставления квот на производство специализированных товаров и подписание контрактов с клиентами и поставщиками;
— контроль подбора, подготовки и использования персонала.

А инженера попробуйте поискать тут https://normativ. kontur. ru/document? moduleId=1&documentId=393365#h3452 )
Малая группа 214
Специалисты в области техники, исключая электротехников

Занятия данной малой группы подразделяются на следующие начальные группы:
2141 Инженеры в промышленности и на производстве
2142 Инженеры по гражданскому строительству
2143 Инженеры по охране окружающей среды
2144 Инженеры-механики
2145 Инженеры-химики
2146 Горные инженеры, металлурги и специалисты родственных занятий
2149 Специалисты в области техники, не входящие в другие группы

Источники:

Https://kontur. ru/articles/6086

Характерной
особенностью циклических кодов является
способность к распознаванию пакетов
ошибок. Под пакетом ошибок понимается
группирование ошибок в одной ограниченной
области кодового слова (рис. 3.16). Пакет
ошибок можно описать многочленом вида

.

(3.75)

Е
сли
длина пакета ошибок не превосходит
величины r
= п
k,
то степень многочлена ошибок меньше r.
В этом случае е(Х)
не делится на
(Х)
без остатка и синдром принятого слова
всегда отличен от нулевого, следовательно,
пакет ошибок длины равной или меньшей
r
всегда распознается. Из теоремы 3.6.1
следует, что распознается также любой
циклический сдвиг многочлена В(Х)
степени, меньшей r,
т.е. и «концевой» пакет ошибок длины
меньшей или равной r
(рис. 3.17), всегда распознается.

Теорема 3.7.1.
Циклический (п,
k)-код
способен обнаруживать все пакеты ошибок
(в том числе концевые) длины r
= п
k
и меньше.

Помимо распознавания
всех пакетов ошибок длины r
и меньше циклические коды обладают
способностью обнаруживать большую
часть пакетов ошибок, длина которых
превосходит r.

Рассмотрим пакет
ошибок длины r
+ 1, начинающийся в j-ой
компоненте. Так как первая и последняя
компоненты пакета оши­бок отличны от
нуля, всего имеется 2r-1
возможных конфигураций ошибок.
Необнаружимой является только одна из
них, многочлен которой В(Х)
совпадает с
(Х),
то есть

.
(3.76)

Теорема 3.7.2.
Для циклического (п,
k)-кода
доля необнаружимых пакетов
ошибок
длины
l
= r
+ 1 = п
k+1
равна 2-(r-1).

Рассмотрим пакет
ошибок длины l>r+1=nk+1
начинающийся в j-ой
компоненте. Если соответствующий
многочлен В(Х)
делится на
(Х)
без остатка, то есть

,
(3.77)

то такой пакет не
может быть обнаружен.

Пусть коэффициенты
многочлена а(Х)
степени l
r
— 1 имеют вид a0,
a1,
…, alr1.
Так как пакет ошибок начинается и
заканчи­вается единицей, a0
= alr1.
Следовательно, существует 2lr2
наборов коэффициентов а(Х),
приводящих к необнаружимым ошиб­кам
в (3.77). С другой стороны, существует 2l2
различных пакетов ошибок длины l
и, таким образом, верно следующее
утверждение.

Теорема 3.7.3.
Для циклического (п,
k)-кода
доля необнаружимых пакетов ошибок длины
l>r
+ l = n
k
+ 1 равна 2r.

Пример:
Распознавание ошибок циклическим
(7,4)-кодом Хэм­минга.

Рассмотрим
циклический (7,4)-код Хэмминга из предыдущих
при­меров с r
= п
k
= 3. Так как минимальное кодовое расстояние
кода Хэмминга dmin
= 3, он способен обнаруживать все двойные
ошиб­ки или исправлять одиночные.
Рассматриваемый (7,4)-код Хэммин­га
является циклическим кодом и он способен
также обнаруживать все пакеты длины r
= 3. В частности, любые три следующие друг
за другом ошибки всегда обнаруживаются.

Доля необнаружимых
ошибок длины r
+ 1 = 4 равна 2-(3-1)
= 1/4. При пакетах ошибок с длиной большей
4, не распознается только 2-3
= 1/8 из них.

Замечание.
На практике,
как правило, используются циклические
коды с довольно большим числом проверочных
разрядов, например,
r
= п —
k
= 16. Доля необнаружимых пакетов ошибок
такими кодами достаточна мала. Так, при
r
= 16, обнаруживается более чем 99,9969 %
пакетов длины 17 и 99,9984 % пакетов длины
18 и выше.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Основные результаты теории помехоустойчивого кодирования получены в предположении, что передача информации
производится по симметричному каналу, для которого постулируется независимость
компонентов вектора ошибок как друг от друга, так и от передаваемых символов.
Эта удобная модель значительно упрощает теорию кодов, но зато не всегда
удовлетворительно отражает процессы
передачи информации.

В реальных каналах наблюдаются всплески
искажений, причинами которых могут быть, например, коммутационные помехи,
быстрые замирания радиосигнала. Чтобы приблизить модель
симметричного канала к действительности, вводится понятие пакета
ошибок.

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

Такая модель пакета в упрощенном виде,
без привлечения характеристик коррелированных случайных процессов описывает зависимость
отдельных искажений
друг от друга. Различают однократные и многократные пакеты в зависимости от того, сколько пакетов
искажают кодовое слово.

Для обнаружения и исправления пакетов ошибок
разработано много способов [33]. Так, для борьбы с пакетами ошибок используется перемежение
символов. Оно заключается в том, что символы одного кодового слова на передающей
стороне разносятся друг от друга (распределяются по времени) на расстояние,
превышающее длину пакета. В образовавшемся промежутке передаются символы других
кодовых слов, так что друг за другом следуют символы не одного, а разных кодовых
слов.

Пакет ошибок, действуя на  подряд следующих символов,
тем не менее, искажает только один
символ каждого кодового слова. В результате перемежения модель канала с
пакетами ошибок трансформируется в модель
канала с независимыми ошибками. На приемной стороне символы каждого
кодового слова выделяются из принятой последовательности, собираются вместе и декодируются по правилам,
рассчитанным на исправление независимых ошибок. Подробно вопросы построения
перемежителей рассмотрены в [26]. Здесь же поясним использование кодов РС для
обнаружения и исправления пакетов ошибок.

На рис. 5.4 схематично показаны
последовательность из  двоичных информационных символов  и случайно расположенный, одиночный
пакет ошибок длины .

Применение кодов РС, заданных над полем , основано на разбиении двоичной последовательности на  блоков, содержащих по
 двоичных символов. Эти блоки рассматриваются как
двоичное представление элементов поля  и, следовательно, кодированию
подвергается последовательность  информационных
символов. Видно, что такое укрупнение
уменьшает длину пакета искажений, действующих на символы . Если в двоичной последовательности
пакет может исказить  символов, то для символов кода РС максимальная кратность
ошибок снижается из-за случайного
расположения пакета приблизительно до .

Таким образом, задача обнаружения и
исправления пакетов ошибок сводится к использованию кода РС с кодовым расстоянием,
позволяющим исправлять ошибки кратности лишь до .
Процедура исправления в этом случае ничем
не отличается от исправления независимых ошибок. Для кодов РС также
возможно перемежение символов. В отличие от двоичных кодов, когда перемежение соответствует перестановке
одиночных двоичных символов, перемежение символов кода РС означает
перестановку блоков из  двоичных
символов.

Содержание

  • 1 Исправление ошибок в помехоустойчивом кодировании
  • 2 Параметры помехоустойчивого кодирования
  • 3 Контроль чётности
  • 4 Классификация помехоустойчивых кодов
  • 5 Код Хэмминга
    • 5.1 Декодирование кода Хэмминга
    • 5.2 Расстояние Хэмминга
  • 6 Помехоустойчивые коды
    • 6.1 Компромиссы при использовании помехоустойчивых кодов
    • 6.2 Необходимость чередования (перемежения)

Назначение помехоустойчивого кодирования – защита информации от помех и ошибок при передаче и хранении информации. Помехоустойчивое кодирование необходимо для устранения ошибок, которые возникают в процессе передачи, хранения информации. При передачи информации по каналу связи возникают помехи, ошибки и небольшая часть информации теряется. 

Без использования помехоустойчивого кодирования было бы невозможно передавать большие объемы информации (файлы), т.к. в любой системе передачи и хранении информации неизбежно возникают ошибки.

Рассмотрим пример CD диска. Там информация хранится прямо на поверхности диска, в углублениях, из-за того, что все дорожки на поверхности, часто диск хватаем пальцами, елозим по столу и из-за этого без помехоустойчивого кодирования, информацию извлечь не получится.

Использование кодирования позволяет извлекать информацию без потерь даже с поврежденного CD/DVD диска, когда какая либо область становится недоступной для считывания.

В зависимости от того, используется в системе обнаружение или исправление ошибок с помощью помехоустойчивого кода, различают следующие варианты:

  • запрос повторной передачи (Automatic Repeat reQuest, ARQ): с помощью помехоустойчивого кода выполняется только обнаружение ошибок, при их наличии производится запрос на повторную передачу пакета данных;
  • прямое исправление ошибок (Forward Error Correction, FEC): производится декодирование помехоустойчивого кода, т. е. исправление ошибок с его помощью.

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

Исправление ошибок в помехоустойчивом кодировании

Любое помехоустойчивое кодирование добавляет избыточность, за счет чего и появляется возможность восстановить информацию при частичной потере данных в канале связи (носителе информации при хранении). В случае эффективного кодирования убирали избыточность, а в помехоустойчивом кодировании добавляется контролируемая избыточность. 

Простейший пример – мажоритарный метод, он же многократная передача, в котором один символ передается многократно, а на приемной стороне принимается решение о том символе, количество которых больше.

Допустим есть 4 символа информации, А, B, С,D, и эту информацию повторяем несколько раз. В процессе передачи информации по каналу связи, где-то возникла ошибка. Есть три пакета (A1B1C1D1|A2B2C2D2|A3B3C3D3), которые должны нести одну и ту же информацию. 

мажоритарный метод

Но из картинки справа, видно, что второй символ (B1 и C1) они отличаются друг от друга, хотя должны были быть одинаковыми. То что они отличаются, говорит о том, что есть ошибка. 

Необходимо найти ошибку с помощью голосования, каких символов больше, символов В или символов С? Явно символов В больше, чем символов С, соответственно принимаем решение, что передавался символ В, а символ С ошибочный. 

Для исправления ошибок нужно, как минимум 3 пакета информации, для обнаружения, как минимум 2 пакета информации.

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

Первый параметр, скорость кода R характеризует долю информационных («полезных») данных в сообщении и определяется выражением: R=k/n=k/m+k

  • где n – количество символов закодированного сообщения (результата кодирования);
  •   m – количество проверочных символов, добавляемых при кодировании;
  •   k – количество информационных символов.

Параметры n и k часто приводят вместе с наименованием кода для его однозначной идентификации. Например, код Хэмминга (7,4) значит, что на вход кодера приходит 4 символа, на выходе 7 символов,  Рида-Соломона (15, 11) и т.д. 

Второй параметр, кратность обнаруживаемых ошибок – количество ошибочных символов, которые код может обнаружить.

Третий параметр, кратность исправляемых ошибок – количество ошибочных символов, которые код может исправить (обозначается буквой t).

Контроль чётности

Самый простой метод помехоустойчивого кодирования это добавление одного бита четности. Есть некое информационное сообщение, состоящее из 8 бит, добавим девятый бит. 

Если нечетное количество единиц, добавляем 0.

1 0 1 0 0 1 0 0 | 0

Если четное количество единиц, добавляем 1.

1 1 0 1 0 1 0 0 | 1

Если принятый бит чётности не совпадает с рассчитанным битом чётности, то считается, что произошла ошибка.

1 1 0 0 0 1 0 0 | 1 

Под кратностью понимается, всевозможные ошибки, которые можно обнаружить. В этом случае, кратность исправляемых ошибок 0, так как мы не можем исправить ошибки, а кратность обнаруживаемых 1. 

Есть последовательность 0 и 1, и из этой последовательности составим прямоугольную матрицу размера 4 на 4. Затем для каждой строки и столбца посчитаем бит четности. 

Прямоугольный код – код с контролем четности, позволяющий исправить одну ошибку:

прямоугольный код

И если в процессе передачи информации допустим ошибку (ошибка нолик вместо единицы, желтым цветом), начинаем делать проверку. Нашли ошибку во втором столбце, третьей строке по координатам. Чтобы исправить ошибку, просто инвертируем 1 в 0, тем самым ошибка исправляется. 

Этот прямоугольный код исправляет все одно-битные ошибки, но не все двух-битные и трех-битные. 

Рассчитаем скорость кода для: 

  • 1 1 0 0 0 1 0 0 | 1 

Здесь R=8/9=0,88

  • И для прямоугольного кода:

Здесь R=16/24=0,66 (картинка выше, двадцать пятую единичку (бит четности) не учитываем)

Более эффективный с точки зрения скорости является первый вариант, но зато мы не можем с помощью него исправлять ошибки, а с помощью прямоугольного кода можно. Сейчас на практике прямоугольный код не используется, но логика работы многих помехоустойчивых кодов основана именно на прямоугольном коде. 

Классификация помехоустойчивых кодов

  • Непрерывные — процесс кодирования и декодирования носит непрерывный характер. Сверточный код является частным случаем непрерывного кода. На вход кодера поступил один символ, соответственно, появилось несколько на выходе, т.е. на каждый входной символ формируется несколько выходных, так как добавляется избыточность.
  • Блочные (Блоковые) — процесс кодирования и декодирования осуществляется по блокам. С точки зрения понимания работы, блочный код проще, разбиваем код на блоки и каждый блок кодируется в отдельности. 

По используемому алфавиту:

  • Двоичные. Оперируют битами.
  • Не двоичные (код Рида-Соломона). Оперируют более размерными символами. Если изначально информация двоичная, нужно эти биты превратить в символы. Например, есть последовательность 110 110 010 100 и нужно их преобразовать из двоичных символов в не двоичные, берем группы по 3 бита — это будет один символ, 6, 6, 2, 4 — с этими не двоичными символами работают не двоичные помехоустойчивые коды. 

Блочные коды делятся на

  • Систематические  — отдельно не измененные информационные символы, отдельно проверочные символы. Если на входе кодера присутствует блок из k символов, и в процессе кодирования сформировали еще какое-то количество проверочных символов и проверочные символы ставим рядом к информационным в конец или в начало. Выходной блок на выходе кодера будет состоять из информационных символов и проверочных. 
  • Несистематические — символы исходного сообщения в явном виде не присутствуют. На вход пришел блок k, на выходе получили блок размером n, блок на выходе кодера не будет содержать в себе исходных данных. 

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

систематический и несистематический код

Смотря на картинку выше, код 1 1 0 0 0 1 0 0 | 1 является систематическим, на вход поступило 8 бит, а на выходе кодера 9 бит, которые в явном виде содержат в себе 8 бит информационных и один проверочный.  

Классификация помехоустойчивых кодов

Код Хэмминга

Код Хэмминга — наиболее известный из первых самоконтролирующихся и самокорректирующихся кодов. Позволяет устранить одну ошибку и находить двойную. 

Код Хэмминга (7,4)

Код Хэмминга (7,4) — 4 бита на входе кодера и 7 на выходе, следовательно 3 проверочных бита. С 1 по 4 информационные биты, с 6 по 7 проверочные (см. табл. выше). Пятый проверочный бит y5, это сумма по модулю два 1-3 информационных бит. Сумма по модулю 2 это вычисление бита чётности. 

Декодирование кода Хэмминга

Декодирование происходит через вычисление синдрома по выражениям:

Декодирование кода Хэмминга через синдром

Синдром это сложение бит по модулю два. Если синдром не нулевой, то исправление ошибки происходит по таблице декодирования:

Таблица декодирования. Код Хэмминга

Расстояние Хэмминга

Расстояние Хэмминга — число позиций, в которых соответствующие символы двух кодовых слов одинаковой длины различны. Если рассматривать два кодовых слова, (пример на картинке ниже, 1 0 1 1 0 0 1 и 1 0 0 1 1 0 1) видно что они отличаются друг от друга на два символа, соответственно расстояние Хэмминга равно 2.

расстояние хэмминга

Кратность исправляемых ошибок и обнаруживаемых, связано минимальным расстоянием Хэмминга. Любой помехоустойчивый код добавляет избыточность с целью увеличить минимальное расстояние Хэмминга. Именно минимальное расстояние Хэмминга определяет помехоустойчивость. 

Помехоустойчивые коды

Современные коды более эффективны по сравнению с рассматриваемыми примерами. В таблице ниже приведены Коды Боуза-Чоудхури-Хоквингема (БЧХ)

Коды Боуза-Чоудхури-Хоквингема (БЧХ)

Из таблицы видим, что там один класс кода БЧХ, но разные параметры n и k. 

  • n — количество символов на входе. 
  • k — количество символов на выходе. 
  • t — кратность исправляемых ошибок. 
  • Отношение k/n — скорость кода. 
  • G (энергетический выигрыш) — величина, показывающая на сколько можно уменьшить отношение сигнал/шум (Eb/No) для обеспечения заданной вероятности ошибки.

Несмотря на то, что скорость кода близка, количество исправляемых ошибок может быть разное. Количество исправляемых ошибок зависит от той избыточности, которую добавим и от размера блока. Чем больше блок, тем больше ошибок он исправляет, даже при той же самой избыточности. 

Пример: помехоустойчивые коды и двоичная фазовая манипуляция (2-ФМн). На графике зависимость отношения сигнал шум (Eb/No) от вероятности ошибки. За счет применения помехоустойчивых кодов улучшается помехоустойчивость. 

График помехоустойчивых кодов

Из графика видим, код Хэмминга (7,4) на сколько увеличилась помехоустойчивость? Всего на пол Дб это мало, если применить код БЧХ (127, 64) выиграем порядка 4 дБ, это хороший показатель. 

Компромиссы при использовании помехоустойчивых кодов

Чем расплачиваемся за помехоустойчивые коды? Добавили избыточность, соответственно эту избыточность тоже нужно передавать. Нужно: увеличивать пропускную способность канала связи, либо увеличивать длительность передачи. 

Компромиссы при использовании помехоустойчивых кодов

Компромисс:

  1. Достоверность vs полоса пропускания.
  2. Мощность vs полоса пропускания.
  3. Скорость передачи данных vs полоса пропускания

Необходимость чередования (перемежения)

Все помехоустойчивые коды могут исправлять только ограниченное количество ошибок t. Однако в реальных системах связи часто возникают ситуации сгруппированных ошибок, когда в течение непродолжительного времени количество ошибок превышает t.

Например, в канале связи шумов мало, все передается хорошо, ошибки возникают редко, но вдруг возникла импульсная помеха или замирания, которые повредили на некоторое время процесс передачи, и потерялся большой кусок информации. В среднем на блок приходится одна, две ошибки, а в нашем примере потерялся целый блок, включая информационные и проверочные биты. Сможет ли помехоустойчивый код исправить такую ошибку? Эта проблема решаема за счет перемежения. 

Пример блочного перемежения:

Пример блочного перемежения кодов

На картинке, всего 5 блоков (с 1 по 25). Код работает исправляя ошибки в рамках одного блока (если в одном блоке 1 ошибка, код его исправит, а если две то нет). В канал связи отдается информация не последовательно, а в перемешку. На выходе кодера сформировались 5 блоков и эти 5 блоков будем отдавать не по очереди а в перемешку. Записали всё по строкам, но считывать будем, чтобы отправлять в канал связи, по столбцам. Информация в блоках перемешалась. В канале связи возникла ошибка и мы потеряли большой кусок. В процессе приема, мы опять составляем таблицу, записываем по столбцам, но считываем по строкам. За счет того, что мы перемешали большое количество блоков между собой, групповая ошибка равномерно распределится по блокам. 

Характерной
особенностью циклических кодов является
способность к распознаванию пакетов
ошибок. Под пакетом ошибок понимается
группирование ошибок в одной ограниченной
области кодового слова (рис. 3.16). Пакет
ошибок можно описать многочленом вида

.

(3.75)

Е
сли
длина пакета ошибок не превосходит
величины r
= п
k,
то степень многочлена ошибок меньше r.
В этом случае е(Х)
не делится на
(Х)
без остатка и синдром принятого слова
всегда отличен от нулевого, следовательно,
пакет ошибок длины равной или меньшей
r
всегда распознается. Из теоремы 3.6.1
следует, что распознается также любой
циклический сдвиг многочлена В(Х)
степени, меньшей r,
т.е. и «концевой» пакет ошибок длины
меньшей или равной r
(рис. 3.17), всегда распознается.

Теорема 3.7.1.
Циклический (п,
k)-код
способен обнаруживать все пакеты ошибок
(в том числе концевые) длины r
= п
k
и меньше.

Помимо распознавания
всех пакетов ошибок длины r
и меньше циклические коды обладают
способностью обнаруживать большую
часть пакетов ошибок, длина которых
превосходит r.

Рассмотрим пакет
ошибок длины r
+ 1, начинающийся в j-ой
компоненте. Так как первая и последняя
компоненты пакета оши­бок отличны от
нуля, всего имеется 2r-1
возможных конфигураций ошибок.
Необнаружимой является только одна из
них, многочлен которой В(Х)
совпадает с
(Х),
то есть

.
(3.76)

Теорема 3.7.2.
Для циклического (п,
k)-кода
доля необнаружимых пакетов
ошибок
длины
l
= r
+ 1 = п
k+1
равна 2-(r-1).

Рассмотрим пакет
ошибок длины l>r+1=nk+1
начинающийся в j-ой
компоненте. Если соответствующий
многочлен В(Х)
делится на
(Х)
без остатка, то есть

,
(3.77)

то такой пакет не
может быть обнаружен.

Пусть коэффициенты
многочлена а(Х)
степени l
r
— 1 имеют вид a0,
a1,
…, alr1.
Так как пакет ошибок начинается и
заканчи­вается единицей, a0
= alr1.
Следовательно, существует 2lr2
наборов коэффициентов а(Х),
приводящих к необнаружимым ошиб­кам
в (3.77). С другой стороны, существует 2l2
различных пакетов ошибок длины l
и, таким образом, верно следующее
утверждение.

Теорема 3.7.3.
Для циклического (п,
k)-кода
доля необнаружимых пакетов ошибок длины
l>r
+ l = n
k
+ 1 равна 2r.

Пример:
Распознавание ошибок циклическим
(7,4)-кодом Хэм­минга.

Рассмотрим
циклический (7,4)-код Хэмминга из предыдущих
при­меров с r
= п
k
= 3. Так как минимальное кодовое расстояние
кода Хэмминга dmin
= 3, он способен обнаруживать все двойные
ошиб­ки или исправлять одиночные.
Рассматриваемый (7,4)-код Хэммин­га
является циклическим кодом и он способен
также обнаруживать все пакеты длины r
= 3. В частности, любые три следующие друг
за другом ошибки всегда обнаруживаются.

Доля необнаружимых
ошибок длины r
+ 1 = 4 равна 2-(3-1)
= 1/4. При пакетах ошибок с длиной большей
4, не распознается только 2-3
= 1/8 из них.

Замечание.
На практике,
как правило, используются циклические
коды с довольно большим числом проверочных
разрядов, например,
r
= п —
k
= 16. Доля необнаружимых пакетов ошибок
такими кодами достаточна мала. Так, при
r
= 16, обнаруживается более чем 99,9969 %
пакетов длины 17 и 99,9984 % пакетов длины
18 и выше.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Привет, Вы узнаете про коды ldpc, Разберем основные ее виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое
коды ldpc, всн-коды, код хемминга, ту́рбо-код , сверточный код , настоятельно рекомендую прочитать все из категории Теория информации и кодирования.

Помехоустойчивое кодированиекодирование, предназначенное для передачи данных по каналам с помехами, обеспечивающее исправление возможных ошибок передачи вследствие помех.

Для обнаружения ошибок используют коды обнаружения ошибок, для исправления — помехоустойчивые коды.

Уже 50 лет первым помехоустойчивым кодом называют код Хэмминга. Помимо применения в стандартах помехоустойчивого кодирования, для уменьшения образования пакетов ошибок применяются схемы перемежения битов в потоке, а также перед модуляцией дополнительного кодирования символов кодом Грея.

Классификация помехоустойчивых кодов

В непрерывных кодах передаваемая информационная последовательность не разделяется на блоки. Избыточные элементы размещаются в определенном порядке между информационными.

Равномерные блочные коды делятся на разделимые и неразделимые. В разделимых кодах элементы информационной и проверочной частей кодовой комбинации всегда стоят на определенных местах. В неразделимых кодах деление на информационные и проверочные разряды отсутствует.

Разделимые коды, в свою очередь, делятся на систематические (линейные) и несистематические (нелинейные). Систематическими кодами называются блочные разделимые (n,k)-коды, в которых проверочные элементы представляют собой линейные комбинации информационных, несистематические коды таким свойством не обладают.

Помехоустойчивое кодирование предполагает введение в передаваемое сообщение, наряду с информационными, так называемых проверочных разрядов, формируемых в устройствах защиты от ошибок (кодерах-на передающем конце, декодерах — на приемном). Избыточность позволяет отличить разрешенную и запрещенную (искаженную за счет ошибок) комбинации при приеме, иначе одна разрешенная комбинация переходила бы в другую.

Помехоустойчивый код характеризуется тройкой чисел (n, k, d0), где n— общее число разрядов в передаваемом сообщении, включая проверочные (г), k=n-r — число информационных разрядов, d0— минимальное кодовое расстояние между разрешенными кодовыми комбинациями, определяемое как минимальное число различающихся бит в этих комбинациях. Число обнаруживаемых (tj и (или) исправляемых (t ) ошибок (разрядов) связано с параметром d0 соотношениями

Иногда используются дополнительные показатели избыточности, производные от приведенных выше характеристик n, k:R = r/n- относительная избыточность, v = k / n — относительная скорость передачи.

Существующие помехоустойчивые коды можно разделить на ряд групп, только часть из которых используется для обнаружения ошибок в передаваемых по сети пакетах. В группе систематических (линейных) кодов общим свойством является то, что любая разрешенная комбинация может быть получена в результате линейных операций над линейно-независимыми векторами. Это способствует упрощению аппаратной и программной реализации данных кодов, повышает скорость выполнения необходимых операций.

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

Рис. 1.1. Классификация помехоустойчивых кодов

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

Простейшими систематическими кодами являются биты четности/нечетности. Они не позволяют обнаружить ошибки четной кратности (т.е. ошибки одновременно в двух, четырех и т.д. битах) и поэтому используются при невысоких требованиях к верности принимаемых данных (или при малой вероятности ошибок в линии передачи). Примером может служить бит Parity (соответствие) в установках режимов работы последовательного порта с помощью команды MODE (MS DOS). Несмотря на ограниченные возможности обнаружения ошибок, биты четности/нечетности имеют большое значение в теории помехоустойчивого кодирования. Одни иг первых математически обоснованных и практически использовании? помехоустойчивых кодов — коды Хэмминга представляют собой простс совокупность перекрестных проверок на четность/нечетность. Циклические коды могут рассматриваться как обобщенные проверки на четность/ нечетность

Клод Шеннон сформулировал теорему для случая передачи дискретной информации по каналу связи с помехами, утверждающую, что вероятность ошибочного декодирования принимаемых сигналов может быть обеспечена сколь угодно малой путем выбора соответствующего способа кодирования сигналов. В теореме Шеннона не говорится о том, как нужно строить помехоустойчивые коды. Однако в ней указывается на принципиальную возможность кодирования, при котором может быть обеспечена сколь угодно высокая верность передачи. Это явилось стимулом к разработке помехоустойчивых кодов.

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

Все помехоустойчивые коды можно разделить на два основных класса: блочные и непрерывные (рекурентные или цепные).

В блочных кодах каждому сообщению (или элементу сообщения) сопоставляется кодовая комбинация (блок) из определенного количества разрядов. Блоки кодируются и декодируются отдельно друг от друга.

Блочные коды могут быть равномерными, когда длина кодовых комбинаций п постоянна, или неравномерными, когда п непостоянно.

В непрерывных кодах введение избыточности в последовательность входных символов осуществляется без разбивки ее на отдельные блоки. Процессы кодирования и декодирования в непрерывных кодах имеют также непрерывный характер.

Как блочные, так и непрерывные коды в зависимости от методов внесения избыточности подразделяются на разделимые и неразделимые. В разделимых кодах четко разграничена роль отдельных символов. Одни символы являются информационными, другие являются проверочными и служат для обнаружения и исправления ошибок. Разделимые блочные коды называются обычно п,k-кодами, где п – длина кодовых комбинаций, k – число информационных символов в комбинациях.

Неразделимые коды не имеют четкого разделения кодовой комбинации на информационные и проверочные символы.

Разделимые блочные коды делятся, в свою очередь, на несистематические и систематические. Несистематические разделимые коды строятся таким образом, что проверочные символы определяются как сумма подблоков длины l, на которые разделяется блок информационных символов.

Большинство известных разделимых кодов составляют систематические коды. У этих кодов значение проверочных символов определяется в результате проведения линейных операций над определенными информационными символами. Для случая двоичных кодов каждый проверочный символ выбирается таким, чтобы его сумма по модулю два с определенными информационными символами стала равной нулю (т.е. сумма единиц была четной). Декодирование сводится к проверке на четность определенных групп символов. В результате таких проверок дается информация о наличии ошибок, а в случае необходимости – о позиции символов, где имеются ошибки.

Блоковые коды

Блочный код — в информатике тип канального кодирования. Он увеличивает избыточность сообщения так, чтобы в приемнике можно было расшифровать его с минимальной (теоретически нулевой) погрешностью, при условии, что скорость передачи информации (количество передаваемой информации в битах в секунду) не превысила бы канальную производительность.

Главная характеристика блочного кода состоит в том, что это – канальный код фиксированной длины (в отличие от такой схемы кодирования источника данных, как кодирование Хаффмана, и в отличие таких методов канального кодирования, как конволюционное кодирование («сверточное» кодирование) ). Обычно, система блочного кодирования получает на входе k-значное кодовое слово W, и преобразовывает его в n-значное кодовое слово C(W). Это кодовое слово и называется блоком.

Блочное кодирование было главным типом кодирования, используемого в ранних системах мобильной коммуникации.

Последовательность входящих информационных символов Стандарты помехоустойчивого кодированияразбивается на отрезки (блоки), каждый содержащийСтандарты помехоустойчивого кодированиясимволов:

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

В кодере производится преобразование каждого отдельного блока в новый блок :

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

Правило преобразования (функциональная зависимость, обозначенная здесь буквой Стандарты помехоустойчивого кодирования) каждого входящего блока не зависит от содержания других входящих блоков; получающиеся в ходе преобразваний блокиСтандарты помехоустойчивого кодирования

Пример. Пусть алфавит языка состоит из пяти букв: а, в, л, о, с . Их кодирование в цифровую последовательность возможно по правилу: Стандарты помехоустойчивого кодированияа Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияв Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированиялСтандарты помехоустойчивого кодирования, Стандарты помехоустойчивого кодированияоСтандарты помехоустойчивого кодирования, Стандарты помехоустойчивого кодированиясСтандарты помехоустойчивого кодирования. В этом случае длина кода Стандарты помехоустойчивого кодирования. Получатель, которому по телефону диктуют цифровые последовательности

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

однозначно декодирует их — если знает правило кодирования. Понятно, что для кодирования всего русского алфавита потребуются уже двузначные десятичные числа, т.е. Стандарты помехоустойчивого кодирования(и отметим, на всякий случай, что кодирование по правилуСтандарты помехоустойчивого кодированияаСтандарты помехоустойчивого кодирования, Стандарты помехоустойчивого кодированиябСтандарты помехоустойчивого кодированияяСтандарты помехоустойчивого кодированияуже не будет правильным…). Пока остановимся на примере пятибуквенного алфавита чтобы показать две проблемы. Предположим, что телефонная линия подвержена помехам и какие-то сообщения могут теряться:

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

или же искажаться

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

Можно ли восстановить утраченную информацию? — Понятно, что ответ на этот вопрос зависит, в первую очередь, от передающих характеристик самого канала связи.

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

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

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

Компромисс между эффективностью (большей скоростью передачи информации) и способностями исправления может также быть виден при попытке задать фиксированную длину ключевого слова, и фиксированную возможность исправления (представленную расстоянием Хемминга d) и максимизируют общее количество ключевых слов. [n, d] — максимальное число ключевых слов для данной длины ключевого слова n и расстояния Хемминга d..

Расстоянием Хэмминга между двумя кодовыми словами Стандарты помехоустойчивого кодированияиСтандарты помехоустойчивого кодированияназывается число разрядов, в которых эти слова отличаются друг от друга. Как правило, в дальнейшем элементами кодовых слов будут рассматриваться символы двоичного кода, т.е.Стандарты помехоустойчивого кодированияиСтандарты помехоустойчивого кодирования— это векторы, состоящие из нулей и единиц. Расстояние Хэмминга между такими векторами равноСтандарты помехоустойчивого кодирования. Для любого такого вектораСтандарты помехоустойчивого кодированияеговесом Хэмминга называется число отличных от нуля координат, т.е. Стандарты помехоустойчивого кодирования.

Пример. Расстояние Хэмминга между векторами Стандарты помехоустойчивого кодированияиСтандарты помехоустойчивого кодированияравноСтандарты помехоустойчивого кодирования.

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

Введенное определение позволяет дать геометрическую интерпретацию решению последнего примера. Таблица кодирования из него заключает в себя все двоичные векторы, состоящие из пяти элементов, расстояние от которых до вектора из верхней строчки и соответствующего столбца равно Стандарты помехоустойчивого кодирования. Можно сказать, что вектор каждого из столбцов содержится в окрестности размераСтандарты помехоустойчивого кодированиясоответствующего вектораСтандарты помехоустойчивого кодирования. Последние так удачно подобраны, что эти окрестности не пересекаются. Вектор на выходе из канала проверяется на попадание в какую-то из окрестностей, в случае положительного ответа можно декодировать его в соответствующую букву («центр» окрестности), а вот в случае отрицательного ответа можно попробовать сравнить расстояния Хэмминга до всех этих центров и декодировать в ближний…

Примеры кодирования простыми блоковыми арифметическими кодами

Пример. Пусть алфавит языка состоит из пяти букв: а, в, л, о, с . Их кодирование в цифровую последовательность возможно по правилу: Стандарты помехоустойчивого кодированияа Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияв Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированиял Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияо Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияс Стандарты помехоустойчивого кодирования. В этом случае длина кодаСтандарты помехоустойчивого кодирования. Получатель, которому по телефону диктуют цифровые последовательности

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

однозначно декодирует их — если знает правило кодирования. Понятно, что для кодирования всего русского алфавита потребуются уже двузначные десятичные числа, т.е. Стандарты помехоустойчивого кодирования(и отметим, на всякий случай, что кодирование по правилуСтандарты помехоустойчивого кодированияа Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияб Стандарты помехоустойчивого кодированияя Стандарты помехоустойчивого кодированияуже не будет правильным…). Пока остановимся на примере пятибуквенного алфавита чтобы показать две проблемы. Предположим, что телефонная линия подвержена помехам и какие-то сообщения могут теряться:

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

или же искажаться

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

Можно ли восстановить утраченную информацию? — Понятно, что ответ на этот вопрос зависит, в первую очередь, от передающих характеристик самого канала связи.

Переходим к кодированию букв в двоичной системе: Стандарты помехоустойчивого кодированияа Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияв Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияо Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияс Стандарты помехоустойчивого кодирования, забывая пока о пятой букве. Таким образом длина кодаСтандарты помехоустойчивого кодирования. Предположим, что на каждое передаваемое кодовое слово канал связи дает не более одной ошибки: в каждом блоке длины 2 может менятьСтандарты помехоустойчивого кодированиянаСтандарты помехоустойчивого кодированияилиСтандарты помехоустойчивого кодированиянаСтандарты помехоустойчивого кодирования— но не сразу оба бита (и не «затирает» бит полностью) . Об этом говорит сайт https://intellect.icu . Что может произойти при передаче закодированного сообщения

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

по такому каналу? Получатель может увидеть следующие варианты:

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

но не получит следующие:

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

Итак, выбор самого экономичного способа кодирования — когда четырем символам алфавита соответствуют четыре двоичных блока — не решает задачу надежной коммуникации. Увеличим длину кода, пусть Стандарты помехоустойчивого кодированияа Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияв Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияо Стандарты помехоустойчивого кодирования,Стандарты помехоустойчивого кодированияс Стандарты помехоустойчивого кодирования. Что может произойти с этими кодовыми словами при внесении в них ровно одной ошибки? Составим таблицу всех возможных ситуаций:

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

Обратим внимание на то, что столбцы не содержат одинаковых блоков. Таким образом, если условие зашумляемости блока не более чем одной ошибкой выполняется, декодер сможет однозначно восстановить передаваемую букву — достаточно будет найти в таблице столбец, содержащий полученный блок.

Этот пример служит примером кода, исправляющего ошибки — в данном случае одну ошибку. Что произойдет если зашумленность канала оказывается более высокой, чем предполагалось? Возможны ситуации, когда полученный в результате передачи блок будет содержаться в таблице. Например, если на вход подается блок Стандарты помехоустойчивого кодирования, а канал портит два бита, то получатель может увидеть блокСтандарты помехоустойчивого кодирования, который хоть и содержится в таблице, но декодируется совсем не в ту букву, которая передавалась. А может случиться и так, что на выходе из канала получится блокСтандарты помехоустойчивого кодирования, который совсем не содержится в таблице. Эта ситуация иногда более выгодна, чем предыдущая: декодер можно заставить извещать пользователя об обнаружении ошибки в случае когда полученный блок не содержится в таблице. Можно заложить в декодере одновременно обе возможности — сигнализации об ошибке и ее исправления. На примере полученного блокаСтандарты помехоустойчивого кодированияпосмотрим, что можно предпринять. Обратим внимание, что этот блок отличается от отправленногоСтандарты помехоустойчивого кодированияа Стандарты помехоустойчивого кодированияв двух битах, от блокаСтандарты помехоустойчивого кодированияв Стандарты помехоустойчивого кодирования— также в двух битах, а от каждого из блоковСтандарты помехоустойчивого кодированияо Стандарты помехоустойчивого кодированияилиСтандарты помехоустойчивого кодированияс Стандарты помехоустойчивого кодирования— в трех битах. Поэтому, ввиду гипотезы о не более чем двух зашумленных битах, можно при декодировании отбросить два последних варианта, как невозможные.

Определение количества корректирующих символов блоковых кодов

При использовании блочных кодов цифровая информация передается в виде отдельных кодовых комбинаций (блоков) равной длины. Кодирование и декодирование каждого блока осуществляется независимо друг от друга.

Почти все блочные коды относятся к разделимым кодам, кодовые комбинации которых состоят из двух частей: информационной и проверочной. При общем числе n символов в блоке число информационных символов равно k, а

число проверочных символов r = n – k. К основным характеристикам корректирующих кодов относятся:

− число разрешенных и запрещенных кодовых комбинаций;

− избыточность кода;

− минимальное кодовое расстояние;

− число обнаруживаемых или исправляемых ошибок;

− корректирующие возможности кодов.

Систематические групповые коды

Систематические коды образуют наиболее обширную группу (n, k)- разделимых кодов. Особенностью этих кодов является то, что проверочные (корректирующие) символы образуются с помощью линейных операций над информационными. Кроме того, любая разрешенная кодовая комбинация может быть получена в результате линейной операции над набором к линейно независимых кодовых комбинаций. В частности, суммирование по модулю 2 двух и более разрешенных комбинаций также дает разрешенную кодовую комбинацию. Поскольку теоретической основой получения таких комбинаций является математический аппарат линейной алгебры, то коды и называют линейными, а учитывая, что проверочные символы формируются по определенной системе

(правилам), блочные равномерные разделимые линейные коды получили название систематических. Использование аппарата линейной алгебры, в которой важное значение имеет понятие «группа», породило и другое название этих кодов — групповые. Эти коды получили наибольшее применение в системах передачи дискретной информации.

Рассмотрим следующие страндарты помехоустойчивого кодирования информации


  • коды ldpc

  • всн-коды

  • код хемминга

Код Хемминга

Код Хемминга – это один из первых помехоустойчивых кодов, исправляющих одну или несколько ошибок. Он является блочным кодом. Кратко напомним основные параметры кода Хемминга:

  • n – длина в битах кодового слова, n=2m-1;
  • k – число информационных битов, k=2m-1-1;
  • M – число проверочных разрядов, m=-k;
  • T – число ошибок (или dmin – расстояние по Хеммингу или de – дистанция по Евклиду).

Код исправляет единичные ошибки. Для исправления пакетов ошибок применяют систему перемежения. Идея метода заключатся в рассеянии символов кодового слова. Символы должны находиться друг от друга на таком расстоянии, чтобы быть подверженными независимым замираниям [1, 2, 12]. При независимых замираниях пораженные символы будут принадлежать к разным кодовым словам. Появляется возможность с помощью исходного кода исправлять ошибки. В литературе известны некоторые виды пере-межения. В нем кодовые слова размещаются в виде строк прямоугольной матрицы, а их считывание осуществляется по столбцам (рис. 4).

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

Примечание. Способ перехода от максимального расстояния по Хеммингу dmin к дистанции de по Евклиду в теории кодирования не найден.

В помехоустойчивые коды всегда вводятся избыточные биты n-k (redundant bits). Они используются как средство контроля (биты четности – parity bits, контрольные биты – check bits). Отношение числа избыточных битов к числу информационных (n-k)/k называются избыточностью (redundancy) кода. Отношение числа битов данных к общему числу бит-k/n – степень кодирования (code rate). Максимальная величина избыточного кодирования кода не должна превышать T= r/1-r, где r = r-k/n.

Детектор приемника должен начать работу после приема первого символа кодовой последовательности.

Кодер источника u заменяет на своем выходе информационные слова u кодовым словом v. Приемник производит обратное преобразование. В результате на декодер поступает двоичное принятое слово – r.

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

Кодер двоичного блока (n, k) отображает множество 2k возможных двоичных слов в множестве 2х n мерных кодовых слов.

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

Все столбцы проверочной матрицы должны быть попарно различными. Строки порождающей матрицы должны содержать как минимум три единицы, так как строки порождающей матрицы являются кодовыми словами.

При кодировании есть понятие: хороший код. Хорошим кодом называется такой код, который обладает наибольшим числом информационных символов при фиксированном значении кода и минимальном расстоянии dmin.

Циклическим кодом называется код, множество кодовых комбинаций которого представляется совокупностью многочленов степени n-1 и менее, делящихся на некоторый многочлен G(x) степени n-k, являющийся сомножителем бинома Xn +1.

При операциях с циклическими кодами кодовое слово B = bn-1, bn-2 …b1b0 ) представляют в виде многочлена B(X) степени

B(x) = bn-1xn-1 + bn-2xn-2 + b1x+ b01.

Многочлен g(x) принято называть порождающим или образующим многочленом циклического кода.

Проверочная матрица определяется как: H(x) = (xn+1)/g(x) [8-10] Для кода Хемминга (7,4)

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

Примечание. Многочлен Xn+1 делится на Xm тогда и только тогда, когда n делится на m.

Коды, в которых возможно исправление ошибок, называются совершенными. Многочлен P(x) степени m называется неприводимым в поле GF(2), если он не делится ни на какой многочлен с коэффициентами из GF(2), степени меньше m, но больше 0.

Неприводимый многочлен P(x) называется примитивным, если наименьшая степень n, при которой многочлен Xn+1 делится на многочлен без остатка, равна n = 2m-1.

Блочные коды создаются на основе порождающей матрицы G(x) или по порождающему многочлену g(x).

В этих кодах каждое кодовое слово представляется полиномом, коэффициент которого является элементом кодового слова.

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

В состав помехоустойчивого кода Хемминга (n, k, t) входят только те кодовые слова, чьи полиномы делятся на один и тот же полином g(x) степени n-k. Этот полином называется порождающим. C(x) = a (x) g(x). Степень полинома проверяется по проверочной матрице H(x).

G(x). Ht (x) = 0 свидетельствует об отсутствии ошибок, a(x) не превышает k-1.

Контроль ошибок определяется с помощью синдромов:

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

Синдром — это результат проверки четности, выполненный над

продолжение следует…

Продолжение:

Часть 1 Стандарты помехоустойчивого кодирования
Часть 2 Циклические коды. Представление двоичного кода в виде полинома — Стандарты…
Часть 3 Литература — Стандарты помехоустойчивого кодирования

Назначение помехоустойчивого кодирования – защита информации от помех и ошибок при передаче и хранении информации. Помехоустойчивое кодирование необходимо для устранения ошибок, которые возникают в процессе передачи, хранения информации. При передачи информации по каналу связи возникают помехи, ошибки и небольшая часть информации теряется. 

Без использования помехоустойчивого кодирования было бы невозможно передавать большие объемы информации (файлы), т.к. в любой системе передачи и хранении информации неизбежно возникают ошибки.

Рассмотрим пример CD диска. Там информация хранится прямо на поверхности диска, в углублениях, из-за того, что все дорожки на поверхности, часто диск хватаем пальцами, елозим по столу и из-за этого без помехоустойчивого кодирования, информацию извлечь не получится.

Использование кодирования позволяет извлекать информацию без потерь даже с поврежденного CD/DVD диска, когда какая либо область становится недоступной для считывания.

В зависимости от того, используется в системе обнаружение или исправление ошибок с помощью помехоустойчивого кода, различают следующие варианты:

  • запрос повторной передачи (Automatic Repeat reQuest, ARQ): с помощью помехоустойчивого кода выполняется только обнаружение ошибок, при их наличии производится запрос на повторную передачу пакета данных;
  • прямое исправление ошибок (Forward Error Correction, FEC): производится декодирование помехоустойчивого кода, т. е. исправление ошибок с его помощью.

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

Исправление ошибок в помехоустойчивом кодировании

Любое помехоустойчивое кодирование добавляет избыточность, за счет чего и появляется возможность восстановить информацию при частичной потере данных в канале связи (носителе информации при хранении). В случае эффективного кодирования убирали избыточность, а в помехоустойчивом кодировании добавляется контролируемая избыточность. 

Простейший пример – мажоритарный метод, он же многократная передача, в котором один символ передается многократно, а на приемной стороне принимается решение о том символе, количество которых больше.

Допустим есть 4 символа информации, А, B, С,D, и эту информацию повторяем несколько раз. В процессе передачи информации по каналу связи, где-то возникла ошибка. Есть три пакета (A1B1C1D1|A2B2C2D2|A3B3C3D3), которые должны нести одну и ту же информацию. 

мажоритарный метод

Но из картинки справа, видно, что второй символ (B1 и C1) они отличаются друг от друга, хотя должны были быть одинаковыми. То что они отличаются, говорит о том, что есть ошибка. 

Необходимо найти ошибку с помощью голосования, каких символов больше, символов В или символов С? Явно символов В больше, чем символов С, соответственно принимаем решение, что передавался символ В, а символ С ошибочный. 

Для исправления ошибок нужно, как минимум 3 пакета информации, для обнаружения, как минимум 2 пакета информации.

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

Первый параметр, скорость кода R характеризует долю информационных («полезных») данных в сообщении и определяется выражением: R=k/n=k/m+k

  • где n – количество символов закодированного сообщения (результата кодирования);
  •   m – количество проверочных символов, добавляемых при кодировании;
  •   k – количество информационных символов.

Параметры n и k часто приводят вместе с наименованием кода для его однозначной идентификации. Например, код Хэмминга (7,4) значит, что на вход кодера приходит 4 символа, на выходе 7 символов,  Рида-Соломона (15, 11) и т.д. 

Второй параметр, кратность обнаруживаемых ошибок – количество ошибочных символов, которые код может обнаружить.

Третий параметр, кратность исправляемых ошибок – количество ошибочных символов, которые код может исправить (обозначается буквой t).

Контроль чётности

Самый простой метод помехоустойчивого кодирования это добавление одного бита четности. Есть некое информационное сообщение, состоящее из 8 бит, добавим девятый бит. 

Если нечетное количество единиц, добавляем 0.

1 0 1 0 0 1 0 0 | 0

Если четное количество единиц, добавляем 1.

1 1 0 1 0 1 0 0 | 1

Если принятый бит чётности не совпадает с рассчитанным битом чётности, то считается, что произошла ошибка.

1 1 0 0 0 1 0 0 | 1 

Под кратностью понимается, всевозможные ошибки, которые можно обнаружить. В этом случае, кратность исправляемых ошибок 0, так как мы не можем исправить ошибки, а кратность обнаруживаемых 1. 

Есть последовательность 0 и 1, и из этой последовательности составим прямоугольную матрицу размера 4 на 4. Затем для каждой строки и столбца посчитаем бит четности. 

Прямоугольный код – код с контролем четности, позволяющий исправить одну ошибку:

прямоугольный код

И если в процессе передачи информации допустим ошибку (ошибка нолик вместо единицы, желтым цветом), начинаем делать проверку. Нашли ошибку во втором столбце, третьей строке по координатам. Чтобы исправить ошибку, просто инвертируем 1 в 0, тем самым ошибка исправляется. 

Этот прямоугольный код исправляет все одно-битные ошибки, но не все двух-битные и трех-битные. 

Рассчитаем скорость кода для: 

  • 1 1 0 0 0 1 0 0 | 1 

Здесь R=8/9=0,88

  • И для прямоугольного кода:

Здесь R=16/24=0,66 (картинка выше, двадцать пятую единичку (бит четности) не учитываем)

Более эффективный с точки зрения скорости является первый вариант, но зато мы не можем с помощью него исправлять ошибки, а с помощью прямоугольного кода можно. Сейчас на практике прямоугольный код не используется, но логика работы многих помехоустойчивых кодов основана именно на прямоугольном коде. 

Классификация помехоустойчивых кодов

  • Непрерывные — процесс кодирования и декодирования носит непрерывный характер. Сверточный код является частным случаем непрерывного кода. На вход кодера поступил один символ, соответственно, появилось несколько на выходе, т.е. на каждый входной символ формируется несколько выходных, так как добавляется избыточность.
  • Блочные (Блоковые) — процесс кодирования и декодирования осуществляется по блокам. С точки зрения понимания работы, блочный код проще, разбиваем код на блоки и каждый блок кодируется в отдельности. 

По используемому алфавиту:

  • Двоичные. Оперируют битами.
  • Не двоичные (код Рида-Соломона). Оперируют более размерными символами. Если изначально информация двоичная, нужно эти биты превратить в символы. Например, есть последовательность 110 110 010 100 и нужно их преобразовать из двоичных символов в не двоичные, берем группы по 3 бита — это будет один символ, 6, 6, 2, 4 — с этими не двоичными символами работают не двоичные помехоустойчивые коды. 

Блочные коды делятся на

  • Систематические  — отдельно не измененные информационные символы, отдельно проверочные символы. Если на входе кодера присутствует блок из k символов, и в процессе кодирования сформировали еще какое-то количество проверочных символов и проверочные символы ставим рядом к информационным в конец или в начало. Выходной блок на выходе кодера будет состоять из информационных символов и проверочных. 
  • Несистематические — символы исходного сообщения в явном виде не присутствуют. На вход пришел блок k, на выходе получили блок размером n, блок на выходе кодера не будет содержать в себе исходных данных. 

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

систематический и несистематический код

Смотря на картинку выше, код 1 1 0 0 0 1 0 0 | 1 является систематическим, на вход поступило 8 бит, а на выходе кодера 9 бит, которые в явном виде содержат в себе 8 бит информационных и один проверочный.  

Классификация помехоустойчивых кодов

Код Хэмминга

Код Хэмминга — наиболее известный из первых самоконтролирующихся и самокорректирующихся кодов. Позволяет устранить одну ошибку и находить двойную. 

Код Хэмминга (7,4)

Код Хэмминга (7,4) — 4 бита на входе кодера и 7 на выходе, следовательно 3 проверочных бита. С 1 по 4 информационные биты, с 6 по 7 проверочные (см. табл. выше). Пятый проверочный бит y5, это сумма по модулю два 1-3 информационных бит. Сумма по модулю 2 это вычисление бита чётности. 

Декодирование кода Хэмминга

Декодирование происходит через вычисление синдрома по выражениям:

Декодирование кода Хэмминга через синдром

Синдром это сложение бит по модулю два. Если синдром не нулевой, то исправление ошибки происходит по таблице декодирования:

Таблица декодирования. Код Хэмминга

Расстояние Хэмминга

Расстояние Хэмминга — число позиций, в которых соответствующие символы двух кодовых слов одинаковой длины различны. Если рассматривать два кодовых слова, (пример на картинке ниже, 1 0 1 1 0 0 1 и 1 0 0 1 1 0 1) видно что они отличаются друг от друга на два символа, соответственно расстояние Хэмминга равно 2.

расстояние хэмминга

Кратность исправляемых ошибок и обнаруживаемых, связано минимальным расстоянием Хэмминга. Любой помехоустойчивый код добавляет избыточность с целью увеличить минимальное расстояние Хэмминга. Именно минимальное расстояние Хэмминга определяет помехоустойчивость. 

Помехоустойчивые коды

Современные коды более эффективны по сравнению с рассматриваемыми примерами. В таблице ниже приведены Коды Боуза-Чоудхури-Хоквингема (БЧХ)

Коды Боуза-Чоудхури-Хоквингема (БЧХ)

Из таблицы видим, что там один класс кода БЧХ, но разные параметры n и k. 

  • n — количество символов на входе. 
  • k — количество символов на выходе. 
  • t — кратность исправляемых ошибок. 
  • Отношение k/n — скорость кода. 
  • G (энергетический выигрыш) — величина, показывающая на сколько можно уменьшить отношение сигнал/шум (Eb/No) для обеспечения заданной вероятности ошибки.

Несмотря на то, что скорость кода близка, количество исправляемых ошибок может быть разное. Количество исправляемых ошибок зависит от той избыточности, которую добавим и от размера блока. Чем больше блок, тем больше ошибок он исправляет, даже при той же самой избыточности. 

Пример: помехоустойчивые коды и двоичная фазовая манипуляция (2-ФМн). На графике зависимость отношения сигнал шум (Eb/No) от вероятности ошибки. За счет применения помехоустойчивых кодов улучшается помехоустойчивость. 

График помехоустойчивых кодов

Из графика видим, код Хэмминга (7,4) на сколько увеличилась помехоустойчивость? Всего на пол Дб это мало, если применить код БЧХ (127, 64) выиграем порядка 4 дБ, это хороший показатель. 

Компромиссы при использовании помехоустойчивых кодов

Чем расплачиваемся за помехоустойчивые коды? Добавили избыточность, соответственно эту избыточность тоже нужно передавать. Нужно: увеличивать пропускную способность канала связи, либо увеличивать длительность передачи. 

Компромиссы при использовании помехоустойчивых кодов

Компромисс:

  1. Достоверность vs полоса пропускания.
  2. Мощность vs полоса пропускания.
  3. Скорость передачи данных vs полоса пропускания

Необходимость чередования (перемежения)

Все помехоустойчивые коды могут исправлять только ограниченное количество ошибок t. Однако в реальных системах связи часто возникают ситуации сгруппированных ошибок, когда в течение непродолжительного времени количество ошибок превышает t.

Например, в канале связи шумов мало, все передается хорошо, ошибки возникают редко, но вдруг возникла импульсная помеха или замирания, которые повредили на некоторое время процесс передачи, и потерялся большой кусок информации. В среднем на блок приходится одна, две ошибки, а в нашем примере потерялся целый блок, включая информационные и проверочные биты. Сможет ли помехоустойчивый код исправить такую ошибку? Эта проблема решаема за счет перемежения. 

Пример блочного перемежения:

Пример блочного перемежения кодов

На картинке, всего 5 блоков (с 1 по 25). Код работает исправляя ошибки в рамках одного блока (если в одном блоке 1 ошибка, код его исправит, а если две то нет). В канал связи отдается информация не последовательно, а в перемешку. На выходе кодера сформировались 5 блоков и эти 5 блоков будем отдавать не по очереди а в перемешку. Записали всё по строкам, но считывать будем, чтобы отправлять в канал связи, по столбцам. Информация в блоках перемешалась. В канале связи возникла ошибка и мы потеряли большой кусок. В процессе приема, мы опять составляем таблицу, записываем по столбцам, но считываем по строкам. За счет того, что мы перемешали большое количество блоков между собой, групповая ошибка равномерно распределится по блокам. 

  • Какой код ошибки будет отображен браузером если сервер не ответит
  • Какой закон применяют для устранения быстро меняющихся ошибок
  • Какой должна быть развивающая предметно пространственная среда доу найдите ошибку
  • Какой документ позволяет отразить исправление ошибок регистрация полученного счета фактуры
  • Какой диапазон http статус кодов для серверных ошибок