КАТЕГОРИИ: Архитектура-(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) |
Використання z - алгоритму
Для виявлення помилок в z - алгоритмі використовується відмічений вище факт, що спотворене число виходить за межі робочого діапазону, тобто . (2) Скористаємося відомим з співвідношенням для перекладу чисел із CЛК в позиційну систему числення (3) де Ві – константа системи обчислення, її ортогональний базис, причому Ві = R· mi / pi (i = 1, 2,..., m + 1) (4) (m + 1) - число умовних основ, включаючи контрольну; mi - ціле позитивне число, зване “вагою” ортогонального базису Ві таке, при якому Ві (mod pi) = 1. Підставивши вираз (3) в (2) із врахуванням (4), отримаємо > R/pk. (5) Скоротивши обидві частини (5) на R отримаємо z < 1/ рk (6) де (7) Вирази (6, 7) визначають z -алгоритм декодування для ЛУ-коду. Цей алгоритм включає (m + 1) незалежне (при необхідності одночасне) множення коди i -ої групи (i = 1,..., m +1) на відповідну константу і потім складання (m +1) отриманих добутків. Для побудови алгоритму, здатного не тільки виявляти але і виправляти помилки використовуємо наступні міркування. Оскільки помилка по i - тій основі, як показано вище, має величину – li·Ri < Р (8) причому величина li визначається з виразу [/ Ri ] = [(A + li·Ri) / Ri ] = li. (9) Тоді з врахуванням (3, 7, 9) вираз (8) прийме вигляд z · pi – [ z · pi ] < pi/рк. ( 10) Ясно, що вираз (8) і еквівалентний йому вираз (10) справедливі тільки для тієї основи pi, в залишку якої є спотворення. Отже, вираз (10) дозволяє визначити місце (номер групи), де виникла помилка. Неважко переконається, що величина цього спотворення (11) Таким чином, вирази (7, 10, 11) визначають z - алгоритм декодування для Власне виправлення зводиться до операції , причому оскільки залишки по будь-яких основах є рівноправними, то все вище сказане відноситься і до контрольної основи. Прийнявши на етапі кодування α k = 0, отримаємо α k = (рk - P ·[z· рk ]) (mod рk) (12) і тоді вирази (7, 12) визначають z - алгоритм кодування. Достоїнствами 1) можливість паралельного обчислення величини z; 2) простота алгоритму; 3) всі величини алгоритму є детермінованими, тому виявлена помилка виправляється з вірогідністю, що дорівнює одиниці; 4) місце і величина помилки визначаються з розрахункових співвідношень; 5) розрядність використовуваних констант значно менша, ніж в алгоритмі нулізації і лише декілька перевищує розрядність контрольної основи рk. До недоліку z - алгоритму слід віднести наявність у виразах (6, 7, 10) серед операцій z -алгоритмів кодування-декодування операції ділення на числа, що є простими, коли результат ділення може бути, найчастіше, нескінченним дробовим числом. Це, в наслідок обмеженої розрядності сучасних пристроїв, а отже наявності вимушених округлень результатів, може привести до неточних обчислень і поставити під сумнів трете достоїнство алгоритму. Розглянемо приклади використання z - алгоритму стосовно умов прикладів 2, 3, розрахувавши заздалегідь константи, необхідні для обчислення змінних z. Для вибраних р 1 = 4, р 2 = 5, р 3 = 7, рk = 71 отримаємо: Р = 4·5·7 = 140; R =Р· рk = 9940. При цьому R1 = 2485; R2 = 1988; R3 = 1420; R4 = Р = 140, m1 = 1; m2 = 2; m3 = 6; g 1 = 0,25; g 2 = 0,4; g 3 = 0,85714; g 4 = 0,492957 Приклад 4. Закодувати послідовність 11.01.10 з використанням z -алгоритма ЛУ-коду. Приймемо на етапі кодування α4 = 0. З виразу (7) отримаємо Z = ]α1·В1 + α2·В2 + α3·В3 + α4·В4[ = ]3·0.25 + 1·0,4 + 2·0,857142 + 0·0,492957[ = ]2,86428[ = = 0,86428, де знак ] х [ означає обчислення дробової частини від величини х. Тоді відповідно до (11) α4 = (р 4 - P·[z· р 4]) (mod р 4) = (71 - 140·[0,86428·71]) (mod 71) = 51. Порівнюючи набутого значення α4 з результатами розрахунків в прикладі 2 переконуємося в їх ідентичності. Приклад 5. Виявити і виправити помилку в послідовності, використовуваній в прикладі 3, де = 11.01.01.0110011. Як і в прикладі 4 отримуємо Z = ]3·0.25 + 1·0,4 + 1·0,857142 + 51·0,492957[ = Оскільки відповідно до виразу (6) z = 0,147949 > 1/ рк то робимо вивід про наявність помилки в представленій кодовій послідовності. Для знаходження місця спотворення оцінюємо справедливість нерівностей (10). z ·p1 – [ z ·p1] = 0,91796 < p 1 /рк = 0,09859 Нерівність не справедлива. z ·p2 – [ z ·p2] = 0,739745 < p 2 /рк = 0,070422 Нерівність не справедлива. z ·p3 – [ z ·p3] = 0,035643 < p 3 /рк = 0,09859 Нерівність справедлива. Звідси слідує вивід про спотворення в третій групі розрядів величиною = {[1,035623]·1420} 7 = {1420}7 = 6 тому = {1 -6} 7 = 2 = 10(2). Порівнюючи набуте значення α3 з початковим (приклад 3) переконуємося в правильній корекції виявленого спотворення. Приклади 4 і 5 підтверджують як відмічені достоїнства z – алгоритму, так і його недолік – наявність операцій обчислення і порівняльна багаторозрядних, можливо нескінченних величин.
Дата добавления: 2014-01-04; Просмотров: 420; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |