Научная статья на тему 'Виправлення пакетів помилок на основі модулярного коригувального коду'

Виправлення пакетів помилок на основі модулярного коригувального коду Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
237
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
модулярні коригувальні коди / безпровідні сенсорні мережі / двовимірний код / пакет помилок / модульные корректирующие коды / беспроводные сенсорные сети / двумерный код / пакет ошибок

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Цаволик Тарас Григорович, Яцків Василь Васильович

Запропоновано метод виправлення пакетів помилок на основі модулярного коригувального коду для підвищення надійності передачі даних у безпровідних сенсорних мережах. Для боротьби з пакетами помилок розроблено різні багатовимірні (каскадні, ітеративні) коди. Принцип роботи цих кодів полягає в послідовному використанні двох рівнів кодування і декодування даних. При цьому на кожному рівні кодування можна використовувати однакові за типом і коригувальною здатністю коди або різні. Перевагою багатовимірних кодів є їх висока коригувальна здатність, а недоліком – висока надлишковість. Розроблено двовимірну схему контролю помилок на основі модулярного коригувального коду. Модулярні коригувальні коди належать до символьних кодів, характеризуються низькою надлишковістю, дають змогу ефективно виявляти та виправляти одиничні символьні помилки. Принцип формування перевірних символів у двовимірному модулярному коді полягає в такому: спочатку обчислюють перевірні символи по рядках матриці даних; на наступному кроці обчислюють перевірні символи по стовпцях даних. Розроблено алгоритм виявлення та виправлення випадкових однократних помилок та пакетів помилок максимальною довжиною b = 3k – 2. Проведено експериментальні дослідження з виявлення та виправлення помилок у пакеті даних. Показано мінімальну та максимальну довжину та структуру помилок, яку може виправити цей код. Враховуючи низьку складність реалізації алгоритму декодування, цей коригувальний код планують використати для підвищення надійності передачі даних у безпровідних сенсорних мережах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ИСПРАВЛЕНИЕ ПАКЕТОВ ОШИБОК НА ОСНОВЕ МОДУЛЯРНЫХ КОРРЕКТИРУЮЩИХ КОДОВ

Предложен метод исправления пакетов ошибок на основе модулярного корректирующего кода для повышения надежности передачи данных в беспроводных сенсорных сетях. Для борьбы с пакетами ошибок разработаны различные многомерные (каскадные, итеративные) коды. Принцип работы данных кодов заключается в последовательном использовании двух уровней кодирования и декодирования данных. При этом на каждом уровне кодирования могут использоваться одинаковые по типу и корректирующей способностью коды или разные. Преимуществом многомерных кодов является их высокая корректирующая способность, а недостатком – высокая избыточность. Разработана двумерная схема контроля ошибок на основе модулярного корректирующего кода. Модульные корректирующие коды относятся к символьным кодам, характеризуются низкой избыточностью, позволяют эффективно выявлять и исправлять единичные символьные ошибки. Принцип формирования проверочных символов в двумерном модульном коде заключается в следующем. Сначала производится исчисление проверочных символов по строкам матрицы данных. На следующем шаге вычисляются проверочные символы по столбцам данных. Разработан алгоритм обнаружения и исправления случайных однократных ошибок и пакетов ошибок максимальной длиной b = 3k – 2. Проведены экспериментальные исследования по выявлению и исправлению ошибок в пакете данных. Показано минимальную и максимальную длину и структуру ошибок, которую может исправить данный код. Учитывая низкую сложность реализации алгоритма декодирования данный корректирующий код планируется использовать для повышения надежности передачи данных в беспроводных сенсорных сетях.

Текст научной работы на тему «Виправлення пакетів помилок на основі модулярного коригувального коду»

Науковий вкник НЛТУ УкраТни Scientific Bulletin of UNFU

http://nv.nltu.edu.ua https://doi.org/10.15421/40280229 Article received 21.03.2018 р. Article accepted 29.03.2018 р.

УДК 004.75

ISSN 1994-7836 (print) ISSN 2519-2477 (online)

1 Kl Correspondence author T. H. Tsavolyk [email protected]

Т. Г. Цаволик, В. В. Яцюв

Терноптьський нацюнальний економiчний утверситет, м. Тернотль, Украта

ВИПРАВЛЕННЯ ПАКЕТ1В ПОМИЛОК НА ОСНОВ1 МОДУЛЯРНОГО КОРИГУВАЛЬНОГО КОДУ

Запропоновано метод виправлення паке-пв помилок на основi модулярного коригувального коду для тдвищення на-дшноси передачi даних у безпровiдних сенсорних мережах. Для боротьби з пакетами помилок розроблено рiзнi багатови-мiрнi (каскадш, iтеративнi) коди. Принцип роботи цих кодiв полягае в послiдовному використант двох рiвнiв кодування i декодування даних. При цьому на кожному рiвнi кодування можна використовувати однаковi за типом i коригувальною здатшстю коди або рiзнi. Перевагою багатовимiрних кодiв е 1х висока коригувальна здатшсть, а недолiком - висока надлиш-ковiсть. Розроблено двовимiрну схему контролю помилок на основi модулярного коригувального коду. Модулярш коригувальш коди належать до символьних кодiв, характеризуються низькою надлишковютю, дають змогу ефективно виявляти та виправляти одиничш символьш помилки. Принцип формування перевiрних символiв у двовимiрному модулярному кодi полягае в такому: спочатку обчислюють перевiрнi символи по рядках матриц даних; на наступному крощ обчислюють пере-вiрнi символи по стовпцях даних. Розроблено алгоритм виявлення та виправлення випадкових однократних помилок та па-кеив помилок максимальною довжиною Ь = 3k - 2. Проведено експериментальш дослiдження з виявлення та виправлення помилок у пакет даних. Показано мтмальну та максимальну довжину та структуру помилок, яку може виправити цей код. Враховуючи низьку складшсть реалiзацii' алгоритму декодування, цей коригувальний код планують використати для тдвищення надшноси передачi даних у безпровщних сенсорних мережах.

Кл^чов^ слова: модулярш коригувальш коди; безпровщт сенсорш мережi; двовимiрний код; пакет помилок.

Вступ. У сучасних безпроввдних каналах зв'язку, ок-р1м одиничних помилок, спричинених шумами, часто трапляються пакети помилок, викликаш 1мпульсними перешкодами або завмираннями (АЬ^е^ et а1., 2015; Aditya, 2014; Yatskiv, et а1., 2013). При цьому можуть бути спотвореш десятки, а то й сотш бгг шформацп шд-ряд. Для боротьби з пакетами помилок розроблено ба-гатовим1рш коди (каскадш, ггеративш коди, коди-до-бутку) (Fatt et а1., 2014). 1дея створення ггеративних ко-д1в належить П. Елайесу (E1ias) (B1eikhut, 1986). Суть цього методу кодування полягае у використанш дешль-кох р1вшв кодування 1 декодування даних (Yatskiv et а1.,

2014). При цьому на кожному р1вш кодування можна використовувати однаков1 за типом 1 коригувальною здатшстю коди або р1зш. Перевагою багатовим1рних (каскадних, ггеративних) код1в е висока коригувальна здатшсть, а недолжом - висока надлишковють (Моге-1os-Saragosa, 2005).

Модулярш коригувальш коди, що розроблено в (Yatskiv et а1., 2013; Jun & Yatskiv, 2013), належать до символьних код1в, характеризуються низькою надлиш-ковютю та дають змогу ефективно виявляти та виправляти одиничш символьш помилки. У робот (Sieck et а1.,

2015) показано можливють побудови двовим1рних ко-ригувальних код1в на основ1 модулярно! арифметики, яш допомагають виявляти та виправляти помилки у

двох 1 бшьше шформацшних символах. Проте запропо-нований метод виправлення помилок у двох символах на основ1 розширеного алгоритму Евклща мае високу часову складшсть, яка залежить в1д величини модуля Р { зростае 1з збшьшенням юлькосп та розрядносп шформацшних символ1в, оск1льки потребуе знаходження вах розв'язк1в д1афантового р1вняння. Також потребу-ють додаткових дослвджень алгоритми виправлення па-кет1в помилок. Отже, актуальною науковою задачею е розробки багатовим1рного (ггеративного) методу кодування коду на основ1 модулярного коригувального коду та алгоритм1в виправлення пакепв помилок.

Мета роботи - тдвищення ефективносп виявлення 1 виправлення пакепв помилок на основ1 модулярного коригувального коду.

Модулярний двовишрний код. Двовим1рним кодом у = у х у2 двох код1в у! 1 у2 називають код, кодовими словами якого е ва двовим1рш таблиц з рядками, як1 е словами коду у! 1 стовпцями, як1 е словами коду у2.

Як коди у1 {у2 для побудови двовим1рного коду виб-рано модулярний коригувальний код Уип & Yatskiv, 2013). При цьому коди можуть буди як однаков1 у = у2, так 1 р1зш у * у2.

У модулярному коригувальному код1 перев1рш символи обчислюють:

1нформащя про aBTopiB:

Цаволик Тарас Григорович, acnipaHT, викладач кафедри кiбербезпеки. Email: [email protected]

Яцшв Василь Васильович, д-р техн. наук, доцент, завiдувач кафедри кiбербезпеки. Email: [email protected]

Цитування за ДСТУ: Цаволик Т. Г., Яцшв В. В. Виправлення паке^в помилок на ochobî модулярного коригувального коду.

Науковий вкник НЛТУ УкраТни. 2018, т. 28, № 2. С. 155-159. Citation APA: Tsavolyk, T. H., & Yatskiv, V. V. (2018). Burst Error-Correcting Codes Based on Modular Correcting Codes. Scientific Bulletin of UNFU, 28(2), 155-159. https://doi.org/10.15421/40280229

k _

fjk(x) = Z XijVj mod P, j = 1, l, i=1

l _

fii(x) = Z XjVi mod P, i = 1, k ,

j=1

(2)

де: хр - iнформацiйнi символи, у1, V, - коефiцieнти

(прост числа), Р - просте число.

Формування двовимiрного модулярного коду наведено в табл. 1. Спочатку кодом у1 кодуеться кожний iз I рядк1в, а потiм кодом у2 - кожний iз k стовпцiв.

Табл. 1. Формування двовимiрного модулярного коду

##

Iнформацiйний символ

x11 x12 — X1i x21 x22 — x2i

x j1 x j2

xl1 xl2

fl1(x) fl2(x)

x1k

x2k

x jk

xli

xlk

fli(x) — flk(x)

#

f1k(x) f2k(x)

fjk(x) flk(x)

к символ!в

Кодер у.

Буфер

Кодер у.

п кодовик

CJI1B

повщомлення Рис. 1. Структурна схема кодера

Виявлення помилок вщбуваетъся на основ1 анал1зу синдрому, який обчислюютъ як р1зницю перев1рних символ1в, обчислених у кодер1 та декодера Обчислення синдрому по рядках:

S = {(f'k(x) - fjk(x)) modP, j = \l}.

Обчислення синдрому по стовпцях:

Sj = {(f'n(x) - fu(x)) mod P, i = 1k } , де: fjk(x), /¡¡(x) - перев1рш символи, обчислеш в деко-дер1 за прийнятими даними.

Якщо S = 0,

Якщо Si ^ 0,

Sj = 0 - помилки немае. Sj ^ 0 - наявна помилка.

Позицiю спотвореного символу визначають за зна-ченням синдромiв, яш на перетинi рядка i стовпця не дорiвнюють нулю.

Для виправлення помилки в одному символi необ-хiдно розв'язати таке рiвняння:

v,(xi - Xi) = S(mod P) .

(3)

v,(xi - Xi) + v,(X, - Xt) = Sj(mod P); (4)

ViX - ViXi + vtxt - vtxt = Sj(mod P);

-ViXi - VtXt = (Sij - Vix'i - Vtxt)(mod P);

ViXi + VtXt = (ViXi + Vtxt - Sy)(mod P), де i, t - позицп спотворених символ1в. Замшимо праву частину на c

ViXi + VtXt = c(mod P). (5)

В1домо: якщо gcdV Vt), тобто Vi i Vt взаемно прост числа, то р1вняння (5) мае розв'язок у цших числах.

Розв'яжемо р1вняння (5) ввдносно одного з нев1до-мих. Виразимо Xi через Xt :

X = ,(modp)_

(6)

Прим1тка: перев1рш символи по рядках (#) I стовпцях (##).

Процес кодування полягае у такому (рис. 1): даш по k символiв поступають у вну^шнш кодер у1, де обчис-люють перевiрнi символи по рядках за формулою (1) (див. табл. 1). З виходу внутршнього кодера у1 кодовi слова поступають у буфер. З буфера кодовi слова зчи-туються по стовпцях i поступають у зовнiшнiй кодер у2, де обчислюють перевiрнi символи по стовпцях за формулою (2). _ _ _

Якщо 0 < х1 < 2т i 0 < х, < 2т , то, пiдставивши в рiв-няння (6) замiсть х, значення вiд 0 до 2т, знаходимо множину розв'язк1в х, з яких тiльки один iз знайдених розв'язк1в буде цiлим числом.

За мшмально! кодово! вiдстанi кодiв у1 i у1, що до-рiвнюе d1 i d2 ввдповвдно то мiнiмальна кодова ввд-стань двовимiрного коду у рiвна d1 х d2. Отже, якщо коди у1 i у2 виправляють ,1 i ,2 помилки вiдповiдно, то двовимiрний код виправляе 2,1,2 + ,1 + ,2 +1 помилок.

Враховуючи, що модулярний код може виправляти двi помилки, якщо ведомо !х розташування, то максимальна довжина пакету помилок становить Ь = 3k - 2 символи, тд час розмiщення спотворених символiв у двох рядках i одному стовпцi, або в двох стовпцях i одному рядку (рис. 2).

Рис. 2. Приклад розмщення пакету помилок максимально! дов-жини

Проте цей код не зможе виправити пакет помилок зi шести символiв, як1 розмiщенi на перетиш трьох рядк1в i трьох стовпщв (рис. 3).

Якщо синдроми 8 ^ 0, 8, ^ 0 не дорiвнюють нулю у двох i бiльше рядках або стовпцях, то це означае, що помилки вщбулися у двох i бшьше символах. При цьому, якщо синдром 8, ^ 0 у двох стовпцях, то це означае, що спотвореш два символи в рядку. Ненульовi значення синдромiв визначають позицп спотворених символiв.

Виправлення помилок у двох шформацшних символах. Аналiз синдрому по рядках i стовпцях дае змогу виявити позицп спотворених символiв. Для !х виправлення необхiдно розв'язати так! рiвняння:

Рис. 3. Приклад розмщення пакету помилок

Алгоритм двовимiрного виявлення та виправлення помилок. Алгоритм складаеться з блоку введення да-них, де вводимо взаемно просп коефщенти VI, значення модуля Р та шформацшш символи х. Далi обчис-люемо синдроми по рядках та по стовпцях за формулами (див. вирази (1), (2)). Якщо значення синдрому 8 = 0, 8, = 0 , то помилки не виявлено, а якщо 81 ^ 0, 8, ^ 0 або якщо хоч в одному iз синдромiв 81 = 0, 8, ^ 0 та 81 ^ 0, 8, = 0 , то помилку виявлено i переходимо до И виправлення. Для виправлення помилки в одному символi для кожного рядка розв'язуемо рiвняння (3), де:

V

X

*

*

*

*

*

*

*

*

*

*

*

*

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

*

*

*

*

*

*

*

vi - взаемно npocTi коефiцieнти, xj - прийняте повщом-лення та xi - повщомлення, яке вщправляли. Пiсля об-

числення рiвняння (3) для Bcix рядов, перевiряемо зна-чення синдрому при: Si ф 0, Sj = 0 - помилки е в стов-пцях, як1 виправляемо за формулою (див. (4)) та шд-ставляемо значения розв'язшв у матрицю; Si = 0, Sj ф 0 - помилки е в рядках, яш виправляемо за формулою (див. (4)). Перевiряемо ще раз, i якщо значення синдрому S = 0, Sj = 0 , то помилки виправлеш, а якщо значення синдрому Si ф 0, Sj ф 0 - то помилок бшьше, шж алгоритм може виправити.

Результати дослiдження. Побудуемо двовимiрний код на основi модулярного коригувального коду при k = 8, l = 8, розряднiсть шформацшних символiв m = 4, модуль P = 1021, коефщенти: v1 = 13, v2 = 17, v3 = 19, V4 = 23, v5 = 29 , v6 = 31, v7 = 37 , v8 = 43 (табл. 2). Табл. 2. Модулярний двовишрний код на виход1 передавача

X1 X2 X3 x4 X5 X6 X7 X8 #

3 4 9 10 12 14 6 8 835

11 14 15 0 1 2 7 4 167

4 7 2 15 12 3 11 13 940

1 2 3 4 7 8 10 0 1017

2 4 6 7 1 8 11 15 677

5 4 1 3 7 9 7 3 70

3 8 10 14 12 5 6 7 692

12 11 7 4 3 2 1 8 77

## 144 457 334 472 360 218 416 529

Примака: перев1рш числа по рядках (#) i стовпцях (##).

Розглянемо алгоритм виправлення помилок за максимально! шлькосп спотворених символiв (табл. 3).

X1 X2 X3 x4 X5 X6 X7 X8 #

12* 11* 6* 5* 3* 1* 9* 7* 303

4* 1* 0* 15* 14* 13* 8* 11* 971

4 7 13* 15 12 3 11 13 128

1 2 12* 4 7 8 10 0 167

2 4 9* 7 1 8 11 15 734

5 4 14* 3 7 9 7 3 317

3 8 5* 14 12 5 6 7 597

12 11 8* 4 3 2 1 8 96

## 142 327 804 662 464 236 472 635

Синдром по рядках, Si Синдром по стовпцях, Sj

489 1019

804 891

209 470

171 190

57 104

247 18

926 56

19 106

Табл. 5. Результати розв'язку ртичиня (3)

№ рядка !нформацшний символ

Х1 Х2 Х3 x4 X5 X6 X7 X8

1 52,92 42,29 34,00 28,13 21,34 18,16 23,37 19,37

2 20,69 13,76 11,42 24,43 21,48 20,00 13,86 16,04

3 66,46 54,76 2 5,91 4,79 29,19 5,35 8,13

4 66,38 52,00 3 40,96 1,10 2,48 5,37 19,76

5 76,15 0,65 6 4,52 34,24 6,16 9,46 13,67

6 64,54 49,53 1 36,65 33,69 1,04 0,32 21,00

7 10,31 13,59 10 18,13 15,28 8,06 8,56 9,21

8 10,54 9,88 7 3,17 2,34 1,39 0,48 7,56

2. Поставивши обчисленi значення в табл. 2, отри-маемо нову таблицю синдромiв (табл. 6).

Табл. 6. Таблицч синдром1в п1слч часткового

Синдром по рядках, Si Синдром по стовпцях, Sj

489 1019

804 891

0 727

0 190

0 104

0 18

0 56

0 106

Примака: перевiрнi числа по рядках (#) i стовпцях (##), * - спотвореш символи.

Як видно з табл. 4, спотвореш символи е в уах рядках та стовпцях. Алгоритм виявлення та виправлення помилок складаеться з таких крошв:

Табл. 4. Значення синдрому по рядках i стовпцях

Аналiз табл. 6 показуе, що помилки е в уах стовпцях, але тшьки у двох рядках, тобто спотвореш ва символи в першому i другому рядку. Виправлення помилок у двох символах здшснюемо за допомогою рiв-няння (4).

Для виправлення помилок у символах, розмщених у першому стовпщ, тдставимо числовi значення у рiв-няння (4) i отримаемо:

13(12 - x1) +17(4 - x2) = 1019(mod1021),

13x1 +17x2 = 226(mod 1021). (7)

Розв'язавши рiвняння (4), для кожного стовпця мат-рицi знайдемо правильш iнформацiйнi символи (табл. 7). Як видно з щеТ таблицi, знайдеш розв'язки рiв-няння (7) однозначно забезпечують виправлення поми-лок у 22 символах вхвдного повщомлення. Отже, роз-роблений код дае змогу виправляти пакети помилок iз максимальною довжиною b = 3k - 2 символiв, пiд час розмiщення спотворених символiв у двох рядках i одному стовпщ або у двох стовпцях i одному рядку. При цьому забезпечуе швидшсть коду R1 = k1 / щ = 0,62, при k = 8, m1 = 4, P = 1021, k1 = k ■ k ■ m1 = 256, П = 2 ■ k^]log2 P[= 160, щ = k1 + r = 416 та R2 = k2/ n2 = 0,67 при m2 = 8, k2 = 512, n2 = 768. Вщносна надлишковiсть коду дорiвнюе: r = (1 - R1) ■ 100 = 38% .

1. Перев1ряемо чи е рядки з одшею помилкою. Для цього послщовно розв'язуемо р1вняння (3) для кожного рядка. Результати розв'язку наведено в табл. 5. Як видно з ще! таблищ, знайдеш розв'язки - цш числа в зада-ному д1апазош (0-15) сввдчать про те, що спотворений символ х2 у 3-8 рядках.

!нформацшний символ

Х2 Х11 Х12 Х13 X14 X15 X16 X17 X18

0 17,38 22,31 28,62 10 13,31 16,62 15,15 13,23

1 16,08 21 27,31 8,69 12 15,31 13,85 11,92

2 14,77 19,69 26 7,38 10,69 14 12,54 10,62

3 13,46 18,38 24,69 6,08 9,38 12,69 11,23 9,31

4 12,15 17,08 23,38 4,77 8,08 11,38 9,92 8

5 10,85 15,78 22,08 3,46 6,77 10,08 8,62 6,69

6 9,54 14,46 20,77 2,15 5,46 8,77 7,31 5,38

7 8,23 13,15 19,46 0,85 4,15 7,46 6 4,08

8 6,92 11,84 18,15 -0,46 2,85 6,15 4,69 2,77

9 5,62 10,54 16,85 -1,77 1,54 4,85 3,38 1,46

10 4,31 9,23 15,54 -3,08 0,23 3,54 2,08 0,15

11 3 7,92 14,23 -4,38 -1,08 2,23 0,77 -1,15

12 1,69 6,62 12,92 -5,69 -2,38 0,92 -0,54 -2,46

13 0,38 5,31 11,62 -7,00 -3,69 -0,38 -1,85 -3,77

14 -0,92 4 10,31 -8,31 -5,00 -1,69 -3,15 -5,08

15 -2,23 2,69 9 -9,62 -6,31 -3,00 -4,46 -6,38

Висновки. Запропоновано метод виправлення паке-т1в помилок на основ1 модулярних коригувалъних ко-д1в, який забезпечуе ефективне виправлення помилок завдяки послвдовнш перев1рщ по рядках та стовпцях матриц даних. Розроблено алгоритм виявлення та виправлення випадкових однократних помилок та пакепв помилок максимальною довжиною b = 3k - 2 , за швид-косп коду R = 0,67 . Враховуючи низъку складшсть ре-ал1зацп алгоритму декодування, цей коригувалъний код планують використати для тдвищення надшносп пере-дач1 даних у безпровщних сенсорних мережах.

Перелш використаних джерел

Aditya Vempaty, Yunghsiang S. Han, Pramod K. Varshney (2014). Target Localization in Wireless Sensor Networks using Error Correcting Codes. IEEE Transactions on Information Theory, 60(1), 697-712. https://doi.org/10.1109/TIT.2013.2289859 Alrajeh, N., et al. (2015). Error Correcting Codes in Wireless Sensor Networks: An Energy Perspective. Applied Mathematics & Information Sciences, 9(2), 809-818. https://doi.org/10.1109/TIT.2013.2289859 Bleikhut, R. (1986). Teoriia i praktika kodov, kontroliruiushhikh os-hibki (Grushko, I. I., Blinovskii, V. M. Trans. from English). Zigan-girova, K. Sh. (Ed.). Moscow: Mir. 576 p. [in Russian].

Т. Г. Цаволик, В. В. Яцкив

Тернопольский национальный экономический университет, г. Тернополь, Украина

ИСПРАВЛЕНИЕ ПАКЕТОВ ОШИБОК НА ОСНОВЕ МОДУЛЯРНЫХ КОРРЕКТИРУЮЩИХ КОДОВ

Предложен метод исправления пакетов ошибок на основе модулярного корректирующего кода для повышения надежности передачи данных в беспроводных сенсорных сетях. Для борьбы с пакетами ошибок разработаны различные многомерные (каскадные, итеративные) коды. Принцип работы данных кодов заключается в последовательном использовании двух уровней кодирования и декодирования данных. При этом на каждом уровне кодирования могут использоваться одинаковые по типу и корректирующей способностью коды или разные. Преимуществом многомерных кодов является их высокая корректирующая способность, а недостатком - высокая избыточность. Разработана двумерная схема контроля ошибок на основе модулярного корректирующего кода. Модульные корректирующие коды относятся к символьным кодам, характеризуются низкой избыточностью, позволяют эффективно выявлять и исправлять единичные символьные ошибки. Принцип формирования проверочных символов в двумерном модульном коде заключается в следующем. Сначала производится исчисление проверочных символов по строкам матрицы данных. На следующем шаге вычисляются проверочные символы по столбцам данных. Разработан алгоритм обнаружения и исправления случайных однократных ошибок и пакетов ошибок максимальной длиной b = 3k - 2. Проведены экспериментальные исследования по выявлению и исправлению ошибок в пакете данных. Показано минимальную и максимальную длину и структуру ошибок, которую может исправить данный код. Учитывая низкую сложность реализации алгоритма декодирования данный корректирующий код планируется использовать для повышения надежности передачи данных в беспроводных сенсорных сетях.

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

T. H. Tsavolyk, V. V. Yatskiv

Ternopil National Economic UniVersity, Ternopil, Ukraine

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

BURST ERROR-CORRECTING CODES BASED ON MODULAR CORRECTING CODES

The authors have developed burst error-correcting method based on modular correcting codes. We have also designed error correcting algorithm for increasing data transfer reliability in the wireless sensor networks. Multidimensional codes (cascaded, iterated codes, product codes) were developed to deal with bursts of errors. The principle of these codes is the consistent use of two levels of encoding and decoding data. The codes with both same or different type and correcting ability can be used for each coding level. The advantage of multidimensional codes is high correction capability, and the disadvantage is high redundancy. At this work we developed two-dimensional error control scheme based on modular correction code. Modular correcting codes are non-binary codes that work with symbols composed of several bits characterized by low redundancy and allow effectively detecting and correcting any single errors. The principle of formation of check symbols in two-dimensional modular code is as follows. Firstly, the calculation of the check characters in the rows of the matrix of data is carried out. At the next stage, we calculated check symbols in the data columns. At that check symbols are calculated in the data rows and data columns can be transmitted with both data and individual packages. We developed error detection and correction algorithm for random single errors and error bursts with the length of b=3k-2. Experimental researches on detection and correction of error packages have been carried out. Finally, we calculated the syndrome as the difference between the check symbols calculated in the encoder and decoder. The position of the distorted symbol is determined by the value of the syndromes, which are not equal to zero at the intersection of the row and the column. If syndromes are not equal to zero in two or more rows or columns, then the errors occur in two or more symbols. If the syndrome in two columns - this means that the two characters in the row are distorted. Non-zero values of syndromes determine the positions of distorted symbols. Thus, the minimum and maximum length and structure of errors that can be corrected are shown. Due to low complexity of implementation of decoding algorithm this code can be used for increasing of data transmission reliability in wireless sensor networks.

Keywords: modular correction codes; wireless sensor networks; two-dimensional code; packet of errors.

Fatt, Tay Thian, & ChipHong, Chang. (2014). A new algorithm for single residue digit error correction in Redundant Residue Number System. Circuits and Systems, ISCAS, (pp. 1748-1751), IEEE International Symposium. http://doi.org/10.1109/ISCAS.2014.6865493

Jun, Su, & Yatskiv, V. (2013). Method and Device for Image Coding & Transferring Based on Residue Number System. Sensors & Transducers Journal, 18, Special Issue, 60-65.

Morelos-Saragosa, R. (2005). Iskusstvo pomekhoustoichivogo kodiro-vaniia. Metody, algoritmy, primenenie. Moscow: Tekhnosfera. 320 p. [in Russian].

Sieck, J., Yatskiv, V., Sachenko, A., & Tsavolyk, T. (2015). Two-Dimensional Error Control Based on Modular Corrective Codes. International Journal of Computing, 14(4), 208-213.

Yatskiv, V., Yatskiv, N., Jun, Su, Sachenko, A., & Zhengbing, Hu. (2013). The Use of Modified Correction Code Based on Residue Number System in WSN. Proceedings of the 7-th 2013 IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems, 1, 513-516, IDAACS'2013, Berlin, Germany.

Yatskiv, V., Yatskiv, N., Sachenko, A., & Jun, Su (2014). CPLD Encoder and Decoder for Modified Correction Codes Based on Residue Number System. Modern Problems of Radio Engineering, Telecommunications, and Computer Science. Proceedings of the International Conference (TCSET'2014), (pp. 492-493), February 25 -March 1, Ukraine. Lviv-Slavske.

i Надоели баннеры? Вы всегда можете отключить рекламу.