Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теорія побудови і кодування просторових k-значних структур [на укр. яз.].doc
Скачиваний:
7
Добавлен:
02.05.2014
Размер:
18.53 Mб
Скачать

4.5. Аналіз принципів побудови та дії двокаскадногоCirc-декодера

Проаналізуємо принципи побудови та дії системи двокаскадного CIRC-декодера для варіанта, коли обчислення синдромів S0, S1, S2, S3 і додаткових синдромів A1, A2, A3 виконується блоком із паралельною архітектурою обчислень, а процедури обчислення значень трьох помилок – відповідно до паралельно-послідовної архітектури обчислень [159]. На вхід декодера С1 після першого етапу деперемежування ДП1 надходять 32 інформаційних символи, що підлягають процедурі декодування С1 згідно з таким алгоритмом.

Символи V0, V1, ..., V31, що є елементами поля ґалуа GF(28), надходять на блок обчислення синдромів SINDR (рис. 4.9). Чотири обчислених синдроми перевіряються згідно з умовами: S0 = S1 = S2 = S3 = 0. Якщо ці умови виконуються, то в інформаційному блоці помилки відсутні. Якщо ж умови не виконуються й наявна більше ніж одна помилка, з інформаційного блока відкидаються 4 паритетних P-символи, а решта 28 символів надходять на деперемежувач ДП2 в ОЗП разом з однобітовими прапорцями, що дорівнюють «0» у разі відсутності помилок та рівні «1» за наявності більше ніж однієї помилки в блоці символів.

Рис. 4.9. Функціональна схема паралельного обчислювача синдромів

У подальшому в блоці DSINDR обчислюються додаткові синдроми та здійснюється перевірка умови A1 = A2 = A3 = 0. Якщо ця умова виконується, то в інформаційному блоці із 32 символів наявна тільки одна помилка, місцезнаходження якої визначається й вона спрямовується в блок KORR1, куди надходять також із блока DSINDR значення синдромів S0 i S1, a помилковий символ зчитується з ОЗП, де перебувають усі 32 символи блока даних, згідно з адресуванням деперемежувача ДП1.

Таким чином, аналіз процедур показав, що до складу CIRC-декодера з обраними властивостями (стратегією декодування) необхідно ввести буферну пам’ять для затримки блока із 32-х символів на час обробки з метою виправлення помилки. Символи в буферну пам’ять надходять одночасно з надходженням їх у блок SINDR обчислення синдромів. Виправлений символ з одинокою помилкою повертається за своєю адресою в буферну пам’ять. Від інформаційного блока відкидаються перевірні P-символи, йому присвоюється значення одинокого прапорця, що дорівнює «0», та він переписується в ОЗП.

Якщо ж рівність «0» додаткових синдромів не виконується, то помилок у символах більше ніж одна. При цьому з блока усуваються помилкові P-символи, а блок разом із прапорцем, що дорівнює 1, записується в ОЗП. Присвоєння прапорців помилковим блокам здійснюється в буферній пам’яті. Тому в структурі CIRC-декодера (рис. 4.10) блок перевірки БП S = 0, крім порівняння відповідних синдромів із нулем, повинен виконувати функції та містити схему присвоєння прапорця, рівного 0, та пристрій керування передачею чотирьох синдромів у блок DSINDR. Цей блок зберігає значення синдромів S0, S1 у вигляді показників степенів примітивного елемента поля ґалуа GF(28) для подальшої передачі та використання в блоці KORR1.

Блок перевірки БП «A = 0» повинен також містити пристрій керування для передачі прапорця, що дорівнює «1», у разі, коли умова не виконується й прапорець дорівнює «0», та прапорця, що дорівнює 0, коли умова виконується після коригування помилки.

Блок FLAG повинен, у разі надходження однобітового прапорця F, передавати його разом із блоком даних в ОЗП для здійснення деперемежування ДП2.

Рис. 4.10. Функціональна схема С1 декодера двокаскадного CIRC-коду

Згідно з попередніми дослідженнями [52, 137] стратегія С13 є оптимальною під час тривалих збоїв, тому С2-декодер виправляє три помилки, розкид яких здійснюється деперемежувачем ДП2. Після деперемежування ДП2 блок даних із 28 символів надходить на блок обчислення синдромів у блоці С2, який здійснює над 28 символами ті ж перетворення, що й обчислювач блока С1, але із 32 символами. Аналогічно як і в С1 перевіряються умови S0 = S1 = S2 = S3 = 0. Якщо умови виконуються – блок є безпомилковим і він надходить на деперемежувач ДП3, якщо ні – символи надходять на блок ANAL, який обчислює число символів у блоці даних зі значеннями прапорців F = 1 (після деперемежування ДП2 кожному інформаційному символу відповідає певне значення прапорця F та {0, 1}) і, відповідно, запам’ятовуються номери помилкових символів у блоці даних.

Якщо число помилок у блоці >3, то весь блок даних передається на вхід деперемежувача ДП3. Якщо ж число помилкових символів 3, то номери їх передаються в блок KORR3 разом зі синдромами з блоку БП «S = 0». Після виправлення помилок значення відповідних їм прапорців F = 1 витираються й стають рівними 0, а блок скоректованих символів надходить на ДП3. Зазначимо, що в тому разі, коли символи надходять із прапорцями (число помилок >3), – їх значення можуть просто відкидатися і в мережу надходить запит на повторну передачу правильної комбінації, або – якщо ці дані можуть бути інтерпольовані – здійснюється їх згладжування з урахуванням значень сусідніх неспотворених символів.

У функціональній схемі С2-декодера (рис. 4.11) шинами 1 – 3 передаються сигнали керування, де F – блок присвоєння прапорців, V – блок інформаційних символів. На вхід С2-декодера та на блок буферної пам’яті надходять блок однобітових прапорців і блок із 28 байтних інформаційних символів. Останній також надходить на блок SINDR обчислення синдромів. Із нього чотири синдроми надходять на БП «S = 0» для перевірки умови рівності синдромів нулю. Якщо умова виконується, сигнал керування (шина 1) дозволяє пересилання інформаційних блоків F та V в ОЗП для деперемежування ДП3. Якщо умова Sі = 0 не виконується, сигнал керування ініціює початок роботи блока ANAL, який зчитує блок символів прапорців F із буферної пам’яті, що підраховує число одиниць у блоці F і формує масив номерів помилкових символів.

Рис. 4.11. Функціональна схема С2-декодера

Число помилкових символів KOL передається на БП . Якщо умова не виконується, керування передається до буферної пам’яті для зчитуванняF i V в ОЗП. Якщо ж умова виконується, керування передається блоку ANAL, який передає номери помилкових символів на буферну пам’ять прапорцівF для обнулення їх значень і на блок KORR3, що здійснює обчислення помилок, зчитування й корекцію помилкових символів, а також передачу скоректованих символів у блок буферної пам’яті. Крім цього, сигнал керування надходить у блок БП «S = 0» для передачі синдромів S0, S1, S2 у блок KORR3. Після коригування помилкових символів виправлений інформаційний блок із 24 символів надходить на деперемежування ДП3 в ОЗП.

Послідовний алгоритм обчислень складається з п’яти кроків:

1-й крок: .

2-й крок: X21 = X11X13; X22 = X12S1; X23 = X14S0.

3-й крок: .

4-й крок: .

5-й крок: .

Дальше результат обчислень ei затримується на 20 тактів, а на вході обчислювача здійснюється циклічний зсув символів іj, jl, li. Потім виконуються п’ять кроків алгоритму обчислень та визначається помилка el. Із опису алгоритму обчислень видно, що в структурі процесора необхідно передбачити елементи затримки і відповідний пристрій керування процесом обчислень.

При послідовній архітектурі обчислювача з допомогою блока керування можна скоротити на порядок число звертань до ПЗП порівняно з паралельною структурою, якщо під час обчислення першої помилки ei запам’ятати показники степенів синдромів S0 та S1, а також елементи поля ґалуа GF(28), що відповідають номерам помилкових символів i, j, l. Дальше обчислені помилки ei, ej, el разом із помилковими символами ,танадходять на блокKORR коригування помилок (див. рис. 4.5), де вони виправляються методом порозрядного додавання відповідних помилок і помилкових символів. На виході блока KORR отримуємо три виправлених символи Vi, Vj, Vl. Повну структурну схему блока коригування трьох помилкових символів зображено на рис. 4.6.

Вирази для обчислення значень помилок отримані перенумеруванням у зворотному порядку символів блока вхідних даних у формулі (4.8). Паралельний алгоритм реалізації обчислень розпадається на п’ять таких кроків:

1-й крок: .

2-й крок: ;

;

;

.

3-й крок: ;

;

.

4-й крок: ;

;

.

5-й крок: ;

;

.

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

Алгоритм послідовно-паралельних обчислень можна розбити на 10 кроків:

1-й крок: ;

2-й крок: ;

;

3-й крок: ;

4-й крок: ;

5-й крок: .

Цей крок завершує етап обчислень значення помилок еі.

6-й крок: ;

7-й крок: ;

8-й крок: .

Відповідно, 8-й крок дає в результаті обчислень значення помилки еj.

9-й крок: X91 = X81 + X51 = ei + ej;

10-й крок: X101 = X91 + S0 = ei + ej + S0.

На останньому кроці отримуємо еl.

Розглянутий алгоритм, кількісні оцінки для якого наведено в табл. 4.1, є певним компромісом між апаратними затратами та швидкодією при виявленні й виправленні трикратних помилок у CIRC-декодері. У табл. 4.1 зведено характеристики всіх трьох видів структур обчислювачів для виявлення та виправлення трьох помилок.

Таблиця 4.1

Порівняльні характеристики швидкодії та апаратних затрат С2-декодера для стратегії декодування С13

Характеристика

Алгоритм

Паралельний

Послідовний

Посл./Паралел.

Швикодій-ність

Число тактів обчисл.

5

15

10

Число тактів звертань до ПЗП

5

15

7

Усього тактів

10

30

17

Апаратні затрати

Число

mod 2

9

5

9

Число

mod 255

14

5

7

Усього блоків

23

10

16

Соседние файлы в предмете Дипломная работа (подготовка и защита)