Авторизация


...

Кто на сайте?

Сейчас 228 гостей и один зарегистрированный пользователь на сайте

  • heydeeste

Статистика

-Посетители : 22989
-Материалы : 209

Пользователь сайта продает...

  PIC18F25K22

Пользователь сайта покупает...

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

Автор: Иван Шевченко (R1ZK) Просмотров: 2792

 

Обычно код Хэмминга характеризуется двумя целыми числами, например, (11,7) используемый при передаче 7-битных ASCII-кодов. Такая запись говорит о том, что при передаче 7-битного кода используется 4 контрольных бита (7+4=11). При этом предполагается, что имела место ошибка в одном бите и что ошибка в двух или более битах существенно менее вероятна. С учетом этого исправление ошибки осуществляется с определенной вероятностью. Я буду привязываться не к семи, а к восьми битам полезной информации. В этом случае 4-х бит на контрольную сумму достаточно с лихвой, т.к. с помощью четырёх бит можно адресоваться к 16 бит, а в приведенном ниже примере применяется только 12 (8+4=12).

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

Попытаюсь объяснить суть кодирования… Четыре контрольных бита представляют собой контрольную сумму ненулевых битов кодируемого числа и должны занимать в байте позиции, определяемые целой степенью 2 (8, 4, 2, 1). К примеру: в байте 8ххх4х21 цифрами указаны эти позиции. Для преобразования необходимо старший полубайт числа перенести в младший полубайт дополнительного регистра, т.к. позиции 3, 5-7 займёт младший полубайт числа, а позиции 8, 4, 2, 1 займут биты контрольной суммы. Если при приёме один какой-либо бит был принят неправильно, то в контрольной сумме ненулевых битов будет номер позиции бита ошибки, который необходимо проинвертировать. Если ошибка произойдет при передаче более чем одного бита, код Хэмминга при данной избыточности окажется бесполезен.

 

Ниже приведена программа под PIC18F252. В одной программе, для примера, реализован как кодер, так и декодер. Пример программы можно скачать здесь.

Все вопросы на форум.

Случайные статьи....

Prev Next

ПП стат. индикации 7-сиг. индикатора (1 порт, 2 знака).

06-06-2012 Super User

В этой подпрограмме показан один из способов статического подключения к микроконтроллеру  двух семисегментных индикаторов на один порт. В ПП не задействовано прерывание. Индикаторы применены с дешифратором  4 -7 (в семисегметный код).

Генератор кодов Морзе на микроконтроллере.

26-02-2012 Николай Викторов

Генератор кодов Морзе на микроконтроллере.

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

Табло валют.

12-01-2012 Sergey Roslik

Табло валют.

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

sPlan – удобная программа для вычерчивания принципиальных схем (ч. 2)

27-09-2012 Игорь Безверхний

sPlan – удобная программа для вычерчивания принципиальных схем (ч. 2)

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


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru