Широко применяемый в считывателях магнитных карт систем контроля и управления доступом (СКУД) интерфейс Wiegand имеет ряд разновидностей, отличающихся цифрами в названии интерфейса, которая обозначает количество бит в посылке: Wiegand-26 (кодовая посылка состоит из 24 бит кода карты и 2 бит контроля на четность), Wiegand-34 (32 бит кода и 2 бит контроля на четность) и т.д. Передача данных от считывателя к контроллеру осуществляется по проводному каналу и при незначительных удалениях считывателя от контроллера оказывается достаточным применения простейшего помехоустойчивого кода проверки на четность. При значительных удалениях считывателя от контроллера и в условиях действия наводок и помех этой меры оказывается недостаточно, так как происходит ухудшение характеристик эффективности системы – ошибок первого и второго рода.
С целью повышения помехоустойчивости приема данных в системах с интерфейсом Wiegand предлагается в условиях лабораторного эксперимента применить простейший классический помехоустойчивый код Хемминга (7,4) с минимальным кодовым расстоянием равным 3, т.е. с возможностью исправления одиночных ошибок при декодировании.
Рассмотрим наиболее распространенный интерфейс Wiegand-26, в котором передается 3 байта информации, для кодирования последней воспользуемся распараллеливанием обработки данных с помощью классического кодера Хемминга (7,4). Таким образом, при кодировании каждого полубайта в кодовую группу будут добавляться три проверочных разряда, что в итоге приведет к увеличению разрядности передаваемой информации с 24 бит до 42. Последующее добавление двух бит проверки на четность в начале и в конце кодовой посылки увеличит ее размерность до 44 бит. Следовательно, при таком типе кодирования минимальное кодовое расстояние увеличится до 4, т.е. при декодировании будет возможно исправлять все однократные ошибки и обнаруживать двукратные ошибки.
Для кода Хемминга в простейшем варианте при заданных четырёх (k=4) информационных символах (а1, а2, а3, а4) проверочные (контрольные или избыточные) символы будут располагаться вперемежку с информационными символами в определенных позициях кода. Три проверочных символа (кi, i = 1,3), задаваемые определенными равенствами проверки на чётность, могут быть вычислены по заданным алгоритмам [1]. Код Хемминга является разделимым кодом, контрольные разряды в кодовых комбинациях этого кода располагаются на позициях, номера которых равны целой степени двойки (20, 21, 22). При этом свободные позиции занимают информационные разряды, располагаемые в возрастающем порядке. Как известно [1], кодер выполняет операции формирования значений контрольных разрядов ki из имеющихся значений информационных разрядов ai , i = 1,4 по следующему алгоритму: значение контрольного разряда ki определяется как сумма по модулю два тех информационных разрядов, в двоичном выражении позиций которых содержится единица в том же разряде, что и у ki .
В качестве примера рассмотрим эксперимент кодирования по Хеммингу строки текстового сообщения с помощью технологии создания виртуальных приборов LabVIEW. Для чтения текстовой строки, преобразования строковых данных в коды символов, преобразования кодов символов в двоичный 8-разрядный код и осуществления операции кодирования по Хеммингу (7,4) с распараллеливанием обработки можно использовать алгоритм, реализованный во фрагменте диаграммной панели виртуального прибора LabVIEW, и приведенный на Рисунке 1. Фрагмент лицевой панели панелей виртуального прибора для этого случая приведен на Рисунке 2.
Фрагменты диаграммной и лицевой панелей виртуального прибора декодера Хемминга (7,4) приведены соответственно на Рисунке 3 и 4.
Список литературы
1. Алехин В.А., Корниенко В.Т., Шеболков В.В. Построение дискретного радиоканала передачи аналоговых сообщений. Учебное пособие - Таганрог: Изд-во ТТИ ЮФУ. 2009. №4402.