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

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

Ключевые слова: кодирование, генетический алгоритм, циклические избыточные коды, CRC, помехоустойчивое кодирование.

Рассматриваются методы повышения помехоустойчивости кодирования без введения дополнительной избыточности в передаваемое сообщение. Использование генетического подхода предполагает не исправление ошибок, а минимизацию их возможных последствий. Исследуется влияние битовых и пакетных ошибок на передаваемые данные при предварительном генетическом кодировании источника сообщений и последующем применении циклических избыточных кодов в сравнении со случайными кодовыми комбинациями. Предлагаемый подход не вносит дополнительную избыточность, но улучшает свойства кодирования ансамбля источника в части устойчивости к воздействию указанных ошибок. За передаваемые сообщения принимаются кодовые комбинации N точек метрического пространства, и в этом случае задача генетического кодирования заключается в том, чтобы при появлении ошибки кодовая комбинация одной точки переходила в кодовую комбинацию другой точки близкой к ней не только по кодовому расстоянию, но и по исходному. Указанное свойство должно быть выполнено не локально, а для всего ансамбля сообщений источника. Для различных видов ошибок необходимо производить подстройку генетического алгоритма. Описываются подобные модификации базового алгоритма на примере минимизации эффекта возникновения пакетов ошибок длины 2. При этом образуются два непересекающихся кластера соседних кодовых комбинаций. Такой подход позволяет значительно улучшить результат декодирования, уменьшая отклонения в метрическом пространстве, вызванные появлением ошибки. Проведение статистических испытаний показало, что отклонения, вызванные появлением одиночной битовой ошибки, для случайных кодовых комбинаций выше в среднем на 82%, чем при использовании генетического алгоритма. Метод кодирования для минимизации эффекта возникновения пакетов ошибок длины 2 позволяет уменьшить ошибку декодирования в среднем на 23% по сравнению с различными случайными кодовыми комбинациями. Распределение относительных ошибок декодирования в обоих случаях хорошо согласуется с распределением Гаусса при уровнях значимости 0,95 и 0,998 соответственно, а также при весьма малой дисперсии.

Фенчук М.М.,

Московский технический университет связи и информатики, Москва, mikhail.fenchuk@gmail.com

Синева И.С.,

Московский технический университет связи и информатики, Профессор, iss@mtuci.ru

Введение

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

Представление исходных данных

Сообщения, передаваемые по каналу связи, представляют собой кодовые комбинации N точек А, многомерного метрического пространства с координатами = ..,*„{/)), \<i<N. Рассматривается случай

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

108

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

расстояние ^ = (/)-*, (у))2 - = , = 0» > 0

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

Описание генетического алгоритма кодирования

Алгоритм-прототип, взятый за основу, был ранее описан в 11,2]. На первом шаге работы алгоритма производится поиск начальной точки нулевой категории, которая является центром тяжести массива всех исходных точек. Для каждой точки А. вычисляется сумма её евклидовых расстояний

.V

= Д° остальных точек массива, тогда начальной

У-1

точкой 4, будет та, у которой это значение минимально: /„ = а^тш{£>,; \<><Ы}. Она кодируется «-битной комбинацией, состоящей из одних нулей.

На втором шаге производится поиск точек первой категории - это группа из и (то же, что и С'„) точек, в целом наиболее близкая к начальной точке А^ . Их кодируют любой из

перестановок «-битных кодовых комбинаций, содержащих одну единицу: (00...001), (00...010), (00...100) и так далее. Для этого находим следующие значения:

=а^тт{<*ы; \ < j<N,j * /0},

Т-Сотт #11-2014

'|,2 = а^ттЦ^; /„, ] ф /,,},

¿1,3 = агётт {(1,пу, 1 < ] < Ы,} * /0,} * * /и} ,

'|.„=аГЙт'ПК У' ^ * '«• * ' ^'1.2.^ }»

тогда точки , „„ - это точки первой категории с

множеством индексов ©, = {/и, /| 2, ..., /',„}.

На третьем шаге производится поиск точек, которые в совокупности наименее удалены от точек первой категории — это точки второй категории, кодовые комбинации которых будут отличаться одной дополнительной единицей от кодовых комбинаций точек первой категории. Для удобства введём множество индексов точек, свободных для рассмотрения на этом шаге, то есть тех, которые не являются ни начальной точкой, ни точкой первой категории: 4х, ={£; I <к < /V, к е©,, к , Дальнейший анализ будет проводиться на основе двумерного массива {¿и(*)} ¿и(*), который содержит значения сумы расстояний от каждой из «свободных» точек кел¥1 до каждой из «2 =С' пар точек первой категории Ау , /,./е в, , Поиск точек второй категории и наименее

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

= ке%, к*^,, к * /.уев,,

^ -./ц,) =агЕтпК ,(£}; к кфки, кфк„,... г*/,

тогда точки - это точки второй категории с

множеством индексов ©2 .....Ь,.„,}. Присвоение ко-

довых комбинаций точкам второй категории осуществляется следующим образом: если, например, точке соответствует кодовая комбинация (ООО...010), а точке А]ф -

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

На четвёртом шаге аналогичным образом рассматриваются тройки точек е©2 второй категории, удовлетворяющие следующему условию: расстояние Хэмминга между ними попарно должно быть равно двум, т.е. г{'т]) = г{'>к)~г{],к) = 2. Эти тройки впоследствии и образуют п3 = С?, точек третьей категории, чьи кодовые комбинации будут содержать уже три единицы. Например, если тройке точек второй категории соответствовали кодовые

Т-Сотт #11-2014

комбинации (0011...0), (1001...0) и (1010...0), тогда ближайшей к ним по исходному расстоянию точке третьей категории будет присвоена комбинация (1011 ...0).

По той же схеме происходит поиск и кодирование четвёртой и последующих категорий. В итоге, на последнем шаге останется одна свободная точка, которой будет присвоена кодовая комбинация, состоящая из одних единиц. Более подробное описание и анализ эффективности см. [2,31.

Циклические избыточные коды (Cyclic redundancy check, CRC) используются для проверки целостности передаваемых данных или блоков данных, когда передача осуществляется в пакетных режимах. Принцип их работы заключается в добавлении к передаваемому блоку данных дополнительной последовательности бит (Frame Check Sequence, FCS), таким образом, что результирующий блок будет делиться без остатка на порождающий полином CRC-кода, т.е. в качестве контрольной суммы берется остаток от деления последовательности бит входных данных на фиксированное значение порождающего полинома. Использование этого кода в технологии LTE [4,5] делает его анализ особенно актуальным для сетей связи 4-го поколения и передаче данных в Интернете [6J.

Пусть р(х) — примитивный многочлен степени m, тогда порождающий многочлен CRC-кода G„r{x) можно записать в виде произведения: G„(jc) = (i + х)р(х) ,

С помощью порождающего многочлена Gj.r) может быть построен циклический CRC (п,к) - код с параметрами п-2"'-\ , к-2"-т-2, имеющий m +1 проверочных символов и dmin = 4. CRC-коды обладают следующими важными свойствами [7J:

все ошибки кратности 3 или меньше обнаруживаются; все ошибки нечетной кратности обнаруживаются; все пакеты ошибок длины т + \ или меньше обнаруживаются;

доля необнаружимых пакетов ошибок длины /и+ 2 составляет 2"" ;

доля необнаружимых пакетов ошибок длины большей m + 2 составляет 2Н>Ч) ;

где п - длина кодового слова, к — длина информационного блока, - минимальное расстояние между кодовыми комбинациями.

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

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

109

Влияние одиночной битовой ошибки

CRC-коды

0,05 для N = 2'° точек, кодовые комбинации которых в первом случае были получены при использовании генетического алгоритма, а во втором - заданы случайным образом. При появлении одиночной битовой ошибки кодовая комбинация одной точки переходит в кодовую комбинацию другой, находящейся от неё на определённом расстоянии в метрике пространства исходных сообщений, именно такой переход и считается ошибкой декодирования.

Проведение многократных испытаний показало, что отклонения, вызванные появлением одиночной битовой ошибки, для случайных кодовых комбинаций выше в среднем на 82%, чем при использовании генетического алгоритма. Относительные ошибки декодирования (1) представлены в виде частотной гистограммы на рис. I. По оси ординат отложены величины

где /;. — относительные ошибки декодирования, Е[Угт 1 ] —

математическое ожидание массива отклонений при случайных кодовых комбинациях, е\у 1 — математическое ожи-

I

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

распределение:

- Normal

Ä.=-

0,63 0,73 0,53 0,03 1,03 1,13

Относительные ошибки декодирования

Рис. 1. Относительные ошибки декодирования при появлении одиночной битовой ошибки

Применение критерия Колмогорова-Смирнова позволяет сделать вывод о том, что полученные данные хорошо согласуются с нормальным распределением (« = 0,82; а=0,062), уровень значимости 0,95.

Влияние пакетов ошибок длины 2

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

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

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

Поясним сказанное на примере п- 4 (рис. 2). Имеются четный кластер, порождаемый кодовой комбинацией 0000, и нечетный кластер, порождаемый кодовой комбинацией 0001.

0011

0101

0000

ОНО

1100

1010

1111

0010

0100

0001

1101 0111

1011

1110

1001

а) четный кластер

1000

б) нечетный кластер

Рис. 2. Кластеры соседних кодовых комбинаций при появлении пакетов ошибок длины 2

Разбиение кодовых комбинаций на кластеры может быть формально представлено следующим образом. Введем двоичные векторы е(/) длины /?, содержащие только две едини-

• • . I е:Ш = ем 0') = 1

цы на позициях / и ; + I соответственно, т.е. ' ,+11 ' ,

Пусть имеется

двоичная

кодовая

комбинация

.....0 ^ С1 е{^'Ч ^ \< j<n т0Гда ее ближайшими

соседями будут все комбинации вида с Ê(0j где обозна-чает посимвольное сложение по модулю 2, 1^;</)-1 Очевидно, что у соседних комбинаций кодовое расстояние равно 2, но в то же время не для всех кодовых комбинаций с кодовым расстоянием 2 имеет место соседство (например, 0000 и 0101 на рис. 2). Ближайшими соседями полученных

комбинаций будут комбинации вида ( дающие

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

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

• искажение попадает в зону служебной информации, где сразу же обнаруживается. Соответственно, либо комбинация передается повторно, либо единственный искаженный информационный символ исправляется и ошибка декодирования не возникает;

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

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

110

T-Comm #11-2014

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

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

Шаг I

а) Находится точка сгущения Л„(1) так же, как и в алгоритме- прототипе. Она будет начальной точкой кластера С1, кодируется как (0...000)-

б) Среди оставшихся точек находится точка сгущения Л„(2)» которая принимается за начальную точку в кластере

С 2 и получает кодовую комбинацию

Шаг 2

а) Среди оставшихся точек так же, как и в алгоритме-прототипе, ищутся точки первой категории (ближайшие соседи Лп(1) и метрике исходного пространства) кластера О,

их кодами будут (о...000)©е(;), 1 </< я-1.

б) Среди оставшихся точек ищутся точки первой категории, ближайшие к Д,{2)- Они входят в кластер С2 и имеют

коды (0...001)©е(/), 1<(<л-1-

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

/

Л

/

\

\

а

Распределение Normal

0.1 О2 0,3 0.4

Относительные ошибки дйсддироьэния

0,5

Рис. 3. Относительные ошибки декодирования при появлении пакетов ошибок длины 2

Из гистограммы видно, что использованный метод кодирования позволяет уменьшить ошибку декодирования в среднем на 23% по сравнению е различными случайными кодовыми комбинациями. Применение критерия Колмогорова-Смирнова позволяет сделать вывод о том, что данные, полученные для пакетов ошибок длины 2, так же хорошо согласуются с нормальным распределением ( а = 0,23 ; сг=0,065) при уровне значимости 0,998.

Шаг 3

а) Среди оставшихся точек ищутся точки второй категории кластера С1 гак же, как в алгоритме-прототипе, их кодами будут (0...000)Ф*>(/)©е(;), 1 </,./<п-\,

в) Среди оставшихся точек ищутся точки второй категории кластера С2 , их кодами будут {().,.00[)©е(/) е(/) ,

1 < ] < п - 1, ¡Ф )

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

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

Для анализа влияния пакетной двухбитной ошибки было произведено сравнение относительных ошибок декодирова-

3 включение

Основные результаты данной работы состоят в том, что

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

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

3. Обосновано появление двух непересекающихся кластеров соседних кодовых комбинаций.

4. В результате статистического моделирования получены оценки среднего уменьшения ошибки декодирования в метрике исходного пространства на 82% и 23% соответственно для однобитовых и пакетных (длина 2) искажений.

5. Обнаружено очень хорошее согласование распределения относительных ошибок с распределением Гаусса при весьма малой дисперсии (около 0,06).

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

Литература

I. Аджелюв A.C., Горбунов Н.В.. Синева И.С. Оценка эффективности генетического алгоритма кодирования сообщений при различных распределениях источников и их разнообразных метри-зациях. В кн.: Научная конференция профессорско-преподавательского, научного и инженерно-технического состава, Москва, 2002: материалы.М.: МТУСИ, 2002.-С. 106-107.

T-Comm #11-2014

111

2, Синева И.С. Улучшения качества передачи кодами, опирающимися на топологию источника сообщений. В кн.: Технологии информационного общества. Тезисы докладов московской отраслевой научно-технической конференции. - М.: Инсвязьиздат, 2007. - С. 169-170.

3, Синева И.С., Баталов А.Э., Фенчук ММ. Повышение помехоустойчивости кодов CRC при помощи предварительного генетического кодирования метризованного источника сообщений. Фундаментальные проблемы радиоэлектронного приборостроения / Материалы Международной научно-технической конференции «1NTERMAT1C-2013», 2-6 декабря 2013 г., Москва / Под ред. академика РАН A.C. Сигова. - М.: Энергоатомиздат, часть 4, 2013. - С. 65-70.

4. Фенчук ММ. Особенности кодирования в сетях LTE. В кн.: Сборник тезисов участников VI Международного молодежного форума и IX Международной научно-технической конференции студентов и молодых специалистов из стран участников Регионального содружества в области связи ((Информационные технологии в мире коммуникаций», Москва, 13-18 мая 2013. - С, 28-29,

5. Johnson С. Long Term Evolution IN BULLETS, 2nd Edition, Publisher: CreateSpace Pages: 592 Published: 2012-07-06 ISBN-10: 1478166177.

6. Синева И.С. Будущий Интернет: сстсвой подход. //Фундаментальные проблемы радиоэлектронного приборостроения. Т. 10, № 1-3,. 2010. - С. 237-240.

7. Дворкоеич В.П.. Дворкович A.B. 1 [ифровые видеоинформационные системы (теория и практика). - М.: Техносфера 2012. - 1007 с.

Noise immunity analysis of genetic code using cyclic redundancy check method

Mikhail Fenchuk, Moscow Technical University of Communications and Informatics, Postgraduate student, mikhail.fenchuk@gmail.com Irina Sineva, Moscow Technical University of Communications and Informatics, Professor, iss@mtuci.ru

Abstract

This article describes methods to improve error-correcting coding without additional redundancy in the transmitted message and it also describes research into bit and packet errors effects on the transmitted data with the prior genetic coding of message source and subsequent application of cyclic redundant codes in comparison with random coding. The proposed approach creates no additional redundancy, but improves encoding properties of the ensemble source in regard to resistance to the influence of these errors. Code combinations of N points in metric space are considered as transmission data. In this case, the problem of genetic coding consists in that at emergence of errors the code combination of one point passed into a code combination of other point close to it not only on code distance, but also on the initial metrics. The specified property has to be executed not locally, but for whole ensemble of source messages. Different types of errors require different configures of the genetic algorithm. Related modifications of basic algorithm which produces two disjoint clusters of neighboring codewords are described. This approach can significantly improve the decoding result, reducing the deviations in a metric space caused by the appearance of errors. Statistical tests shows that the deviations caused by a single bit error for random code combinations higher than for a genetic code combinations by 82%. Burst error-correcting genetic coding reduces decoding error by 23% compared with a different random code combinations. Distribution of the relative errors for both methods are consistent with a Gaussian distribution with a significance level of 0.95 and 0.998, respectively, and with a low dispersion.

Keywords: encoding, genetic algorithm, cyclic redundancy codes, CRC, noiseless coding.

References

1. AdzhemovAS., Gorbunov N.V., Sineva I.S., Evaluating the effectiveness of the genetic encoding algorithm for different distributions of sources and a variety of metrization. / Scientific Conference of faculty, scientific and technical staff, Moscow, 2002: materials. Moscow: MTUCI, 2002. Pp. 106-107.

2. Sineva I.S., Improving the quality of the transmission codes, based on the topology of the message source. In the book: Information Society Technologies: Proceedings of the Moscow branch scientific and technical conference. Moscow: Insvyazizdat, 2007. Pp. 169-170.

3. Sineva I.S., Batalov A.E., Fenchuk M.M. Increase noise immunity of CRC codes using preliminary genetic coding of a metrized messages source. Fundamental problems of radioelectronics/ Proceedings of the International Scientific and Technical Conference "INTERMATIC-2013", 2-6 December 2013, Moscow / Ed Academician AS. Sigova. Moscow: Energoatomizdat, Part 4, 2013. Pp. 65-70.

4. Fenchuk M.M. Features of LTE coding. In.: Abstracts of the VI International Youth Forum and IX International scientific and technical conference of students and young professionals from the countries of the Regional Commonwealth in the field of communication, "Information technology in the world of communications", Moscow, May 13-18, 2013. Pp. 28-29.

5. Johnson C. Long Term Evolution IN BULLETS, 2nd Edition. Publisher: CreateSpace. Published: 2012-07-06. ISBN-10: 1478166177. 592 p.

6. Sineva I.S. Future Internet: a network approach / Fundamental problems of radioelectronics. Vol.10, No 1-3, 2010, pp. 237-240.

7. Dvorkovich VP Dvorkovich AV. Digital video information systems (theory and practice). Technosphere, 2012. 1007 p.

112 T-Comm #11-2014