8. Peter, J. H. An Optimised Density Based Clustering Algorithm [Text] / J. H. Peter, A. Antonysamy // International Journal of Computer Applications. - 2010. - Vol. 6, Issue 9. - P. 20-25. doi: 10.5120/1102-1445
9. Wei, W. Improved VDB scan with global optimum K [Text] / W. Wei, Z. Shuang, R. Bingfei, H. Suoju. - 2013.
10. Birant, D. ST-DBSCAN: An algorithm for clustering spatial-temporal data Data Knowl [Text] / D. Birant, A. Kut // Data & Knowledge Engineering. - 2007. - Vol. 60, Issue 1. - P. 208-221. doi: 10.1016/j.datak.2006.01.013
11. Navneet, G. An Efficient Density Based Incremental Clustering Algorithm in Data Warehousing Environment [Text] / G. Navneet, G. Poonam, K. Venkatramaiah, P. C. Deepak, P. S. Sanoop // 2009 International Conference on Computer Engineering and Applications IPCSIT. - 2011. - Vol. 2.
12. Rehman, M. Comparison of density-based clustering algorithms [Electronic resource] / M. Rehman, S. A. Mehdi. - Available at: https://ww.google.com.ua/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fwww. researchgate.net%2Fprofile%2FSyed_Atif_Mehdi%2Fpublication%2F242219043_COMPARISON_OF_DENSITY-BASED_ CLUSTERING_ALG0RITHMS%2Flinks%2F5422e1120cf26120b7a6b36e.pdf&ei=LHgRVaSTA6Gv7Abh34CACw&usg=AFQ-jCNFA9JnzuIbam4B0KYCS_30Yw8Czmg&sig2=wNiTYQiNzFKcD0fEV3mLFw&cad=rja
13. Berkhin, P. Survey Of Clustering Data Mining Techniques [Electronic resource] / P. Berkhin. - 2002. - Available at: http://www.cc.gatech.edu/~isbell/reading/papers/berkhin02survey.pdf
14. Abu Abbas, O. Comparison Between Data Clustering Algorithms [Text] / O. Abu Abbas // The International Arab Journal of Information Technology. - 2008. - Vol. 5, Issue 3. - P. 320-325.
15. Gan, G. Data Clustering: Theory, Algorithms, and Applications [Text] / G. Gan, M. Chaoqun, W. Jianhong. - ASA-SIAM Series on Statistics and Applied Probability, SIAM, Philadelphia, ASA, Alexandria, 2007. - 466 p. doi: 10.1137/1.9780898718348
16. Jiawei, H. Data Mining: Concepts and Techniques. Second Edition [Text] / H. Jiawei, M. Kamber, J. Pei. - Series Editor Morgan Kaufmann Publishers, 2006. - 800 p.
17. Riley, K. F. Mathematical methods for physics and engineering [Text] / K. F. Riley, M. P. Hobson, S. J. Bence. - Cambridge University Press, 2010. - 1359 p.
18. Anil, K. J. Algorithms for clustering data [Text] / K. J. Anil, R. C. Dubes. - Prentice-Hall, Inc. Upper Saddle River, NJ, USA, 1988.
-□ □-
Проведено дослгдження коректувальног здатностi рiзних пгдкла^в циклiчних кодiв з використанням кт-цевих автоматiв в двшкових полях Галуа - лтшних послгдовшсних схем (ЛПС). Показано, що структура нульових циклiв ЛПС однозначно визначае кшьтсть випадкових помилок i nакетiв помилок, як виявля-ються та виправляються. Введем новi характеристики коректувальног здатностi циклiчних кодiв
Ключовi слова: циклiчнi коди, кодова вгдстань, коректувальна здаттсть коду, лтшна по^довтс-на схема
□-□
Проведено исследование корректирующей способности различных подклассов циклических кодов с использованием конечных автоматов в двоичных полях Галуа - линейных последовательностных схем (ЛПС). Показано, что структура нулевых циклов ЛПС однозначно определяет количество обнаруживаемых и исправляемых случайных ошибок и пакетов ошибок. Введены новые характеристики корректирующей способности циклических кодов
Ключевые слова: циклические коды, кодовое расстояние, корректирующая способность кода, линейная последовательностная схема -□ □-
УДК 681.32
|DOI: 10.15587/1729-4061.2015.39947|
ОЦЕНКА КОРРЕКТИРУЮЩЕЙ СПОСОБНОСТИ ЦИКЛИЧЕСКИХ КОДОВ НА ОСНОВЕ ИХ АВТОМАТНЫХ МОДЕЛЕЙ
В. П. Семеренко
Кандидат технических наук, доцент Кафедра вычислительной техники Винницкий национальный технический университет Хмельницкое шоссе, 95, г. Винница, Украина, 21021 E-mail: VPSemerenko@ukr.net
1. Введение
Развитие средств связи и растущий спрос на телекоммуникационные услуги требует дальнейшего улуч-
шения качества таких услуг для пользователей: увеличения пропускной способности (числа абонентов в случае мобильной связи), повышения достоверности передачи, снижения потребляемой мощности аппаратурой.
Все эти требования взаимно противоречивы: улучшение одних параметров связи часто ведет к ухудшению других. Эффективным решением этой задачи является использование помехоустойчивого кодирования передаваемых данных [1].
Безусловно, введение кодов для обнаружения и исправления ошибок также требует своей платы: уменьшение скорости передачи, увеличение полосы пропускания. Для того, чтобы сопоставить выигрыш от введения помехоустойчивых кодов и возникающих при этом неизбежных потерь необходимо иметь критерий эффективности кодирования. В первую очередь важно знать точную либо приближенную оценку количества обнаруживаемых и исправляемых ошибок. Другими словами, полезно знать, насколько хороши (оптимальны) помехоустойчивые коды и каковы характеристики наилучших кодов.
Очевидно, что мы имеем дело с многокритериальной задачей, поскольку приходится учитывать несколько взаимосвязанных параметров кодов. Для корректного решения всей задачи необходимо вначале разобраться с самыми критериями. Ограничимся рассмотрением только наиболее распространённых помехоустойчивых кодов - двоичных циклических кодов.
2. Анализ литературных источников и постановка проблемы
Важнейшей характеристикой кода является количество обнаруживаемых и исправляемых ошибок и критерием оценки этой характеристики принято считать минимальное кодовое расстояние dmin [1, 2].
В общем случае должно выполняться следующее соотношение между dmin и минимальным числом хс исправляемых и числом обнаруживаемых ошибок:
dmln >td +t +1 = 2t +1 = td +1.
min d c c d
Aw(x) = £aWji5
(i)
деления весов кода, даже в аналитическом виде. Однако, для всех кодов эта задача до сих пор не решена, поскольку спектр весов кода находится, как правило, простым перебором. Соответственно, для многих кодов до сих пор неизвестно точное значение dmin [3].
Проблема вычисления минимального кодового расстояния и определения корректирующей способности кодов на протяжении многих десятилетий является фундаментальной проблемой в теории помехоустойчивого кодирования.
Сложность проблемы нахождения dmin впервые была четко поставлена Бэрлекемпом, Мак-Эллисом и ван Тилборгом [4] еще в 1978 году. В 1997 году Варди [5] доказал, что для произвольного линейного блокового кода dmin не может быть вычислено за полиномиальное время. Этот вывод был подтвержден также в статье [6], в которой авторы заявляют, что нахождение dmin остается нерешенной вычислительной проблемой.
Поскольку еще не известны в общем виде аналитические зависимости между длиной кода п, числом контрольных разрядов г (г=п-к) и расстоянием dmin, поэтому часто используются различные нижние и верхние границы, устанавливающие асимптотические оценки взаимосвязей указанных параметров [1]. Наиболее известной из верхних границ является граница Хэмминга:
г > l
dmin -1 2
1 + Х
(2)
(1)
Универсальный способ точного вычисления параметра dmin для произвольного блокового линейного кода основан на анализе спектра весов кода - совокупности чисел, указывающих, сколько кодовых слов данного веса имеются у анализируемого кода.
Напомним, что весом w(y) п-разрядного двоичного слова у называется количество его ненулевых компонентов. Два кодовых слова у1 и у. могут различаться в m позициях (разрядах), в таком случае говорят, что расстояние по Хэммингу d(yi,yj) между ними равно m. Тогда минимальное кодовое расстояние равно наименьшему из всех расстояний по Хэммингу между различными парами кодовых слов у1 и у..
dmin = mind(yi,yj), уру. ей, 1 * ..
Весовой спектр можно задать как весовую функцию
По сути эта граница указывает на условия существования корректирующих кодов.
Для учета особенностей циклических кодов разработано большое количество различных границ (в основном, нижних) кодового расстояния. Наиболее ранней из них является БЧХ-граница, предложенная Бэрлекемпом. Известно, что порождающий многочлен g(x) кода БЧХ равен наименьшему общему кратному (НОК) минимальных многочленов ^(х) корней g(x):
g(x) = HOK{f,(x),f2(x),... fd-2(x)}.
(3)
где - число кодовых слов веса 1.
Для некоторых подклассов циклических кодов (Хэмминга, Голея, Рида-Соломона) известно распре-
Значение d в (3) и является нижней границей кодового расстояния, называемого конструктивным. Истинное минимальное расстояние кода во многих случаях больше конструктивного [2].
Граница Хартмана-Тзенга [7] улучшает указанную границу БЧХ, давая более точные нижние оценки расстояния dmin. Предложенные за последние годы асимптотические оценки dmin базируются на одной парадигме: представление циклического кода на основе корней его порождающего многочлена и использование определяющего множества (defining set) в качестве исходных данных для дальнейших вычислений. Эти оценки можно разбить на два типа: корневые (root) и предельные (border). К первому типу [8, 9] относятся оценки, являющиеся обобщением классической границы БЧХ, их сложность вычислений полиномиальна. Второй тип оценок [10] использует дополнительную информацию о коде и поэтому они более точны, но имеют экспоненциальную сложность. Для уменьшения сложности вычислений авторы в [11] предлагают использовать дискретное преобразование Фурье.
Таким образом, возникает проблема использования параметра dmin как критерия оценки циклических кодов.
Во-первых, требует обоснования правомерности использования минимального расстояния dmin для полной оценки потенциальной возможности обнаружения и исправления ошибок заданным кодом. Этот критерий не охватывает все виды возможных ошибок (только случайные ошибки) и все разновидности кодов (например, нельзя описать обнаруживающую способность СЯС-кодов). Нельзя также представить возможность кода исправлять часть ошибок определенной кратности.
Во-вторых, очень сложно определить точное значение dmin для произвольного кода: приходится либо решать NP-полную задачу нахождения весового спектра кода, либо довольствоваться неточными границами для кодового расстояния. Интересно заметить, что расстояние dmin по своей сути является границей относительно количества обнаруживаемых и исправляемых ошибок и для его нахождения также используются различные границы.
Возникает закономерный вопрос: а нужно ли тратить вычислительные ресурсы на определение минимального кодового расстояния, если этот параметр не является сам по себе исчерпывающей характеристикой корректирующей способности кода? Может быть, следует направить усилия на непосредственное определение количества обнаруживаемых и исправляемых ошибок и уже на основе этих данных определить точное значение <1 • ?
введем новые выражения для точного аналитического представления количества исправляемых и обнаруживаемых ошибок заданным кодом.
ОПРЕДЕЛЕНИЕ 1. Случайная ошибка в кодовом слове Zerr называется обнаруживаемой кратности то, если ее синдром является ненулевым и может совпадать с синдромами других ошибок кратности то и меньше.
ОПРЕДЕЛЕНИЕ 2. Случайная ошибка в кодовом слове Zerr называется исправляемой кратности т, если ее синдром является ненулевым и не совпадает с синдромами других ошибок кратности т и меньше.
ОПРЕДЕЛЕНИЕ 3. Случайная ошибка в кодовом слове Zerr называется исправляемой минимальной кратности тш1п, если могут быть исправлены все ошибки кратности 1, 2, ... , тш1п.
ОПРЕДЕЛЕНИЕ 4. Случайная ошибка в кодовом слове Zerr называется Ь-вариантно исправляемой кратности ть, если ее ненулевой синдром совпадает только с синдромами Ь ошибок кратности тЬ (Т >ттт).
ОПРЕДЕЛЕНИЕ 5. Случайная ошибка в кодовом слове Zerr называется частично исправляемой кратности тшах, если могут быть исправлены только часть ошибок кратности тшах и ошибки меньшей кратности (Тта1 >Ттш).
Теперь введем новые характеристики корректирующей способности циклических кодов.
ОПРЕДЕЛЕНИЕ 6. Спектром исправляемых случайных ошибок циклического (п, к)-кода называется список вида
3. Цель и задачи исследований
Целью данной работы является решение ключевой проблемы теории помехоустойчивого кодирования для одного класса помехоустойчивых кодов - нахождения достоверного критерия оценки обнаруживающей и корректирующей способностей циклических кодов.
Для достижения поставленной цели были решены следующие задачи:
- разработаны принципиально новые методы оценки обнаруживающей и корректирующей способностей циклических кодов на основе их автоматных моделей;
- введены новые выражения для точного аналитического представления количества исправляемых и обнаруживаемых ошибок заданным кодом.
Фг = {т1 :ш1;...;тш1п :тт!п;...,ттах :ттах},
(4)
где ш; - количество исправляемых ошибок кратности Т (1 = 1 -тша1).
Более наглядным может быть спектр исправляемых случайных ошибок в процентном отношении, в котором указывается процент исправляемых ошибок каждой кратности:
Фг = {т1:11%;...;тш1п: 1ш1п%;...,тшах: 1шах%}.
(5)
где 1; % - процент исправляемых ошибок кратности т1.
ОПРЕДЕЛЕНИЕ 7. Спектром случайных ошибок циклического (п, к)-кода, которые Ь-вариантно исправляются, называется список вида
Фь = {т1:ш1;. ;тh:mh},
(6)
4. Спектры ошибок циклических кодов
Пусть имеется циклический (п, к)-код с длиной п кодового слова и длиной к информационного слова над полем Галуа GF(2). Сформированное на стороне источника сообщений кодовое слово Z передается по каналу связи и принимается декодером на стороне приемника сообщений. В результате действия помех в канале связи может быть принято кодовое слово с ошибками Zerr. Декодер вычисляет синдром, по значению которого обнаруживаются и исправляются ошибки в кодовом слове.
Уточним виды возможных типов ошибок с позиций синдромного декодирования циклических кодов и
где ш1,. ,шь - количество ошибок кратности т1,..., ть, которые Ь-вариантно исправляются.
ОПРЕДЕЛЕНИЕ 8. Спектром исправляемых пакетов ошибок циклического (п, к)-кода называется список вида
ф ь = {т1:шГ>. ;т ь:шьЬ
(7)
где ш1,. ,шь - количество исправляемых пакетов ошибок длины т1,..., ть.
ОПРЕДЕЛЕНИЕ 9. Спектром исправляемых стираний циклического (п, к)-кода называется список вида
Ф = {т, :ш1;...;т :ш },
е 11 1" "в в >
где т4,.., те - количество исправляемых стирании кратности х4, ..., те.
Спектры ошибок (6)-(8) по аналогии с (5) также могут быть представлены в процентном отношении.
Все спектры различных видов ошибок могут быть определены на основе автоматных моделеИ циклических кодов.
5. Автоматные модели циклических кодов
Автоматные модели циклических кодов основаны на специальном классе конечных автоматов в полях Га-луа - линейных последовательностных схемах (ЛПС). Согласно [12] ЛПС с 1 входами, т выходами и г элементами памяти в дискретные моменты времени t над полем Галуа GF(2) описывается функцией переходов
S(t +1) = А х S(t) + В х Х00, и функцией выходов
GF(2)
Y(t) = С х S(t) + D х Х00, GF(2),
где А = ай
В = Ы , С = Ы
I Ч|гх1 I «I,
D = И.,
(9)
(10)
характе-
ристические матрицы ЛПС^^) = , и^) = , Y(t) = \у>\ - слова состояний, входное и выходное.
Размерности матриц ЛПС и параметры циклического (п, к)-кода О связаны через коэффициент г, который для кода равен числу контрольных разрядов кодового слова Z при систематическом кодировании (г = п - к). Над полем Галуа GF(2) в ЛПС с одним входом и одним выходом могут быть использованы такие матрицы:
А =
0 0 0 ...
10 0 ...
0 10 ...
0 0 0 1
В =
,С = |0 ... 0 1|^ = 10.
(11)
Элементы последнего столбца матрицы А из (11) представляют собой коэффициенты порождающего многочлена (п, к)-кода О:
g(x) = go + glX + g2x2 + ... + gг-lXX-1 + gгXГ.
(12)
На основе ЛПС можно построить автоматно-графо-вую и автоматно-аналитическую модели циклического (п, к)-кода [13]. Рассмотрим вкратце их суть.
Поскольку ЛПС является конечным автоматом, поэтому в качестве автоматно-графовой модели можно выбрать граф переходов-выходов этого автомата [13]. Для г-мерной ЛПС над полем GF(2) такой граф пере-
ходов-выходов представляет собой ориентированный граф GFA(VFA,EFA), в котором 2г вершин из множества вершин соответствуют 2г внутренним состоя-
ниям автомата, а дуги из множества дуг Ем показывают направления переходов между внутренними состояниями (г = п - к). В общем случае из вершины vj ^ е ^А) могут выходить нулевая и единичная дуги, а также входить нулевая и единичная дуги.
Если порождающий многочлен (12) является неприводимым и непримитивным или равен произведению нескольких неприводимых многочленов, тогда граф переходов GFA содержит некоторое количество нулевых циклов (НЦ) длины не более п, образованных нулевыми дугами. Эти НЦ можно упорядочить по следующим уровням.
На нулевом уровне будет располагаться тривиальный НЦ (ТНЦ), состоящий из одной вершины v0, для которой входящая и выходящая нулевые дуги объединяются и образуют петлю. Далее, на первом уровне находится основной НЦ (ОНЦ) длины п, который связан с ТНЦ парой противоположно направленных единичных дуг. Все остальные НЦ, которые именуются периферийными НЦ (ПНЦ), распределяются по следующим уровням таким образом. На втором уровне располагаются те ПНЦ, каждый из которых связан с ОНЦ с помощью двух пар противоположно направленных единичных дуг. На (т + 1)-ом уровне каждый ПНЦ имеет (т + 1) пар противоположно направленных единичных дуг с ПНЦ т-го уровня и отсутствуют единичные дуги с ПНЦ уровней (т-1) и менее (т<тт1п). Единичные дуги между НЦ разных уровней будем именовать "вертикальными", а между НЦ одного уровня либо внутри НЦ - "горизонтальными".
Если порождающий многочлен (11) является неприводимым и примитивным, тогда граф переходов GFA содержит только ТНЦ и ОНЦ длины (2 1).
Для проведения анализа корректирующей способности циклического кода часто бывает достаточной лишь обобщенная структура его автоматно-графовой модели. Тогда можно перейти к более компактной графовой модели - неориентированному графу единичных связей Gcom(Vcom,Ecom), в котором вершины из множества вершин ^.от соответствуют НЦ графа GFA (назовем такие вершины объединенными), а ребра из множества ребер Есот - только единичным "вертикальным" дугам графа GFA. Дуги между НЦ в графе GFA заменяются ребрами таким образом, чтобы каждая объединенная вершина в графе Gcom была связана хотя бы одним ребром с одной объединенной вершиной меньшего уровня. Поэтому может быть несколько вариантов графа Gcom, отличающихся структурой взаимосвязей объединенных вершин нижних уровней.
ПРИМЕР 1. Рассмотрим (15,7)-код БЧХ с порождающим многочленом g(x) = 1 + х4 + х6 + х7 + х8. Граф Gcom этого кода содержит 19 объединенных вершин: одну на первом уровне, семь на втором уровне и 11 на третьем (рис. 1). В графе GFA указанным вершинам соответствуют ОНЦ (цикл а), семь ПНЦ второго уровня (циклы Ь, ^ d, £ Ь, 1, 1) длины 15, восемь ПНЦ 3-го уровня (циклы е, g, к, т, п, o, р) длины 15 и три ПНЦ 3-го уровня (циклы г, s, длины 5. Названия циклов дано в обозначениях [14].
0
Рис. 1. Граф Gcom (15,7)-кода БЧХ с порождающим многочленом g(x)=1+x4+x6+x7+x8
Отметим ряд важных свойств графа GFA для циклического кода с неприводимым непримитивным порождающим многочленом, который позволяет исправлять хт!п случайных ошибок.
1. На х -м уровне (х<хт!п) графа GFA длина каждого НЦ равна п. В каждом НЦ имеется х пар противоположно направленных "вертикальных" единичных дуг от НЦ (х-1)-го уровня.
2. На х -м уровне (х>хт!п) графа GFA длина НЦ может быть равной т (т = = 1,2,3,...), также возможно большее количество "вертикальных" единичных дуг с НЦ предыдущего уровня. На этих уровнях будем различать два вида НЦ длины т:
- НЦ вида 1, если он связан с разными НЦ (х-1)-го уровня с помощью N пар противоположно направленных "вертикальных" единичных дуг:
хтт х т
Кг =-, х > хт
(13)
- НЦ вида 2, если он связан с разными НЦ (х-1)-го уровня с помощью К1;2' > К1;1' пар противоположно направленных "вертикальных" единичных дуг.
Для построения НЦ рассмотрим автоматно-анали-тическую модель циклического кода на основе функций (9) и (10).
Вершинам графа GFA соответствуют внутренние состояния ЛПС. Последовательность слов внутренних состояний ЛПС, которые соответствуют вершинам одного цикла в рассмотренных графовых моделях, также образуют цикл. Поскольку совокупность циклов из слов состояний имеет такую же структуру, что и совокупность циклов из вершин, поэтому для характеристики циклов из слов состояний будем использовать те же термины: ТНЦ, ОНЦ и ПНЦ. В автоматно-аналитической модели цикл ТНЦ будет представлен как г-разрядное нулевое слово, а остальные НЦ - множества из т г-разрядных слов (т=п либо является делителем п).
В дальнейшем различие между НЦ, образованных вершинами графа, и НЦ, образованных словами состояний ЛПС, определяется контекстом: в графовых моделях подразумеваются автоматно-графовые НЦ, а при математических преобразованиях - автоматно-а-налитические НЦ.
Прежде, чем упорядочить все НЦ по уровням, необходимо вначале сформировать эти НЦ, т. е. построить граф GFA. Операции формирования НЦ и их упорядочения можно выполнять одновременно. Рассмотрим
алгоритм формирования ОНЦ и ПНЦ 2-го уровня на основе заданных матриц ЛПС.
АЛГОРИТМ ФОРМИРОВАНИЯ НУЛЕВЫХ ЦИКЛОВ.
Исходные данные:
- характеристические матрицы Л = Щ ,В = . Результат: ТНЦ, ОНЦ, все ПНЦ второго уровня.
1. Сформировать цикл ТНЦ: S(0) = 0 . Положить t = 1.
2. Вычислить: S(1)(t) = S(0) + В, GF(2).
3. Положить t = t +1.
4. Вычислить: S(1)(t) = AхS(1)(t -1), GF(2).
5. Если S(1)(t)Ф S(1)(0), то перейти к п. 3.
6. Положить п = ^ Сформировать ОНЦ iз
7. Для 1 от 1 до
выполнить:
7. 1. Присвоить: SЦ2(i) = S(1)(i).
7. 2. Вычислить^2« = + В, GF(2)
7. 3. Присвоить: S(2)(1) = S1н1>d2(i).
7. 4. Для t от 1 до п-1 выполнить: +1) = A х Si2)(t), GF(2)
7. 5. Сформировать 1-й ПНЦ второго уровня:
^2)(1)^(2)(2), ...,^2)(п).
8. Конец.
Если общее количество слов состояний сформированных НЦ будет меньшей, чем 2г, это будет означать возможность наличия в графе GFA ПНЦ последующих уровней.
В основе алгоритма формирования НЦ лежит единственная операция рекурсивного вычисления внутренних состояний ЛПС. Сложность формирования ОНЦ линейна: О(п). Сложность формирования ПНЦ второго уровня квадратична: 0(п2).
Способ нахождения ПНЦ 1-го уровня по известному ПНЦ (1-1)-го уровня аналогичен способу нахождения ПНЦ 2-го уровня из ОНЦ, который изложен в Алгоритме. Сложность формирования ПНЦ 1-го уровня: 0(п х пм х п!), где пм и п! - количество НЦ соответственно на (1-1)-м и 1-м уровнях.
6. Принцип поиска ошибок на основе автоматных моделей
Рассмотрим интерпретацию процедуры декодирования циклического (п, к)-кода в терминах введенных автоматных моделей.
Введем понятие кодового пути п, который состоит из п однонаправленных дуг в графе GFA, в причем 1-а нулевая (единичная) дуга соответствует разряду zi = 0 ^ = 1) кодового слова Z ^ eZ, 1 = 1 ^п). Основным свойством кодового пути п есть то, что он начинается и заканчивается в одной и той же вершине графе GFA. Наиболее часто такой вершиной выбирают начальную вершину V,), которая соответствует нулевому состоянию S(0) ЛПС.
При передаче данных по каналу связи вследствие различных помех некоторые разряды кодового слова случайным образом могут быть искажены, т.е. будет получено кодовое слово Z(Trl со случайной ошибкой кратности т. Взаимосвязь между кодовыми словами Z и Z(Jr) выражается через слово ошибки Е'
(т)
ЕС? = Z + Z
(т )
GF(2).
(14)
Под воздействием случайной ошибки кратности т кодовый путь в графе GFA начинается в вершине v0 и оканчивается в некоторой вершине ошибке, которую обозначим как v(rr. Назовем кодовый путь п^ от вершины V,, к вершине v(rr прямым. НЦ, который содержит вершину v(rr, назовем НЦ ошибки.
ТЕОРЕМА 1. НЦ ошибки, в котором оканчивается прямой кодовый путь п^, находится на уровне т графа GFA, т = 1 -^тш1п.
Доказательство. Кодовому слову Z соответствует путь, который начинается и оканчивается в одной и той же вершине V,. Кодовому слову Z(Tr) соответствует прямой кодовый путь п^ ошибки. Равенство (14) будет справедливо в рамках графовой модели лишь тогда, когда слову ошибки Е^ будет соответствовать путь от вершины V, к вершине v(rr, но не обязательно прямой кодовый путь п^ ошибки.
Таким образом, в графовой модели слова Z(Tr) и Е(;) эквивалентны относительно вершин V, и v(rr. Для дальнейшего доказательства перейдем к слову ошибки Е(т?, которое содержит т единиц и (п -т) нулей. Каждая единица в слове ошибки соответствует переходу по "вертикальной" единичной дуге графа GFA, а каждый ноль - переходу по нулевой дуге этого графа. Если по нулевым дугам можно переходить между вершинами одного НЦ, то по "вертикальным" единичным дугам можно переходить между НЦ соседних уровней, следовательно, по т таким дугам можно осуществить "спуск" до одного из НЦ уровня т графа GFA. Именно этот НЦ и содержит вершину v(rr.
1
В общем случае декодирование циклических кодов состоит из двух этапов: установление факта отсутствия или наличия ошибки, и определение параметров ошибки при ее наличии.
В терминах автоматно-графовой модели первый этап декодирования состоит в нахождении вершины v(rr а второй этап - в построении обратного кодового пути п„ от вершины v(rr к вершине V,.
В терминах автоматно-аналитической модели первый этап декодирования состоит в подаче на входы ЛПС, находящейся в нулевом начальном состоянии S(0), кодового слова Z(tr). Через п тактов времени ЛПС, согласно формулы (9), перейдет в некоторое ненулевое состояние S(Tr)(n), именуемое синдромом ошибки кратности т.
ТЕОРЕМА 2. Циклический (п, к)-код способен исправить все Чш1п = N случайных ошибок кратности тшп и менее, если для его графа GFA выполняются следующие условия:
1) имеется не менее тш1п уровней, на котором расположены НЦ; на т-ом уровне общее количество N вершин всех НЦ равно:
N =
где
- число сочетаний из п по т (т = 1 -^тш1п).
Доказательство. Количество исправляемых ошибок кратности т должно соответствовать количеству синдромов этих ошибок. Количество N синдро-
' п^
мов ошибок кратности т равно . Каждый синдром
Ы
ошибки соответствует одной вершине в графе GFA . На
т -ом уровне графа м количество вершин равно
т. е. достаточно для отображения всех случайных ошибок кратности т. Общее количество вершин на всех тшп уровнях графа GFA равно
/ \ / \ л л
чш1п =
и достаточно для отображения всех случайных ошибок кратности 1, 2, ... , тш1п. Следовательно, все случайные ошибки кратности 1, 2, ..., тш1п могут быть исправлены. 1
После построения автоматно-графовой модели и нахождения количества исправляемых ошибок можно по формуле (1) определить точное значение кодового расстояния, т.е. параметр dmin будет в таком случае выступать как производное от найденного числа ошибок.
СЛЕДСТВИЕ 1. Циклический (п, к)-код, удовлетворяющий условию Теоремы 2, имеет спектр исправляемых случайных ошибок и кодовое расстояние dmin:
/ \ п / \ п с \ п
+ ,2 +... + чтш1п ,
{1:
/ \ п / \ п / \ п
; 2: ; . ; тш1п:
,1, ,2 ,тш1п ,
}, dmin = 2тшп +1. (15)
СЛЕДСТВИЕ 2. Если в графе GFA циклического (п, к)-кода отсутствуют НЦ на (тш1п + 1)-ом уровне и выше, тогда
(16)
/ \ п + / \ п + ... + / \ п = 2п-к
, 2 V ш1п /
7. Анализ корректирующей способности циклических кодов по случайным ошибкам
Последующие теоремы устанавливают взаимосвязь корректирующей способности циклических кодов со структурой его графа GFA.
и такой код называется совершенным.
ПРИМЕР 2. Если по изложенному Алгоритму построить граф GFA для (23,12)-кода Голея с порождающим многочленом g(x) = 1 + х2 + х4 + х5 + х6 + х10 + х11, тогда можно убедиться, что этот граф содержит ТНЦ и 89 НЦ длины 23: ОНЦ, 11 ПНЦ 2-го уровня и 77 ПНЦ 3-го уровня. Количество вершин на 1-ом уровне графа
GFA соответствует количеству исправляемых ошибок 1-й кратности. Следовательно, исправляются все одиночные, двойные и тройные случайные ошибки. Спектр исправляемых ошибок согласно (4) имеет вид:
{1:23; 2:253; 3:1771}, или в процентном отношении, согласно (5):
{1:100 %; 2:100 %; 3:100 %}.
Далее можно определить кратности исправляемых ошибок и вычислить минимальное кодовое расстояние:
тшах = тш1п =3, dmin = 2 х 3 +1 = 7.
Несложно убедиться в выполнении условий (15) и (16) для кода Голея.
1
ТЕОРЕМА 3. Циклический (п,к )-код, удовлетворяющий условиям Теоремы 2, способен также исправить ^¡^ = т случайных ошибок кратности (тшп +1,•■■,тшах), е°сли для его графа GFA выполняются дополнительные условия:
1) имеется более, чем тш1п уровней, на котором расположены НЦ;
2) на (тш1п + 1)-м и последующих уровнях имеются НЦ вида 1 с общим количеством вершин Кт:
, для т=т • +1,•..,т
(17)
Доказательство. Для исправления ошибок кратности т>т1п1п НЦ ошибки в графе GFA должен находиться на расстоянии т>т1п1п от ТНЦ, т. е. обратный кодовый путь должен включать т > тш1п "вертикальных" единичных дуг между НЦ. Поэтому, граф GFA должен иметь дополнительные уровни. Циклический (п, к)-код с кодовым расстоянием dmin, позволяет исправить только часть ошибок кратности т>т1п1п, а не все ошибки этой кратности, иначе выполнялось бы равенство
N =
что противоречит (17). Поэтому для частично исправляемой ошибки справедливо неравенство (17), и с его учетом получаем значение ^¡¡^
Для исправления случайной ошибки кратности т>тшп необходимо, чтобы в графе GFA НЦ ошибки длины ш (ш<п) был связан с другими НЦ (т-1)-го
т ш
уровня с помощью - пар противоположно направ-
п
ленных "вертикальных" единичных дуг. Таким условиям отвечают НЦ вида 1.
Если НЦ ошибки длины ш (ш<п) был связан с
другими НЦ (т-1)-го уровня с помощью
т шЬ
пар
противоположно направленных "вертикальных" единичных дуг, тогда такие ошибки будут Ь-вариантно исправляемыми. 1
СЛЕДСТВИЕ 3. Циклический (п, к)-код, удовлетворяющий условию Теоремы 3, имеет кодовое расстояние dmin и спектр исправляемых случайных ошибок
{1:
1
; 2:
2
; - ; тш
тш1п +1: N , т^: ^ }.
Говорят, что циклический код, удовлетворяющий условию Теоремы 3, может исправлять ошибки за пределами кодового расстояния dmin.
ПРИМЕР 3. Рассмотрим снова (15,7)-код БЧХ из Примера 1. Наличие НЦ на третьем уровне свидетельствует о потенциальной возможности исправления тройных случайных ошибок. Далее рассмотрим возможность выполнения второго условия Теоремы 3. С этой целью проведем исследование структуры связей между отдельными НЦ второго и третьего уровней. В табл. 1 в (! .)-й клетке записано количество пар противоположно направленных "вертикальных" единичных дуг графа GFA между 1-м НЦ третьего уровня и .-м НЦ второго уровня.
Таблица 1
Структура взаимосвязей НЦ второго и третьего уровней графа GFA кода БЧХ с порождающим многочленом
g(x) = 1 + х4 + х6 + х7 + х8
НЦ цикл ь цикл 1 цикл /■ цикл с цикл i цикл 1 цикл h Итого
цикл e 1 0 1 2 3 1 1 9
цикл j 1 1 1 0 3 1 2 9
цикл п 1 0 0 0 1 1 3
цикл m 2 1 1 1 3 1 0 9
цикл £ 1 1 1 0 0 0 0 3
цикл k 0 2 1 1 3 1 1 9
цикл р 0 1 1 0 1 0 3
цикл о 0 0 1 1 0 0 1 3
цикл г 1 0 1 1 0 0 0 3
цикл 5 0 1 0 0 0 1 1 3
цикл t 0 0 0 0 1 0 0 1
Как видно из табл. 1, пять ПНЦ третьего уровня (циклы g, о, п, р, t) относятся к НЦ вида 1, поскольку выполняется равенство (13): циклы g, о, п, р связаны з разными ПНЦ второго уровня с помощью только трех пар, короткий цикл t - с помощью одной пары противоположно направленных "вертикальных" единичных дуг. Циклы g, о, п, р длины 15 дают 4х15 синдромов тройных ошибок, которые исправляются, а цикл t длины 5 дает еще 5 синдромов исправляемых тройных ошибок. В результате исправляется 65 тройных ошибок, или 14 % от их общего количества для этого кода. Остальные ПНЦ третьего уровня (циклы е, к, ш, г, s) относятся к НЦ вида 2, поскольку циклы е, к, ш связаны с разными ПНЦ 2-го уровня с помощью девяти пар противоположно направленных "вертикальных" единичных дуг, а короткие циклы г, s - с помощью трех пар противоположно направленных "вертикальных" единичных дуг.
Таким образом, для рассматриваемого кода БЧХ одиночные и двойные ошибки полностью исправляются, а тройные ошибки только частично: только те,
п
синдромы которых попадают в циклы g, o, n, p, t. Тройные ошибки, синдромы которых попадают в циклы e, j, k, m, r, s - 3-вариантно исправляются. Следовательно, спектр исправляемых случайных ошибок в процентном отношении, согласно (5) и (6):
Фг ={1:100%; 2:100%; 3:14%}, Фь ={3:15%}.
Минимальное кодовое расстояние для (15,7)-кода БЧХ:
tmin = 2, tmax = 3, dmin = 2 х 2 +1 = 5.
1
С позиций автоматного представления циклических кодов можно легко доказать следующие теоремы.
ТЕОРЕМА 4. В графе GFA квадратично-вычетного (n, к)-кода и (n, к)-кода БЧХ, позволяющих исправить все случайные ошибки кратности tmin и менее, отсутствуют "горизонтальные" единичные дуги на уровнях 1, 2, ..., tmin-1.
СЛЕДСТВИЕ 4. Если для квадратично-вычетного кода или кода БЧХ, в процессе построения графа GFA "горизонтальные" единичные дуги между соседними НЦ появляются, начиная с i-го уровня, тогда можно утверждать, что минимальное кодовое расстояние для анализируемого кода равно dmin = 2i +1.
ТЕОРЕМА 5. Циклический (n, к)-код Файра не может исправлять случайные ошибки двойной кратности и более.
Очень интересная ситуация с исправляемыми и обнаруживаемыми ошибками имеет место в кодах CRC (Cyclic Redundancy Code - циклические избыточные коды). Принято считать [15], что кодовое расстояние для CRC-кода равно dmin=4. С точки зрения корректирующей способности этого кода такая оценка точна. Однако, CRC-код обнаруживает также все ошибки нечетной кратности, и это свойство кода невозможно отразить с помощью традиционного кодового расстояния. Более точной характеристикой является спектр обнаруживаемых случайных ошибок, который для CRC-кода в процентном отношении равен:
{1:100%; 2:100%; (2i+1):100%}, i=1, 2, 3, ....
8. Анализ корректирующей способности циклических кодов по пакетам ошибок
Введем вначале необходимые определения [16].
ОПРЕДЕЛЕНИЕ 10. Циклическим пакетом Дь ошибок длины т ь называется пакет, в котором первая ошибка расположена в позиции 1, а последняя - в позиции (1 + т-1)modn (1 = 1 ^ п).
ОПРЕДЕЛЕНИЕ 11. Циклическим разреженным пакетом Д|Ъпу ошибок длины ть называется циклический пакет, внутри которого могут быть безошибочные символы.
ОПРЕДЕЛЕНИЕ 12. Циклическим плотным пакетом Дь ошибок длины ть называется циклический пакет, состоящий только из ть ошибочных символов.
Установим взаимосвязь корректирующей способности циклических кодов по разреженным пакетам ошибок со структурой его графа GFA.
ТЕОРЕМА 6. Циклический (п, к)-код способен исправить все N разреженных пакетов ошибок длины ть ( ть > 2 ) и менее
N = £Г 2i = 2tb-1 -1,
(18)
если его граф GFA содержит не менее (Кь +1) НЦ длины п.
Доказательство. Поскольку возможно 21 вариантов пакетов ошибок длины 1, поэтому суммарное количество пакетов ошибок длины 1, 2, ..., ь равно N (18). Для исправления каждого варианта пакета ошибок и его п циклических сдвигов должен быть отдельный НЦ длины п. С учетом необходимости отдельного НЦ для одиночных ошибок его граф GFA должен содержать не менее (Кь +1) НЦ длины п.
Приведем без доказательства ряд теорем относительно некоторых подклассов циклических кодов.
ТЕОРЕМА 7. Квадратично-вычетные (п, к)-коды и (п, к)-коды БЧХ, исправляющие тт1п случайных ошибок, способны исправить все разреженные пакеты ошибок длины не более ть (ть > 2):
т,< J
2d tm
n -1 i
)+1.
ТЕОРЕМА 8. Циклический (п, к)-код Файра способен исправить одиночные ошибки и все разреженные пакеты ошибок длины ть (т > ) и менее, если для его графа GFA выполняются следующие условия:
1) имеется не менее ть уровней, на котором расположены НЦ; справедливо соотношение:
2c
Jog2 -
c
где [*] означает округление до ближайшего целого в меньшую сторону.
ПРИМЕР 4. Рассмотрим циклический (105,94)-код Файра с порождающим многочленом g(x)= =(1+х7)(х4+х+1). Графовая модель этого кода содержит на шести уровнях следующее количество НЦ длины 105 (НЦ длины 7 и длины 15 для нашей задачи не играют роли): ОНЦ, 3 ПНЦ второго уровня, 5 ПНЦ третьего уровня, 5 ПНЦ четвертого уровня, 3 ПНЦ пятого уровня и один ПНЦ шестого уровня. В ОНЦ содержатся синдромы всех одиночных ошибок, в ПНЦ второго уровня - синдромы пакетов ошибок длин 2, 3 и 4, в ПНЦ третьего уровня - синдромы пакетов ошибок длин 3, 4 и 5, в ПНЦ четвертого уровня - синдромы пакетов ошибок длин 4, 5 и 6, в ПНЦ пятого уровня -синдромы пакетов ошибок длин 5 и 6, в ПНЦ шестого уровня - синдром пакетов ошибок длины 6. Код позволяет исправлять все одиночные случайные ошибки, все пакеты ошибок длины 4 и менее, а также 62,5 % пакетов ошибок длины 5 и 31,25 % пакетов ошибок длины 6. Более точно корректирующую способность кода показывает его спектр исправляемых разреженных пакетов ошибок в процентном отношении:
{1:100%; 2:100%; 3:100%; 4:100%; 5:62,5%; 6:31,3%}.
Код позволяет исправлять также некоторое количество случайных ошибок, о чем показывает его спектр
исправляемых случайных ошибок в процентном отношении:
{1:100%; 2:5,7%; 3:0,3%}.
Рассмотрим вкратце плотные пакеты ошибок длины т5 не менее, чем ^2.
ТЕОРЕМА 9. Циклический (п, к)-код способен исправить одиночные плотные пакеты ошибок длины
п - к п -1
—-— < т5 < , если выполняется условие г > log2((n2 - п + 2)/2).
СЛЕДСТВИЕ 5. Циклический (п, к)-код Файра не может исправлять плотные пакеты ошибок длины
Таким образом, на основе автоматного представления циклических кодов можно точно оценить их корректирующие способности по разным типам ошибок и представить их в наглядной форме с помощью спектров исправляемых ошибок.
9. Выводы
Предлагается принципиально новый метод вычисления обнаруживающей и корректирующей способностей циклических кодов с помощью их автоматных
моделей на основе теории линейных последователь-ностных схем (ЛПС). Структура нулевых циклов графа переходов ЛПС однозначно определяет количество обнаруживаемых и исправляемых случайных ошибок и, соответственно, минимальное кодовое расстояние. Анализ графовой модели циклического кода позволяет также вычислить корректирующую способность кода относительно разреженных и полных пакетов ошибок. Такой подход позволяет с единых позиций произвести сравнение корректирующих способностей различных подклассов циклических кодов (СРС, Хэм-минга, БЧХ, Файра и других).
Построение полной графовой модели циклического кода представляет собой трудоемкую задачу, однако для решения разработан строго формализованный алгоритм, в отличии от полного перебора при поиске весового спектра кода. Суть этого алгоритма состоит в вычислении множества нулевых циклов графа на основе единственной операции рекурсивного вычисления внутренних состояний ЛПС, что позволяет эффективно использовать различные способы параллельной обработки данных. Важным достоинством алгоритма является его итеративный характер, что позволяет на т-й итерации ограничиться т-уровневой графовой моделью кода, если для анализируемого кода поставлена задача подтверждения способности исправления лишь т ошибок (т = 1 ^ттах).
Вместо спектра весов и минимального кодового расстояния предлагается использовать спектры ошибок различных типов, полученных на основе анализа автоматно-графовой модели кода.
Литература
1. Скляр, Б. Цифровая связь. Теоретические основы и практическое применение [Текст] / Б. Скляр; пер. с англ.; 2-е изд., перер. - М.: Издательский дом "Вильямс", 2004. - 1104 с.
2. Блейхут, Р. Теория и практика кодов, исправляющих ошибки [Текст] / Р. Блейхут; пер. с англ. - М. : Мир, 1986. - 576 с.
3. Морелос-Сарагоса, Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение [Текст] / Р. Море-лос-Сарагоса; пер. с англ. - М.: Техносфера, 2006. - 320 с.
4. Berlecamp, E. Hardness of Approximating the Minimum Distance of a Linear Code [Text] / E. Berlecamp, R. McEliece, H. van Tilborg // IEEE Trans. Inform. Theory. - 1978. - Vol. 21, Issue 5. - P. 384-386.
5. Vardy, A. The Intractability of Computing the Minimum Distance of a Code [Text] / A. Vardy // IEEE Transactions on Information Theory. - 1997. - Vol. 43, Issue 6. - P. 1757-1766. doi: 10.1109/18.641542
6. Dumer, I. Hardness of Approximating the Minimum Distance of a Linear Code [Text] / I. Dumer, D. Micciancio, M. Sudan // 2000 IEEE International Symposium on Information Theory. - 2003. - Vol. 49, Issue 1. - P. 22-37. doi: 10.1109/isit.2000.866550
7. Hartmann, C. Generalizations of the BCH Bound [Text] / C. Hartmann, K. Tzeng // Information and Control - 1972. - Vol. 20, Issue 5. - P. 489-498. doi: 10.1016/s0019-9958(72)90887-x
8. Roos, C. A Generalization of the BCH Bound for Cyclic Codes, Including the Hartmann-Tzeng Bound [Text] / C. Roos // Journal of Combinatorial Theory, Series A. - 1982. - Vol. 33, Issue 2. - P. 229-232. doi: 10.1016/0097-3165(82)90014-0
9. Boston, N. Bounding Minimum Distances of Cyclic Codes Using Algebraic Geometry [Text] / N. Boston // Electronic Notes in Discrete Mathematics. - 2001. -Vol. 6, Issue 5. - P. 384-386. doi: 10.1016/s1571-0653(04)00190-8
10. van Lint, J. On The Minimum Distance of Cyclic Codes [Text] / J. van Lint, R. Wilson // IEEE Transactions on Information Theory. - 1986. -Vol. 32, Issue 1. - P. 23-40. doi: 10.1109/tit.1986.1057134
11. Kaida, T. A Note on the Rank Bounded Distance and Its Algorithms for Cyclic Codes [Text] / T. Kaida, J. A. Zheng // Pure and Applied Mathematics Journal. - 2015. - Vol. 4, Issue 2-1. - P. 36-41. - Available at: http://article.sciencepublishinggroup.com/ pdf/10.11648.j.pamj.s.2015040201.17.pdf doi: 10.11648/j.pamj.s.2015040201.17
12. Гилл, А. Линейные последовательностные машины [Текст] / А. Гилл; пер. с англ. - М. : Наука, 1974. - 288 с.
13. Семеренко, В. П. Высокопроизводительные алгоритмы для исправления независимых ошибок в циклических кодах [Текст] / В. П. Семеренко // Системи обробки шформацп: зб. наук. праць - 2010. - Вип. 3 (84). - С. 80-89.
14. Кларк, Дж. Кодирование с исправлением ошибок в системах цифровой связи [Текст] / Дж. Кларк, Дж. Кейн; пер. с англ. -М. : Радио и связь, 1987. - 392 с.
15. Вернер, М. Основы кодирования [Текст] / М. Вернер; пер. с англ. - М.: Техносфера, 2004. - 288 с.
16. Semerenko, V. P. Burst-Error Correction for Cyclic Codes [Text] / V. P. Semerenko // Proceeding of International IEEE Conference EUR0C0N2009, 2009. - P. 1646-1651. doi: 10.1109/eurcon.2009.5167864