Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритм нулізації




Суть алгоритму нулізації зводиться до того, що як при кодуванні, так і при декодуванні по першим m лишкам α i (i = 1, 2,..., m) із спотвореного числа

=1, α2..., { α i + Δα i } (mod pi),…, α m, α k)

послідовно формуються, так звані мінімальні числа вигляду

t1 = (α1, , ,..., , ),

t2 = (0, (α2) (mod p 2), ,…, ,),

t3 = (0, 0, (α3 - - ) (mod p 3), ., ,),

........................

t n = (0, 0, 0...,(α n - ) (mod pm),),

де tі (наприклад, t3) – мінімальне із усіх можливих чисел, які мають лишок по основі pі (наприклад, р 3) такий, що на і – тому кроці нулізації дорівнює різниці по відповідному модулю між початковим значенням цього символу (наприклад, а 3) і сумою значень символів із цим же номером, які одержані на попередній кроках (наприклад, + ). Звернемо увагу також на те, що оскільки на цьому кроці нулізації усі символи із номерами (наприклад, із = 1, 2) дорівнюють нулю, то це означає, що відповідне мінімальне число є кратним усім pі із номерами (наприклад, р 1, р 2), тобто є кратним добутку (наприклад, р 1∙ р 2).

Звернемо увагу на те, що кількість нулів в представленні мінімальних чисел послідовно збільшується, звідки і витікає назва алгоритму.

Cума мінімальних чисел Т = має наступні дві властивості. По-перше, лишки цієї суми по всіх основах, окрім рk завжди дорівнюють лишкам початкового числа Р. По-друге, відомо, що величина цієї суми завжди менше величини робочого діапазону Т < Р, тобто величина Т лежить а межах робочого діапазону і для неспотворених чисел Т = А.

Неважко помітити, що в останньому випадку в разі відсутності спотворень Т = А процес одержання величини α k є процесом кодування початкового числа ЛУ-кодом, оскільки значення А залежить тільки від цього початкового числа і не залежить від невідомої при кодуванні величини лишку по контрольному модулю рк (це означає, що знати значення α к до кодування не має потреби). Цей лишок (шукана контрольна ознака) α к формується як сума по модулю рк проміжних величин t і (і = 1, 2,..., n) чи їх лишків по основі рк, тобто

α k = (mod рк) = (mod рк).

Після кодування цілком сформоване число як набір лишків по усім основам, включаючи контрольну:

А =1, α2..., { α i + Δα i } (mod pi),…, α m, α k)

передається в канал.

При декодуванні по прийнятому, можливо спотвореному числу знову формується величина T, яка віднімається з числа . Це приводить до того, що отримана різниця

Г = T = (0, 0, 0...,, γ) = kР

має по всіх основах, окрім контрольної, лишки, що дорівнюють нулю, а по контрольній

γ = (α k – (Т mod рк)) (mod рк) = (k∙Р) (mod рк),

тобто

- T = (0, 0., 0,...,0, (k ·Р) (mod рк)),

де k може приймати будь-яке значення із діапазону k = 0, 1, 2,..., рk –1.

Для неспотворених чисел, тобто при k = 0, величина γ = 0, для спотворених − γ ≠ 0. Вище доведено, що при рk ≥ 2· рm·pm -1 є взаємно однозначна відповідність між величиною помилки Δα i і величиною γ, що дає можливість, отримавши γ, визначити місце і величину помилки, тобто здійснити її виправлення.

Недоліками цього алгоритму є:

1) обчислення величини T здійснюється послідовно, оскільки значення чергової величини tj може бути визначеним тільки при відомих попередніх ti (і = 1, 2,..., j -1), що виключає можливість розпаралелювання процесу і досягнення при цьому високої швидкодії алгоритму;

2) багаторозрядність мінімальних чисел tj, оскільки перше мінімальне число потребує N розрядів, друге – (Nb)..., m - не – (N – (m – 1)∙ b) розрядів, що вимагає наявність ЗП великій ємності;

3) відсутність розрахункових співвідношень між Δα i і γ, що потребує використовувати таблиці відповідності типу (γ→ Δα i).

Для ілюстрації можливостей алгоритму розглянемо два приклади.

Приклад 2. Хай необхідно закодувати з використанням алгоритму нулізації початковий код 110110, вважаючи, що можлива тривалість пакету спотворень b = 2. Тоді можливе розбиття початкового коду на три (n = 3) дворозрядні групи α1 =11, α2 =01, α3 =10, s = 4, а як умовні основи можна вибрати р1 = 4, р2 = 5, р3 = 7. При цьому значення контрольної основи (рк > 2· рn ·рn -1 = 2·5·7 = 70) можна вибрати рк = 71, що вимагає для свого відображення семи розрядів. В результаті цього для кодування формується код

А = 11.01.10.0000000.

Перше мінімальне число t 1 повинне мати залишок по першій основі, який дорівнює 11(2)= 3(10). Таким числом є t 1 = 3 або при представленні в СЛК з вибраними основами

t 1 = 11.11.011.0000011.

Друге мінімальне число t 2 повинне мати залишок по першій основі, рівний нулю (тобто число, яке є кратним 4), а по другій

((α2 - ) (mod p2) = (1 – 3) (mod 5) = 11(2).

Мінімальним числом, що має такі залишки по першій і другій основах, є t 2 = 8, тобто

t 2 = 00.11.001.0001000.

Третє мінімальне число t 3 повинне мати нульові залишки по перших двох основах (тобто число, яке є кратним 20), а по третьому

((α3 - - ) (mod p 3) = (2 – 3 - 1) (mod 7) = 5 = 101(2).

Мінімальним числом, що має такі залишки, є t 3 = 40, тобто

t 3 = 00.00.101.0101000.

Тоді сума цих чисел Т= рівна 51, тобто

Т = 11.01.10.0110011.

Код Т = А є шуканим результатом кодування.

Звернемо увагу на те, що величини t 1, t 2, t 3 формуються послідовно, а також на їх велику розрядність.

Приклад 3. Декодувати з використанням алгоритму нулізації для умов прикладу 2 код = 11.01.01.0110011, в якому спотворена третя пара розрядів. Як і раніше

t 1 = 11.11.011.0000011 = 310.

t 2 = 00.11.001.0001000 = 810.

Для третього мінімального числа t 3

((α3 - - ) (mod p 3) = (1 – 3 - 1) (mod 7) = 4 = 100(2).

Мінімальним числом (тобто числом, яке є кратним 20), що має такі залишки, є t 3 = 60, тобто

t 3 = 00.00.100. 0111100

При цьому

Т = =71,

тобто оскільки Т (mod 71) = 0, то

Т = 11.01.01.0000000

і

γ = (α k – (Т mod рк)) (mod рк) = (0110011 - 0000000) (mod 71) = 51.

Оскільки γ ≠ 0, то робиться вивід про наявність в декодованому числі помилки. Оскільки, при цьому

γ = (k · Р) (mod рк) = (k ·140) (mod 71),

то k = 10, тому що 1400 (mod 71) = 51.

Нескладно переконатися в тому, що декодоване число A = 1471 може бути отримано тільки в результаті спотворення початкового числа А = 51 на величину
Δ А = 1420 = = 00.00.110.0000000, тобто при спотворенні третьої групи розрядів на величину Δα3 = 110, після чого корекція результату здійснюється просто:

α3 = (3 - Δα3) (mod 7) – (1 – 6) (mod 7) = 2 = 10(2).

Порівнявши набутого значення з початковим, неспотвореним (умова прикладу 1), переконуємося в тому, що корекція проведена вірно.




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.