мости (nrev) соответствующих импликаций. Значения d [•] = 0.0 указывают на необходимость их вычисления. В результате действия 6 алгоритма АЛКВАЗН выделены входы % -КСВР — это % -кванты 0-го уровня (входные посылки) лкоЕІ - лкоБ5 , содержимое которых изменяется в процессе ответов на поставленные вопросы либо при поступлении результатов наблюдений относительно целевых характеристик ОПР. В нашем примере многоступенчатых рассуждений зафиксированы две целевые характеристики C4 и C5 .
6. Выводы
Таким образом, сформулирована методика и алгоритмизация синтеза % -квантовой сети вывода принимаемых решений посредством решенной задачи автоматического квантования (структурирования) нечетких знаний. Разработан и обоснован алгоритм АЛКВАЗН, реализующий построение % -КСВР по известному НТ-С заданной сцены принятия решений.
Литература: 1. Лернер И.И., Петров А.Б. Интеллектуальные системы и обеспечение безопасности полета /
УДК 681.3.04 “
ПОБУДОВА ЗАВАДОСТІЙКИХ БАГАТОКОЛЬОРОВИХ МАТРИЧНИХ ШТРИХОВИХ КОДІВ
ТАРАСЕНКО В.П., ДИЧКА І.А._________________
Розглядаються способи побудови символік матричних штрихових кодів, штрихкодові знаки яких мають властивість завадостійкості у випадку ушкодження однієї або двох чарунок. Побудова грунтується на застосуванні многозначних кодів Хемінга та БЧХ.
Вступ
При побудові матричних штрихових кодів (МШК) надзвичайно актуальною є проблема забезпечення надійного зберігання інформації.
Вирішення зазначеної проблеми пов’язано з необхідністю забезпечення надійності при побудові систем автоматичної ідентифікації (АІ) на основі штрихового кодування даних.
Аналіз останніх досліджень і публікацій, зокрема [1,2], в яких започатковано розв’язання даної проблеми, свідчить про те, що при побудові завадостійких чорно-білих МШК інформаційна ємність штрихкодових позначок (ШК-позначок) є недостатньою і, таким чином, є обмежувальним фактором при побудові сучасних систем АІ з використанням штрихового кодування інформації.
Невирішеними питаннями при забезпеченні надійного зберігання інформації у вигляді МШК є невисока інформаційна ємність ШК-позначок та недостатня завадостійкість штрихкодових знаків (ШК-знаків).
Метою даного дослідження є розробка способів побудови завадостійких МШК з високими показниками інформаційної щільності.
/ ВИНИТИ. Проблемы безопасности полетов. 1998. №11. С.61-65. 2. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика. М.: Мир, 1992. 240с. 3. Сироджа И.Б., Петренко Т.Ю. Метод разноуровневых алгоритмических квантов знаний для принятия производственных решений при недостатке и нечеткости данных. К.: Наук. думка, 2000. 247с. 4. Кофман А Введение в прикладную комбинаторику. М.: Наука, 1975. 480с. 5. Куренко А.Б., Сироджа И.Б. Синтез квантовых моделей представления нечетких знаний для принятия приближенных решений в особых случаях управления полетами // Радиоэлектроника и информатика. 2003. №1. С. 60-64.
Поступила в редколлегию 10.09.2002
Рецензент: д-р техн. наук, проф. Путятин Е.П.
Куренко Александр Борисович, адъюнкт Харьковского института ВВС Украины. Научные интересы: представление знаний и разработка систем военного назначения, основанных на знаниях. Адрес: Украина, 61165, Харьков, ул. Клочковская, 228, тел. 30-82-18.
Сироджа Игорь Борисович, д-р техн. наук, профессор, академик УкрАИН, заведующий кафедрой программного обеспечения компьютерных систем Национального аэрокосмического университета им. Н.Е. Жуковского «ХАИ». Научные интересы: прикладная математика, искусственный интеллект. Адрес: Украина, 61136, Харьков, ул. Героев Труда, 29в, кв. 22, тел. 44-27-34.
Створення символік завадостійких МШК
Побудова ШК-позначки багатокольорового МШК грунтується на застосуванні символіки, яка є набором ШК-знаків. Кожний ШК-знак символіки відповідає певному алфавітно-цифровому символу використовуваного алфавіту. При поданні текстової послідовності у вигляді МШК символам повідомлення ставляться у відповідність ШК-знаки, які розташовуються у вигляді квадратної або прямокутної матриці (на вибір користувача). ШК-знак складається з різнокольорових квадратних чарунок, організованих у вигляді матриці розмірності а м х b м . Таким чином, амbм чарунок за рахунок різноманітних комбінацій із заданої множини кольорів дозволяють кодувати символи певного алфавіту.
Найбільш дієвим способом забезпечення надійного зберігання даних у вигляді багатокольорового МШК є побудова символіки коду, ШК-знаки якої мали б властивість завадостійкості, що грунтується на виправленні 1- або 2-кратних помилок у межах ШК -знака.
Для виправлення однократних помилок у ШК-знаках багатокольорових МШК найбільш доцільно застосовувати узагальнений (многозначний) код Хемінга (УКХ), а для виправлення двократних помилок — узагальнений код БЧХ (УБЧХ) з коректувальною здатністю t = 2 .
Спроектуємо завадостійкі ШК-знаки МШК.
Нехай для розфарбовування чарунок ШК-знака розмірності ам х bм використовуються q кольорів, які позначимо 0,1,2,..., q-І відповідно, а найбільш поширеними значеннями величин ам, bм є 2,3,4,5 (рис. 1).
ШК-знаки розфарбовуватимемо в такий спосіб, щоб у кожному рядку (стовпці) бодай одна чарунка відрізнялася кольором від решти чарунок рядка (стовпця). Тоді ШК-знаку відповідає матриця
РИ, 2003, № 2
89
розмірності ам х bм , елементи якої належать множині Q = {0,1,2,q - і} .
Матрицю розмірності ам х bм легко перетворити в одномірний масив завдовжки а мЬм , який назвемо вектором ШК-знака (див. рис. 1).
ШК-знак має властивість завадостійкості, якщо його вектор є кодовим словом многозначного (узагальненого) коректувального коду, який здатний виправляти помилки многозначних символів.
Розглянемо застосування УКХ для побудови завадостійких ШК -знаків.
Нехай а м b м = n — кількість чарунок ШК-знака. Побудуємо (а м b м, к) — УКХ, де к — кількість інформаційних символів у кодових словах, n —
Таким чином, кодування к-розрядного q-кового слова D = did2—d^ узагальненим (амbм,к) — кодом Хемінга слід здійснювати з використанням твірної матриці
1 0. .0 - h11 - h21 . . hr1
G = 0 1. .. 0 ~ h12 _ h22 . . - hr 2 , (2)
0 0. .. 1 “ % “ ^2к . . _
а операція кодування задається рівнянням C = DG. Компоненти ct кодового слова C = сіс2...сn дорі-
П
внюють с = ^ аjgj , де gj — елементи матриці G, ... j=i
а операції множення та додавання виконуються за правилами поля GF(q).
загальна довжина кодових слів. (а м b м, к) — УКХ зручно задавати перевірною матрицею Н розмірності r х n , де r = n - к — кількість контрольних символів у кодових словах.
Стовпці матриці Нє ненульовими г-послідовнос-тями над GF(q), у яких перша ненульова компонента дорівнює одиниці [3, 4]. Матрицю Н подаватимемо у вигляді H = H1 : Ir, де H і — підматриця розмірності r х к ; Ir — одинична підматриця розмірності г.
Для кодування інформації зручно користуватися твірною матрицею Gрозмірності к х n, яку подаватимемо у вигляді G = Ік ■G1 = Ік :-HТ , де н\ -транспонована підматриця Hі, а - H означає, що замість елементів підматриці hT слід взяти їх протилежні значення в GF(q).
Наприклад, перевірна та твірна матриці (6, 4)-УКХ над GF (5) мають вигляд:
1 1 1 1 1 0
H = 1 2 3 4 0 1
1 0 0 0 4 4
0 1 0 0 4 3
G = 0 0 1 0 4 2
0 0 0 1 4 1
(1)
де елементи підматриці Gi є протилежними щодо
Наприклад, якщо дано чотирирозрядне 5-кодове
di d 2 d 3 d 4
слово 1403 , то кодове слово (6,4)-УКХ
c1 c2 c3 c4 c 5 c6
дорівнює С = 1 4 0 3 2 4 (при цьому
слід скористатися матрицею G(1)).
Такому кодовому слову можна поставити у відповідність ШК-знак розмірності 3х 2 (рис. 2).
Рис. 2. Побудова ШК-знака розмірності 3х2, якому відповідає кодове слово С = 1 4 0 3 2 4 (6,4)-УКХ (q=5)
Якщо треба побудувати символіку потужності N а кольорового МШК з використанням q кольорів, до складу якої мають входити завадостійкі ШК-знаки розмірності ам х bм , сформовані на основі УКХ, то необхідно:
1. Побудувати твірну матрицю G (ам bм, к) -УКХ, де величини к, q та r = ам bм - к зв’язані між собою співвідношенням к < (qr -1)/(q-1)-r .
2. Отримати всі кодові слова (амbм, к) -УКХ, кількість N яких дорівнює N = q^ . Для цього всі можливі к-розрядні q-кодові слова необхідно закодувати з використанням твірної матриці G.
елементів підматриці нТ ( у полі GF(5) протилежним щодо елемента z є елемент 5 - z). Перевірна та твірна матриці зв’язані співвідношенням GHT = 0 .
1 2 3
4 5 6
7 8 9
B. 2 3 4 5 6 7 8 9
Вектор ШК-знака
3. Кожне кодове слово подати у вигляді матриці розмірності ам х bм та з множини, що складається з N кодових слів, вибрати ті (кількість яких позначимо через M), які задовольняють умову: у кожному рядку матриці принаймні один з елементів має відрізнятися від інших елементів рядка, при цьому у кожному стовпці матриці один з елементів має відрізнятися від решти елементів стовпця.
Нумерація
Рис. 1. Нумерація чарунок у ШК-знаку та його типовий вигляд
90
РИ, 2003, № 2
Таблиця 1. (ам bм, к) -УКХ, які слід використовувати для найбільш
поширених розмірностей ШК-знаків
Розмірність ШК-знака, а м х b м Кількість використовуваних кольорів, q
2 3 4 5 7 8
2x2 0 2 6 12 24 42
2x3, 3x2 3 8 24 292 1452 2653
3x3 6 356 2787 12228 727722
3x4, 4x3 56 10944 193179 1619396
4x4 720 394036
Таблиця 2. Максимальні потужності завадостійких символік МШК з корекцією _______однократних помилок у ШК-знаках
Розмірність ШК-знака, a м х b м Кількість використовуваних кольорів, q
2 3 4 5 7 8
2x2 0 2 6 12 24 42
2x3, 3x2 3 8 24 292 1452 2653
3x3 6 356 2787 12228 727722
3x4, 4x3 56 10944 193179 1619396
4x4 720 394036
4. Параметри а м, b м та к слід вибрати такими, щоб
M > N q .
5. Отримати NQ ШК-знаків, розфарбувавши чарунки матриць розмірності ам х bм відповідними кольорами.
Вибір (ам bм, к) -УКХ для найбільш поширених розмірностей ШК-знаків доцільно здійснювати за табл. 1.
При заданому q (q має бути простим числом або його степенем) необхідно:
1. Побудувати розширення поля GF(qm) над GF(q); m слід вибрати таким, щоб
qm -1 ^ а мb м •
2. Побудувати повний (qm -1,к) -УБЧХ;
к = qm -1 -r .
3. Отримати неповний (ам bм, к) -УБЧХ , де
амьм < qm -1.
Оскільки кількість чарунок у ШК-знаку невелика, то неповний (ам bм, к) -УБЧХ доцільно задавати твірною G та перевірною ^матрицею.
Для знаходження твірного многочлена для деяких q можна скористатися табл. 4.
Як і у випадку УКХ, при побудові завадостійких ШК -знаків МШК на основі УБЧХ з t = 2 доцільно використовувати твірну G та перевірну H матриці.
Наприклад, якщо дано восьмирозрядне 5-кодове
d 0 ^1 d 2 d 3 d 4 d 5 d6 d7
слово 1 0 2 3 4 2 0 4 , то кодо
ве слово (16, 8)-УБЧХ дорівнює
c0 С c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 °12 C13 C14 c15
C = 41212233403 3 1 3 2 4 .
Наприклад, якщо необхідно побудувати символіку завадостійкого МШК з використанням q = 5 кольорів, ШК-знаки якої мають мають розмірність 2 х 2 , то для побудови ШК-знаків слід скористатися (4, 2)-УКХ (табл. 1). ШК-знаки такої символіки, кількість яких становить M = 12 (табл. 3), є стійкими щодо ушкодження однієї з чарунок.
Такому кодовому слову можна поставити у відповідність ШК-знак розмірності 4 х 4 (рис. 3).
Таблиця 3. Символіка потужності N=12 завадостійкого 5-кольорового МШК, ШК-знаки якої побудовані на основі
(4,2)-УКХ
Сим- Матриця ШК- Сим- Матриця ШК-
вол кольорів знак вол кольорів знак
ШК-знака ШК-знака
Для знаходження потужності ДД символіки при заданих параметрах ам,Ьм та # доцільно скористатися табл. 2.
Розглянемо застосування УБЧХ з t = 2 для побудови завадостійких ШК-знаків МШК.
Оскільки ШК-знак є матрицею розмірності д , ( х /) , ,, то для виправлення 2-кратних поми-локу межах ШК-знаканеобхідно використовувати (амЬм,к)-УБЧХ (п = аЛ!ЬЛ!), твірний многочлен g(x) степеням, який визначають як
g(x) = UCK{ fx (х), /2 (х), /з (х), /4 (х)),
де НСК — найменше спільне кратне, /г (х) — мінімальний многочлен елемента а1 поля GF(qm ), а — примітивний елемент поля, т~ степінь мінімального многочлена примітивного елемента поля.
і
0 , 0 1
1 4 3
1 ! 0 2
і 3 1
і 2 . 0 3
. 2 4
і 3 . 0 4
1 1 2
і 4 ; 1 2
‘ 2 0
І 5 і 1 4
0 1
7' ......
6
2
0
7 , 2 4
■ 4 0
І
8 ! 3 1
1 1 0
9 .
і
3 2 0 3
4 1 0 4
4 3 3 0
Примітка. 0 —
Ш’>
1 -
>2-Ц,3-
4 -
РИ, 2003, № 2
91
с0 сі c2 c3
с4 c5 c6 c7
c8 c9 c10 c11
c12 c13 c14 c15
4 1 2 1
2 2 3 3
4 0 3 3
1 3 2 4
Рис. 3. Побудова ШК-знака розмірності 4x4, якому відповідає кодове слово С = 4 1 2 1 2 2 3 3 4 0 3 3 1 3 2 4 (16, 8)-УБЧХ (q=5)
Якщо необхідно побудувати символіку потужності Nq кольорового МШК, до складу якої мають входити завадостійкі ШК-знаки на основі УБЧХ з t = 2 , то слід скористатися методикою, як і для
УКХ. При цьому вибір (амbм, к) -УБЧХ для найбільш поширених розмірностей ШК-знаків доцільно здійснювати за табл. 4.
Для знаходження потужності N Q символіки q-кольорового МШК, ШК-знаки розмірності ам х bм якої побудовано на основі УБЧХ з t = 2, слід скористатися табл. 5.
Декодування ШК-позначок завадостійких МШК
Після зчитування ШК-позначки декодер визначає межі ШК -знаків, які є матрицями розмірності ам х bм . Декодеру відомі параметри ам, bм та тип коректувального коду, на основі якого побудовані ШК -знаки.
Якщо ШК-знаки побудовано на основі УБЧХ з t = 2, то можливе виправлення від 1 до 2п П помилок (п П — ємність ШК-позначки) за умови, що в межах одного ШК-знака мають місце не
більше двох помилок; якщо ж ШК-знаки побудовано на основі УКХ, то можливе виправлення від
1 до пП помилок за умови, що ШК-знаки містять не більше однієї помилки (рис. 4).
Як приклад, розглянемо декодування ШК-знаків розмірності 2х2 п’ятикольорового МШК, побудованих на основі (4, 2)-УКХ.
ШК-знаку розмірності 2х 2 відповідає вектор ШК-знака
C = с1 с 2 с3 с 4, де Сі - колір
відповідної чарунки. Спочатку обчислимо синдром вектора
ШК -знака: S = C HT , де
1 1 1 0
1 2 0 1
. Операції
Рис. 4. Вигляд можливих ушкоджень ШК-
позначки МШК, ШК-знаки якого побудовано на основі (4,2)-УКХ, що піддаються корекції
множення та додавання виконуються за правилом
поля GF(5). Нехай C = 210 2. Тоді S
:і ■
Перша компонента синдрома є величиною Y помилки, отже, Y = 3 . Для з’ясування місцезнаходження помилки необхідно знайти модифікований синдром S = S / Y та порівняти його зі стовпцями матриці H. Якщо S збігається з одним із стовпців H, то порядковий номер цього стовпця є номером помилкового розряду у векторі C .
Таблиця 4. Вибір неповного (амbм, к) -УБЧХ для ШК-знака розмірності ам х bм
q=2 q=3 ►о II 4^ 42 II Оі
GF (24) GF (32) І GF (33) GF (42) GF (52)
234 Мінімальні многочлени для елементів а, а , а , а
/Д x) f2( x) f3( x) /4 (x) x 4 + x + 1 4 x + x + 1 4 3 2 1 x + x + x + x + 1 x 4 + x + 1 2 x + x + 2 x2 +1 x + x + 2 x +1 3 x + 2 x +1 x + x + x + 2 3 x + 2 x +1 x3 + x2 + 2 2 x + x + 2 x + x + 3 x 2 + 3x +1 x + x + 2 2 x + x + 2 x 2 + 3x + 4 x2 + 3 x + 4x +1
Повний (qm -1,к) -УБЧХ (15,7) (8,3) (26,17) (15,9) (24,16)
Непов- ний (аmbm ,к) -УБЧХ, придатний для ШК-знака розмірності а м Х b м (ам bм, к)- код Розмірність ШК-знака (ам bм , к) - код Розмірність ШК-знака (ам Ьм , к)- код Розмірність ШК-знака (а м b м, к) -код Розмірність ШК-знака (амbм, к) -код Розмірність ШК-знака
(9,1) (12,4) (15,7) 3х3 3х4 3х5 (6,1) 3х2 (12,3) (15.6) (16.7) (20,11) (25,16) 3х4 3х5 4х4 4х5 5х5 (9,3) (12,6) (15,9) 3х3 3х4 3х5 (9,1) (12,4) (15.7) (16.8) (20,12) 3х3 3х4 3х5 4х4 4х5
92
РИ, 2003, № 2
Таблиця 5. Максимальні потужності завадостійких символік деяких МШК, ШК-знаки яких побудовані на основі
(а мb м ,k) -УБЧХ з t = 2
Розмірність ШК-знака, а м х b м Кількість використовуваних кольорів, q
2 3 4 5
3x3 0 - 45 4
3x4 2 8 3006 516
3x5 24 388 187848 63412
4x4 27 1626 366492
4x5 405 139538
Для прикладу, що розглядається, S
11 .
2 І, оскіль-
ки в поліGF(5) 3:3=1, 1:3=2. Величина S збігається з другим стовпцем матриці H, отже, помилка має місце в розряді c2. Для відновлення істинного значення в цьому розряді необхідно виконати операцію корекції c2 = c2 - Y = (1 - 3) mod 5 = 3 .
Отже, істинний вектор зчитаного ШК-знака дорівнює C = 2 3 0 2 і відповідає ШК-знаку, що подає символ 6 (див. табл. 3).
Декодування ШК-знаків, побудованих на основі УБЧХ з t = 2, здійснюється в такій послідовності.
Прийнятий вектор C ШК-знака слід подати у
, П ,
вигляді многочлена c (x) = £ ctxl та обчислити
i=0
чотири компоненти Si (і = 1,2,3,4) синдрома S в такий спосіб: Si = c (а1), де а — примітивний елемент поля GF(qm).
Для знаходження локаторів Xь X2 помилок (Xі,X2 є GF(qm)) необхідно розв’язати рівняння СТ2x2 + СТіХ +1 = 0 , коренями Хі, X2 якого є обернені щодо локаторів помилок величини, тобто Х1 = X f1, Х2 = X 2"1. Коефіцієнти ст 2, ст1 цього
2 ' S1 S 2' -1 ■-S 3'
рівняння визначають як _ст1 _ S 2 S3 _ S 4 _
Знаючи X і = xf1 та X 2 = Х2"1, слід підставити їх значення в систему Sp = Y1Xp + Y2Xp , де p = 1,2; Y1, Y2 — величини помилок (Y1, Y2 є GF(q)). Розв’язавши систему відносно Y1, Y2, отримуємо значення помилок.
Виправлення помилок відбувається таким чином. Локатори X1,X2 слід подати у вигляді: X1 = a_l1, X2 = a_l2 . Це означає, що помилки мають місце в розрядах n -ц та n - і 2 . Корекцію розрядів cn_i та c„_i2 прийнятого слова виконують як: cn-i1 = c'n-ц - Y1, cn-i2 = c'n-i2 - Y2 .
Далі, маючи скорегований вектор C зчитаного ШК-знака, за символікою МШК знаходять, який саме символ текстового повідомлення він подає.
Виконавши декодування кожного зчитаного ШК-знака в означений вище спосіб, отримують вихідне текстове повідомлення завдовжки nП символів.
Висновки
З метою розширення сфери застосування систем автоматичної ідентифікації на основі штрихового кодування даних, зокрема при переміщенні об’єктів у агресивних середовищах та/або на певній відстані від можливого розташування засобів зчитування ТТТК-позначок, слід використовувати завадостійкі МШК.
Завадостійкість МШ К досягається лише за умови, якщо ШК-знаки МШК наділено властивістю виправляти помилки, спричинені можливими ушкодженнями окремих чарунок ШК-знаків.
Для цього найбільш доцільно застосовувати коректувальні коди, які виправляють 1- або 2-кратні помилки многозначних символів — УКХ або УБЧХ.
Вектор ШК-знака має бути кодовим словом вибраного коректувального коду.
Якщо ШК-знаки МШК побудовано на основі УКХ або УБЧХ з t = 2 , то при зчитуванні ШК-позначки МШК можливе виправлення багатократних помилок за умови, що в межах одного ШК-знака спотворено не більше однієї (при застосуванні УКХ) або двох (при застосуванні УБЧХ) чарунок.
Таким чином, застосування завадостійких багатокольорових матричних штрихових кодів істотно розширює сферу штрихового кодування даних і забезпечує побудову систем автоматичної ідентифікації з високими показниками надійності та інформаційної щільності.
Подальші розвідки у цьому напрямку є перспективними і сприятимуть удосконаленню технології зберігання та введення інформації, поданої у вигляді матричних штрихових кодів.
Література: 1. Jonathan Cohen, McGraw Hill. Automatic identification and Data Collection Systems. 1994. 256p. 2. Two-Dimensional Bar Code Specifications. Tiger Bar Code Systems, Inc., 1998. 3. Кассами Т, Токура H, Ивадари Ё, Инагаки Я. Теория кодирования. М.: Мир, 1978. 576с. 4. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986. 576с.
Надійшла до редколегії 20.01.2003
Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.
Тарасенко Володимир Петрович, д-р техн. наук, професор, зав. кафедри спеціалізованих комп’ютерних систем НТУУ “КПІ”. Адреса: Україна, 03056, Київ, пр. Перемоги, 37, кори. 15, к. 102, тел. (044) 236-32-02.
Дичка Іван Андрійович, канд. техн. наук, доцент кафедри спеціалізованих комп’ютерних систем НТУУ “КШ”. Адреса: Україна, 03056, Київ, пр. Перемоги, 37, тел. (044) 236-10-63.
РИ, 2003, № 2
93