Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання на лаб. роб. ТІК VI сем..docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
842 Кб
Скачать

Алгоритми виявлення місця та величини спотворень

Алгоритм табличного виявлення місця та величини спотворень. Виходячи із властивості коду про наявність однозначного зв’язку можна побудувати та використати таблицю відповідності типу → та здійснити виправлення цього спотворення.

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

Слід врахувати, що максимальна кількість можливих залишків при розподілі на багаточлен ступеня k є завжди меншим значення 2k при максимальному значенні залишку, яке дорівнює (2k – 1). Це означає, що і максимальна кількість спотворень, а отже і довжина коду п повинні відповідати умові

, (1)

інакше неминучим є повторення значень залишків. Останнє призводить до явища, коли при порушенні нерівняння (1) спотворенням у різних символах інформаційного об’єкті будуть відповідати залишки, які хоча і відрізняються від нуля, але є однаковими. Таким чином при порушенні нерівняння (1) код виявляє наявність спотворення, але є нездатним виявити їх місце та величину, отже є нездатним до їх виправлення.

Із виразу (1) неважко визначити ступінь утворюючого поліному, який потрібно застосовувати для виявлення і виправлення спотворень в інформаційному об’єкті загальною довжиною п символів:

. (2)

Якщо умови (1) та (2) дотримано, то як елементи цієї таблиці використовують результати розподілу хі/Р(x), які для прикладу при Р(x) = х3 + х2 + х0 та і = 0, 1,…, 6 зведено в таблицю 2.

Таблиця 2

Показник ступеня хі

Значення Е = хі

Результат розподілу хі/Р(x)

Двійковий еквівалент хі/Р(x)

0

х0 =1

х0=1

001

1

х1

х1

010

2

х2

х2

100

3

х3

х2 + 1

101

4

х4

х2 + х + 1

111

5

х5

х + 1

011

6

х6

х2 +х

110

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

Алгоритм пошуку і виправлення помилкових розрядів будується виходячи із тих же міркувань, що результат ділення прийнятої комбінації F(x) та ділення відповідного спотворення на утворюючий поліном є еквівалентними. Тоді можна застосувати пошук і виправлення помилкових розрядів в n- елементній комбінації (n = m + k), включаючи такі кроки:

1. Отримуємо залишок від ділення Eп, відповідного спотворенню в старшому розряді [100…00], на утворюючий поліном : R0(x) =Eі (x)/ .

2. Ділимо отриманий поліном на і одержуємо поточний залишок R(x).

3. Порівнюємо R0(x) і R(x).

  • Якщо вони рівні, то спотворення сталася в старшому розряді.

  • Якщо ні, то збільшуємо ступінь прийнятого полінома на x і знову проводимо розподіл: •x/ = R(x).

4. Знову порівнюємо отриманий залишок з R0(x).

  • Якщо вони рівні, то спотворення в другому розряді.

  • Якщо ні, то множимо •х2 і повторюємо ці операції до тих пір, поки R(x) не буде дорівнює R0(x). Спотворення буде в розряді, відповідному числу, на яке підвищений ступінь , плюс один. Наприклад: •x3/ = R0(x), тоді спотворення в розряді із номером (3 + 1) = 4.