Номер патенту: 96108

Опубліковано: 26.09.2011

Автори: Цзинь Хой, Річардсон Том, Новічков Владімір

Є ще 12 сторінок.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

1. LDPC-декодер, що містить:

джерело повідомлень, що включає в себе вихід повідомлень для видачі N повідомлень паралельно, при цьому N більше 1;

модуль обробки вузлів, що включає в себе N процесорів вузлів, розміщених паралельно;

керований блок перестановки, що зв'язує згадане джерело повідомлень зі згаданим модулем обробки вузлів, причому згаданий керований блок перестановки включає в себе вхід сигналу керування перевпорядкуванням для прийому сигналу керування перевпорядкуванням, щоб керувати перевпорядкуванням повідомлень в щонайменше одному наборі з N повідомлень, що передаються через згаданий керований блок перестановки;

керуючий модуль для формування першого сигналу керування адресацією як функції від збереженої інформації опису кодів, причому згаданий керуючий модуль має вихід першого сигналу керування адресацією, з'єднаний зі згаданим джерелом повідомлень; і

модуль вибору блоків для формування сигналу вибору адрес блоків, причому згаданий модуль вибору блоків має вихід сигналу вибору адрес блоків, з'єднаний зі згаданим джерелом повідомлень.

2. Декодер за п. 1, в якому згаданий керуючий модуль включає в себе:

лічильник внутрішніх циклів для формування згаданого першого сигналу керування адресацією; і

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

3. Декодер за п. 2, в якому

згаданим джерелом повідомлень є запам'ятовуючий пристрій; і

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

4. Декодер за п. 3, в якому згаданий вибраний коефіцієнт SK розширення менший або дорівнює максимальному розширенню K, яке відповідає максимальному коефіцієнту розширення, що підтримується згаданим керуючим модулем.

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

6. Декодер за п. 5, в якому джерело повідомлень включає в себе модуль формування адрес для формування сигналу доступу до пам'яті зі згаданого першого сигналу керування адресацією і згаданого другого сигналу керування адресацією.

7. Декодер за п. 6, в якому згадане джерело повідомлень включає в себе пам'ять, яка включає в себе щонайменше N разів по K комірок пам'яті.

8. Декодер за п. 7, в якому кожен з N разів по K комірок пам'яті зберігає щонайменше 2 біти.

9. Декодер за п. 1, в якому джерело повідомлень додатково включає в себе модуль відновлення для відновлення повідомлень, збережених в згаданій пам'яті перед видачею згаданих повідомлень в згаданий керований блок перестановки.

10. Декодер за п. 1, в якому кожний зі згаданих процесорів вузлів є процесором вузлів змінних.

11. Декодер за п. 1, в якому кожний зі згаданих процесорів вузлів є процесором перевірочних вузлів.

12. Декодер за п. 1, в якому кожний зі згаданих процесорів вузлів є процесором вузла, що конфігурується, який перемикається між режимом роботи вузлів змінних і перевірочних вузлів.

13. Декодер за п. 12, в якому кожний з процесорів вузлів, що конфігуруються, приймає конфігураційну інформацію, що формується за допомогою згаданого керуючого модуля зі згаданої збереженої інформації опису коду.

14. Спосіб виконання обробки декодування з контролем по парності низької щільності (LDPC), що містить етапи, на яких:

надають декодер, що включає в себе:

модуль пам'яті, який включає всебе N L K комірок пам'яті, де N і L - позитивні цілі числа, а K - ціле число більше 1, причому кожна комірка пам'яті забезпечує збереження декількох бітів;

керований модуль перестановки, з'єднаний зі згаданим модулем пам'яті, для виконання операцій перевпорядкування елементів для набору з N багатобітових елементів, щоб змінити порядок елементів в згаданому наборі;

модуль обробки вузлів, що включає в себе N процесорів вузлів, що конфігуруються, розміщених паралельно, з'єднаний зі згаданим керованим модулем перестановки;

набір збережених інструкцій керування декодером; і

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

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

15. Спосіб за п. 14, який додатково містить етапи, на яких:

виконують операцію доступу до пам'яті в комірці, визначеній з першого сигналу керування перевпорядкуванням; і

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

16. Спосіб за п. 15, в якому згаданий етап виконання операції доступу до пам'яті в комірці, визначеній зі згаданого першого сигналу керування перевпорядкуванням, включає в себе етапи, на яких:

формують адресу пам'яті з першого значення керування адресацією, включеного в згадану команду керування декодером, і другого сигналу керування адресацією, сформованого зі згаданого першого сигналу перевпорядкування і значення, сформованого лічильником циклів.

17. Спосіб за п. 16, в якому значення, сформоване за допомогою згаданого лічильника циклів, формується як функція від сигналу індикатора довжини кодового слова.

18. Спосіб за п. 17, який додатково містить етап, на якому:

конфігурують вузли в згаданому модулі обробки вузлів як функцію від інформації конфігурації, включеної в згадану команду керування декодером.

19. Пристрій для виконання обробки декодування з контролем по парності низької щільності (LDPC), що містить:

засіб надання декодера, що включає в себе:

модуль пам'яті, який включає в себе N L K комірок пам'яті, де N і L - позитивні цілі числа, а K - ціле число більше 1, причому кожна комірка пам'яті забезпечує збереження декількох бітів;

керований модуль перестановки, з'єднаний зі згаданим модулем пам'яті, для виконання операцій перевпорядкування елементів для набору з N багатобітових елементів, щоб змінити порядок елементів в згаданому наборі;

модуль обробки вузлів, який включає в себе N процесорів вузлів, що конфігуруються, розміщених паралельно, з'єднаний зі згаданим керованим модулем перестановки;

набір збережених інструкцій керування декодером; і

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

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

20. Пристрій за п. 19, який додатково містить:

засіб виконання операції доступу до пам'яті в комірці, визначеній з першого сигналу керування перевпорядкуванням; і

засіб впливу на модуль блока перестановки для виконання операції перевпорядкування повідомлень відповідно до згаданого поданого сигналу керування перевпорядкуванням.

21. Пристрій за п. 20, в якому згаданий засіб виконання операції доступу до пам'яті в комірці, визначеній зі згаданого першого сигналу керування перевпорядкуванням, включає в себе:

засіб формування адреси пам'яті з першого значення керування адресацією, включеного в згадану команду керування декодером, і другого сигналу керування адресацією, сформованого зі згаданого першого сигналу перевпорядкування і значення, сформованого лічильником циклів.

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

23. Пристрій за п. 22, що додатково містить:

засіб конфігурування вузлів в згаданому модуліобробки вузлів як функції від інформації конфігурації, включеної в згадану команду керування декодером.

Текст

1. LDPC-декодер, що містить: джерело повідомлень, що включає в себе вихід повідомлень для видачі N повідомлень паралельно, при цьому N більше 1; модуль обробки вузлів, що включає в себе N процесорів вузлів, розміщених паралельно; керований блок перестановки, що зв'язує згадане джерело повідомлень зі згаданим модулем обробки вузлів, причому згаданий керований блок перестановки включає в себе вхід сигналу керування перевпорядкуванням для прийому сигналу керування перевпорядкуванням, щоб керувати перевпорядкуванням повідомлень в щонайменше одному наборі з N повідомлень, що передаються через згаданий керований блок перестановки; керуючий модуль для формування першого сигналу керування адресацією як функції від збереженої інформації опису кодів, причому згаданий керуючий модуль має вихід першого сигналу керування адресацією, з'єднаний зі згаданим джерелом повідомлень; і модуль вибору блоків для формування сигналу вибору адрес блоків, причому згаданий модуль вибору блоків має вихід сигналу вибору адрес блоків, з'єднаний зі згаданим джерелом повідомлень. 2. Декодер за п. 1, в якому згаданий керуючий модуль включає в себе: 2 (19) 1 3 9. Декодер за п. 1, в якому джерело повідомлень додатково включає в себе модуль відновлення для відновлення повідомлень, збережених в згаданій пам'яті перед видачею згаданих повідомлень в згаданий керований блок перестановки. 10. Декодер за п. 1, в якому кожний зі згаданих процесорів вузлів є процесором вузлів змінних. 11. Декодер за п. 1, в якому кожний зі згаданих процесорів вузлів є процесором перевірочних вузлів. 12. Декодер за п. 1, в якому кожний зі згаданих процесорів вузлів є процесором вузла, що конфігурується, який перемикається між режимом роботи вузлів змінних і перевірочних вузлів. 13. Декодер за п. 12, в якому кожний з процесорів вузлів, що конфігуруються, приймає конфігураційну інформацію, що формується за допомогою згаданого керуючого модуля зі згаданої збереженої інформації опису коду. 14. Спосіб виконання обробки декодування з контролем по парності низької щільності (LDPC), що містить етапи, на яких: надають декодер, що включає в себе: модуль пам'яті, який включає в себе N L K комірок пам'яті, де N і L - позитивні цілі числа, а K - ціле число більше 1, причому кожна комірка пам'яті забезпечує збереження декількох бітів; керований модуль перестановки, з'єднаний зі згаданим модулем пам'яті, для виконання операцій перевпорядкування елементів для набору з N багатобітових елементів, щоб змінити порядок елементів в згаданому наборі; модуль обробки вузлів, що включає в себе N процесорів вузлів, що конфігуруються, розміщених паралельно, з'єднаний зі згаданим керованим модулем перестановки; набір збережених інструкцій керування декодером; і формують перший сигнал перевпорядкування, що використовується для керування доступом до пам'яті, як функцію від інструкції керування декодером, включеної в згаданий набір збережених інструкцій керування декодером; і формують другий сигнал керування перевпорядкуванням як функцію від згаданої інструкції керування декодером, причому згаданий другий сигнал керування перевпорядкуванням подають в згаданий модуль перестановки. 15. Спосіб за п. 14, який додатково містить етапи, на яких: виконують операцію доступу до пам'яті в комірці, визначеній з першого сигналу керування перевпорядкуванням; і впливають на модуль блока перестановки для виконання операції перевпорядкування повідомлень відповідно до згаданого поданого сигналу керування перевпорядкуванням. 16. Спосіб за п. 15, в якому згаданий етап виконання операції доступу до пам'яті в комірці, визначеній зі згаданого першого сигналу керування перевпорядкуванням, включає в себе етапи, на яких: формують адресу пам'яті з першого значення керування адресацією, включеного в згадану команду керування декодером, і другого сигналу керування адресацією, сформованого зі згаданого 96108 4 першого сигналу перевпорядкування і значення, сформованого лічильником циклів. 17. Спосіб за п. 16, в якому значення, сформоване за допомогою згаданого лічильника циклів, формується як функція від сигналу індикатора довжини кодового слова. 18. Спосіб за п. 17, який додатково містить етап, на якому: конфігурують вузли в згаданому модулі обробки вузлів як функцію від інформації конфігурації, включеної в згадану команду керування декодером. 19. Пристрій для виконання обробки декодування з контролем по парності низької щільності (LDPC), що містить: засіб надання декодера, що включає в себе: модуль пам'яті, який включає в себе N L Kкомірок пам'яті, де N і L - позитивні цілі числа, а K - ціле число більше 1, причому кожна комірка пам'яті забезпечує збереження декількох бітів; керований модуль перестановки, з'єднаний зі згаданим модулем пам'яті, для виконання операцій перевпорядкування елементів для набору з N багатобітових елементів, щоб змінити порядок елементів в згаданому наборі; модуль обробки вузлів, який включає в себе N процесорів вузлів, що конфігуруються, розміщених паралельно, з'єднаний зі згаданим керованим модулем перестановки; набір збережених інструкцій керування декодером; і засіб формування першого сигналу перевпорядкування, що використовується для керування доступом до пам'яті, як функції від інструкції керування декодером, включеної в згаданий набір збережених інструкцій керування декодером; і засіб формування другого сигналу керування перевпорядкуванням як функції від згаданої інструкції керування декодером, причому згаданий другий сигнал керування перевпорядкуванням подається в згаданий модуль перестановки. 20. Пристрій за п. 19, який додатково містить: засіб виконання операції доступу до пам'яті в комірці, визначеній з першого сигналу керування перевпорядкуванням; і засіб впливу на модуль блока перестановки для виконання операції перевпорядкування повідомлень відповідно до згаданого поданого сигналу керування перевпорядкуванням. 21. Пристрій за п. 20, в якому згаданий засіб виконання операції доступу до пам'яті в комірці, визначеній зі згаданого першого сигналу керування перевпорядкуванням, включає в себе: засіб формування адреси пам'яті з першого значення керування адресацією, включеного в згадану команду керування декодером, і другого сигналу керування адресацією, сформованого зі згаданого першого сигналу перевпорядкування і значення, сформованого лічильником циклів. 22. Пристрій за п. 21, в якому значення, сформоване за допомогою згаданого лічильника циклів, сформоване як функція від сигналу індикатора довжини кодового слова. 23. Пристрій за п. 22, що додатково містить: 5 96108 6 засіб конфігурування вузлів в згаданому модулі обробки вузлів як функції від інформації конфігу рації, включеної в згадану команду керування декодером. Даний винахід направлений на способи і пристрій для виконання операцій декодування з контролем по парності низької щільності (LDPC) і, більш конкретно, до способів декодування, які оптимально придатні для декодування даних, які відповідають кодовим словам, наприклад, кодовим словам, сформованим за допомогою структури коду, яка може бути виражена як розширення за допомогою добутку. Коди корекції помилок повсюдно використовуються в системах зв'язку і зберігання даних. Останнім часом виник значний інтерес до класу кодів, відомого як коди з контролем парності низької щільності (LDPC). Доведено, що LDPC-коди є хорошими кодами. По різних каналах було продемонстровано, що LDPC-коди дійсно близькі до пропускної здатності каналу, тобто верхньої межі швидкості передачі, встановленій Шенноном. LDPC-коди часто представляються за допомогою дводольних графів (див. наведений для прикладу граф 100 на фіг. 1), званих графами Таннера, в яких один набір вузлів, вузли 102 змінних, відповідає бітам кодового слова, а інший набір вузлів, вузли 106 обмежень, іноді званий перевірочними вузлами, відповідає набору обмежень контролю парності, які визначають код. Ребра 104 на графі 100 з'єднують вузли 102 змінних з вузлами 106 обмежень. Вузол змінних і вузол обмежень вважаються сусідніми, якщо вони сполучені ребром на графі. Альтернативою представленню на графі Таннера LDPC-кодів є представлення матриці контролю парності Н 202, фіг. 2. Бітова послідовність х 206 являє собою кодове слово, якщо і тільки якщо добуток бітової послідовності і Н складається із всіх нулів, тобто: Нх=0. Бітова послідовність, пов'язана однозначно певним чином з вузлами змінних, являє собою кодове слово коду, якщо і тільки якщо для кожного вузла обмежень біти, сусідні з обмеженням (за допомогою їх зв'язку з вузлами змінних), в сумі дають нуль по модулю два, тобто вони містять парне число одиниць. У деяких випадках деякі з цих кодованих бітів можуть бути проколені (видалені) або відомі. Видалені біти можуть бути бажані в деяких структурах коду, і при розширеннях (див. нижче) як проколені, так і відомі біти можуть бути використані для одержання довжин блока, які не є кратними розширенню. Проколені біти і відомі біти можуть виключатися і часто виключаються з кодового слова, що передається. Число ребер, приєднаних до вузла, тобто вузла змінної і вузла обмеження, згадується як ступінь вузла. Регулярний граф або код - це граф або код, для якого всі вузли змінних мають однаковий ступінь, наприклад, j, і всі вузли обмежень мають однаковий ступінь, наприклад, k. В цьому випадку кажуть, що код є регулярним кодом (j, k). Були коди, розглянуті спочатку Галлагером (1961). На відміну від «регулярного» коду, нерегулярний код має вузли обмежень або вузли змінних різних ступенів. Наприклад, деякі вузли змінних можуть мати ступінь 4, інші - ступінь 3, а ще одні - ступінь 2. Хоч нерегулярні коди можуть бути більш складні для їх представлення і/або реалізації, продемонстровано, що нерегулярні LDPC-коди можуть забезпечувати хороші характеристики корекції і виявлення помилок в порівнянні з регулярними LDPC-кодами. Зрозуміло, що слова, що приймаються, які формуються в зв'язку з LDPC-кодуванням, можуть оброблятися за допомогою виконання операцій LDPC-декодування над ними, наприклад, операцій корекції і виявлення помилок, щоб сформувати відновлену версію вихідного кодового слова. Відновлене кодове слово потім може піддаватися декодуванню даних для відновлення вихідних даних, які були закодовані. Процесом декодування даних може бути, наприклад, простий вибір конкретного піднабору бітів з відновленого кодового слова. Операції LDPC-декодування, загалом, містять алгоритми передачі повідомлень. Існує множина потенційно корисних алгоритмів передачі повідомлень, і використання цих алгоритмів не обмежено LDPC-декодуванням. Принцип алгоритму передачі повідомлень полягає в тому, що кожний вузол ітеративно обмінюється даними з сусідніми вузлами через з'єднуюче ребро відносно свого представлення для біта, пов'язаного з ребром, представлення наступної ітерації в залежності від представлень про поточну ітерацію, що приймаються. LDPC-коди з великою довжиною блока, які відповідають великим структурам графів, надають множину переваг в порівнянні з меншими кодами у відношенні стійкості до помилок. Щоб реалізувати велику структуру графа за допомогою меншого графа, різні перестановки можуть бути застосовані до копій меншої структури графа, і копії можуть бути пов'язані для реалізації більшої структури графа. При операціях декодування ці операції перестановки можуть бути реалізовані за допомогою комутуючого пристрою, що згадується в даному документі як перестановник (блок перестановок), який застосовує операцію перестановки до елементів, наприклад, повідомлень, у разі операції декодування, у міру того, як вони проходять між запам'ятовуючим пристроєм і блоком векторної обробки, який паралельно виконує LDPC-операції. Хоча відомі різні реалізації LDPC-декодера, залишається потреба в способах і пристрої, які можуть зменшити витрати на реалізацію апаратних засобів LDPC-декодера і підвищити гнучкість LDPC-декодера відносно числа LDPC-кодів, які він може декодувати, і довжини кодових слів, які можуть бути декодовані за допомогою LDPCдекодера. Даний винахід направлений на LDPCдекодери і, більш конкретно, на LDPC-декодери, 7 які можуть бути реалізовані апаратно ефективним способом і/або які забезпечують міру свободи за рахунок підтримки декодування кодових слів різної довжини і/або кодових слів, відповідних різним структурам коду. У деяких, але не в усіх варіантах здійснення даного винаходу LDPC-декодер даного винаходу зроблений програмованим. За рахунок зміни коду, наприклад, мікрокоду, що використовується для керування роботою декодера, можливе декодування кодових слів, сформованих згідно з різними структурами коду. Пристрій, наприклад, пристрій зв'язку, такий як безпровідний термінал, що включає в себе декодер згідно з даним винаходом, може зберігати керуючий код, який описує різні структури коду. На основі інформації, що приймається в потоці зв'язку або від користувача, код, відповідний LDPC-кодованим даним, які повинні прийматися і оброблятися, ідентифікується і витягується із запам'ятовуючого пристрою. Потім код завантажується в декодер і використовується для керування декодуванням в залежності від структури коду, визначеної відповідно до даних, які повинні декодуватися. У деяких варіантах здійснення в декодер завантажується керуючий код (наприклад, мікрокод), відповідний одній попередньо вибраній структурі коду, яка повинна використовуватися пристроєм для керування декодуванням. Хоч керуючий код може бути фіксованим в конкретному варіанті здійснення, той же керуючий код може бути використаний, відповідно до винаходу, для декодування кодових слів різних розмірів аж до максимального розміру кодового слова, що визначається максимальним об'ємом пам'яті або регістрів, доступних для підтримки декодування кодового слова. У залежності від розміру кодового слова, кількість разів виконання керуючої команди, збереженої в декодері, може варіюватися. Індикатор розміру кодового слова, який може бути виражений як вибраний коефіцієнт розширення коду, може бути використаний для указання декодеру розміру кодового слова, яке повинно декодуватися. Індикатор розміру кодового слова звичайно вказує розмір кодового слова через кратне мінімального розміру блока. Хоч різні декодери згідно з даним винаходом підтримують програмованість для забезпечення можливості декодування даних, закодованих згідно з різними структурами LDPC-коду і кодовими словами різної довжини, способи і пристрій згідно з даним винаходом також можуть бути використані для реалізації декодера, який виконує операції LDPC-декодування над даними, сформованими згідно з однією структурою коду і розміром одного кодового слова. Тобто способи і пристрої, відповідні винаходу, корисні навіть у випадках, коли програмованість і підтримка кодових слів різної довжини не є проблемою. Різні варіанти здійснення даного винаходу направлені на дані, закодовані за допомогою структур коду, які можуть бути виражені як LDPC-графи, які мають певну ієрархічну структуру, в якій повний LDPC-граф представляється, переважно, складеним з декількох копій, Z, наприклад, в Z раз мен 96108 8 шого графа, де Z - це ціле число. Z копій графа можуть бути ідентичними. Для цілей пояснення винаходу менший граф згадується як проекція графа, повний граф як розширений граф, a Z - як коефіцієнт розширення. Розглянемо індексацію проекцій LDPC-графів як 1,..., j,..., Z. У вузлах змінних суворо паралельного графа на графі j сполучені тільки з вузлами обмежень на графі j. У відповідності з даним винаходом, береться одне векторне ребро, що включає в себе одне відповідне ребро, кожне з кожної копії графа, і виконується перестановка в межах Z ребер, наприклад, дозволяється перестановка, наприклад, не переупорядковування вузлів обмежень, відповідних ребрам в межах векторного ребра. Можна обмежити перестановки в просторі піднабору (звичайно групи) матриць перестановки ZxZ, позначеного як . Передбачається, що інверсії перестановок в  також знаходяться в . Під набір , загалом, може вибиратися за допомогою різних критеріїв. Одне з основного мотивування вищезгаданої структури полягає в тому, щоб спростити апаратну реалізацію декодерів і кодерів. Отже, може бути вигідно обмежити  перестановками, які можуть бути ефективно реалізовані в апаратних засобах, наприклад, в схемі комутації. У патенті США 6633856 описана архітектура LDPC-декодера, яка використовує перевагу розширеної структури. У цій архітектурі векторизується процес декодування. Більш конкретно, дозволяється перестановка Z ребер в межах векторного ребра або обмін між копіями проекції графа у міру того, як вони проходять, наприклад, зі сторони вузлів змінних до сторони вузлів обмежень. У процесі проходження (декодування) векторизованих повідомлень, відповідних Z паралельним проекціям графа, цей обмін реалізовується за допомогою перестановки повідомлень в рамках векторного повідомлення у міру того, як воно проходить з однієї сторони векторизованого графа до іншої. Нижче коротко розглянута, наведена для прикладу, реалізація векторизованого декодера. Передбачається, що пам'ять, яка зберігає повідомлення від вузла змінних до перевірочних вузлів і/або повідомлення від перевірочного вузла до вузлів змінних, скомпонована в ZxE m-бітових комірок пам'яті, де Е - це число ребер, a m - це число бітів, що переносяться в повідомленні, ціле число більше 1. Доступ до пам'яті здійснюється в Z mбітовому блоці, іншими словами, при кожному доступі зчитується або записується Z m-бітовий блок. Цей Z m-бітовий блок відповідає Z повідомленням по Z розширених ребрах розширеного графа. Для зручності опису кожний набір з Z m-бітових повідомлень асоціюється з відповідним ребром в проекції графа. Наприклад, здійснення доступу до повідомлень ребра є в проекції графа, фактично відповідає здійсненню доступу до Z m-бітових повідомлень, відповідних Z ребрам в розширеному графі. Згідно із загальним алгоритмом передачі повідомлень оновлення повідомлення у вузлі залежить від всіх повідомлень від сусідніх об'єктів даного вузла. Нехай вузол в проекції має d ребер е 1, 9 е2,..., еd. Заснована на ребрах реалізація оновлення повідомлень може зчитувати повідомлення е 1, застосовувати відповідне переупорядковування; після чого переупорядковані повідомлення знаходяться в належних сусідніх угрупуваннях для всіх Z вузлів розширеного графа. У патенті США 6633856 архітектура декодера має Z паралельних блоків обробки для здійснення обробки вузлів. У одному або більше каскадах, повідомлення можуть піддаватися перетворенню формату для забезпечення ефективної реалізації. Наприклад, різні формати можуть використовуватися на стороні вузлів змінних і на стороні перевірочних вузлів. Перевага векторного декодера полягає в тому, що він досягає високої пропускної здатності за рахунок забезпечення структурованого паралелізму. Структура розширення компактним чином виконує опис паралельних блоків обробки, оскільки оновлені Z вузлів відповідають одному вузлу в проекції графа, і всі їх сусідні ребра відповідають одному ребру в проекції графа, відповідно. Опис розширеного (векторного) декодера звичайно веде за собою зберігання інформації про переупорядковування і вузли, пов'язаної з кожним ребром, крім опису невеликого графа (проекції), що використовується для визначення структури більшого графа. При умові, що кожне ребро має постійний розмір опису, загальна вимога по зберіганню інформації декодера пропорційна числу ребер в графі проекції. Для зручності опису назвемо цей набір інформації опису декодера керуючим кодом, який також іноді згадується як мікрокод декодування розширеного графа. Отже, для ідентичної довжини блока збільшення коефіцієнта розширення, як правило, скорочує розмір мікрокоду декодування. Для великої довжини блока це може значно знижувати об'єм пам'яті для зберігання мікрокоду. У мікрокоді половина описує обробку вузлів змінних, а інша половина описує обробку перевірочних вузлів. Процес декодування виконує кожну половину мікрокоду послідовно, причому кожна позначається як половина ітерації декодування. Варіанти здійснення в патенті США 6633856 включають в себе структури, що виконують дві половини (при цьому обробка вузлів змінних є однією половиною, а обробка перевірочних вузлів є іншою половиною) ітерації LDPC-декодування, відомі як одна повна ітерація, альтернативно або одночасно. Успішне декодування звичайно пов'язане з декількома повними ітераціями, наприклад, можуть бути потрібними декілька ітерацій доти, поки обробка декодування не приведе до модифікації кодового слова, що приймається, до точки, де воно сходиться до відомого кодового слова. Один елемент векторизованої паралельної обробки - це модуль переупорядковування, що спрощується за допомогою схеми комутації. Внутрішнє сполучання Z копій здійснюється за допомогою використання модуля переупорядковування. Після переупорядковування повідомлень обробка містить просто Z паралельних блоків, кожний з яких відповідає копії проекції графа. Векторний (розширений) LDPC-декодер з паралелізмом Z реалізації, реалізований відповідно 96108 10 до винаходу, досягає в Z разів більшої пропускної здатності в порівнянні з декодером з паралелізмом 1. Компроміс полягає в тому, що він вимагає приблизно в Z разів більше логічних схем в аспекті апаратної складності. Хоч установлення паралелізму реалізації на коефіцієнт розширення для розширеного графа є зручною, це необов'язково. У багатьох випадках це може бути небажаним. Наприклад, передбачимо, що великий коефіцієнт Z розширення використовується при описі великого графа для вищезазначеної переваги економії пам'яті для зберігання мікрокоду. Установлення паралелізму реалізації рівним коефіцієнту Z розширення приводить до надмірної пропускної здатності. З урахуванням того факту, що апаратна складність пропорційна паралелізму реалізації, а складність опису графа пропорційна коефіцієнту Z розширення, бажано встановлювати паралелізм реалізації таким чином, щоб результуюча пропускна здатність відповідала вимозі без надмірності, при використанні розширеного графа, що описується більшим коефіцієнтом Z розширення. Це вигідно як для складності блока обробки, так і для пам'яті для опису декодера. Даний винахід направлений на способи і пристрій реалізації векторного LDPC-декодера з паралелізмом N реалізації, з використанням опису декодера з коефіцієнтом Z розширення, де N - це дільник Z. Паралелізм N реалізації може вибиратися відповідно до необхідної пропускної здатності, тим самим використовуючи мінімальну апаратну складність. Це досягається таким чином. При заданому мікрокоді для розширеного графа з коефіцієнтом Z=KxN розширення даний винахід визначає декодер з паралелізмом N реалізації, який розширює кожну ітерацію декодування до K ітерацій. Кожна ітерація проходить через весь мікрокод один раз, виконуючи 1/K ітерації декодування з паралелізмом Z реалізації. Оскільки передбачено N паралельних блоків обробки, загальне значення часу обробки в результаті виходить таким же, що і очікувалося. По суті, паралельна обробка переводиться в послідовну обробку без зміни мікрокоду, шляхом опису декодера з використанням коефіцієнта N розширення. Більше того відповідно до даного винаходу, векторний LDPC-декодер з паралелізмом N реалізації допускає декодування класу LDPC-кодів з однаковою швидкістю, але різними розмірами кодових слів, з одного мікрокоду, що описує декодер з коефіцієнтом Z розширення. Конкретно, як приклад передбачимо, що якщо Z може бути розкладено на K1xK2xN, і розмір коду проекції графа дорівнює n, де Z, K1, K2, N і n - це позитивні цілі числа, то декодер може декодувати три різних коди з розмірами блока Nxn, K2xNxn і K1xK2xK2xNxn. Різні додаткові ознаки, вигоди і переваги даного винаходу описуються в подальшому докладному описі. Короткий опис креслень: 11 Фіг. 1 ілюструє представлення дводольного графа зразкового регулярного LDPC-коду з довжиною, що дорівнює десяти. Фіг. 2 - матричне представлення коду, графічно проілюстрованого на фіг. 1. Фіг. 3 і 4 ілюструють ідею розкладання виконання простого набору мікрокоду на K кроків. Фіг. 5 ілюструє зразкову архітектуру декодера відповідно до даного винаходу. Фіг. 6 ілюструє пристрій, наприклад, мобільний вузол, який використовує програмований LDPCдекодер, реалізований відповідно до даного винаходу. Фіг. 7, яка складається з фіг. 7А і фіг. 7В, блок-схема способу роботи пристрою зв'язку відповідно до даного винаходу для виконання кодування і декодування відповідно до даного винаходу. Даний винахід направлений на LDPCдекодери і, більш конкретно, на LDPC-декодери, які можуть бути реалізовані апаратно ефективним способом. Способи і пристрій декодування, відповідні даному винаходу, можуть бути реалізовані як програмовані пристрої і/або пристрої, які можуть приймати інформацію індикатора довжини кодового слова і декодувати кодові слова різної довжини. Таким чином, хоч декодери, відповідні даному винаходу, можуть бути реалізовані як стаціонарні пристрої, що використовуються для декодування кодових слів конкретної довжини кодового слова, вони забезпечують деяку міру свободи за рахунок підтримки декодування кодових слів різної довжини і/або кодових слів, відповідних різним структурам коду. Патентна заявка США 10/788115, озаглавлена "METHOD AND APPARATUS FOR PERFORMING LOW-DENSITY PARITY-CHECK (LDPC) CODE OPERATIONS USING A MULTI-LEVEL PERMUTATION", від 26 лютого 2004 року, яка включена в даний документ за допомогою посилання, описує способи розширення за допомогою добутку, які можуть бути використані з LDPCкодами. Розширення за допомогою добутку додатково обмежує групу матриць перестановки ZxZ групами, які можуть бути розкладені на прямий добуток підгруп. Наприклад, передбачимо, що  є прямим добутком двох груп, тобто =1х2. Розмірність  дорівнює добутку розмірностей i, де і - група матриць перестановки KіхKі, де Ki - це ціле число. Додатково передбачається, що розмірність групи і дорівнює розмірності матриці всередині групи, таким чином, Z=K1xK2. Відповідно до даного винаходу група  розширення обмежена групою, розширеною за допомогою добутку. Розширення за допомогою добутку альтернативно може розглядатися як багатовимірне розширення. Припустимо, що проекція коду має розмір Р, тобто з Р вузлами змінних. Можна вибрати циклічну групу розміром 64 для розширення. Альтернативним відповідно до винаходу повинен бути добуток циклічної групи розміром 16 і циклічної групи розміром 4. Ця група може бути представлена таким чином. Розглянемо індексацію L=0,..., 63 з використанням пар (a, b), а=0,..., 15 і b=0,..., 3 за допомогою оборотного відображення 96108 12 L=4a+b. Елементом цієї групи добутку є пара (с, d), з = 0,..., 15 і d=0,..., 3. Дія (с, d) на (а, b) полягає в тому, щоб переставити пару (а, b) з утворенням (а+с mod 16, d+b mod 4). Ця група також має порядок 64. Однак, результуючий розширений граф може інтерпретуватися як розширення коду розміром 4Р на 16 або коду розміром 16Р на 4, або коду розміром Р на 64. Переваги, що пропонуються розширеннями за допомогою добутку, реалізовуються в контексті декодера, відповідного винаходу. Корисність, обумовлена використанням розширень за допомогою добутку, є ознакою винаходу. Розширення за допомогою груп, які не є добутками, наприклад, за допомогою циклічної групи, забезпечують можливість розширень довільного розміру, але не забезпечують гнучкості розширень за допомогою добутку. Патентна заявка США 10/788115, яка включена в цей документ за допомогою посилання, описує графи, розширені за допомогою добутку, і потенційні вигоди використання цих графів. Даний винахід доповнює базові принципи, описані у вищезазначеній заявці. Зокрема, ця заявка описує спосіб і пристрій реалізації декодера з використанням коефіцієнта Z=KxN розширення, а також відповідний спосіб і пристрій декодування графа з паралелізмом N реалізації, де K, N і Z цілі числа, і N

Дивитися

Додаткова інформація

Назва патенту англійською

Methods and device for ldpc-decoding

Автори англійською

Richardson Tom, Jin, Hui, Novichkov Vladimir

Назва патенту російською

Способы и устройство ldpc-декодирования

Автори російською

Ричардсон Том, Цзынь Хой, Новичков Владимир

МПК / Мітки

МПК: H03M 13/37, H03M 13/11, H03M 13/45, H03M 13/00

Мітки: способи, пристрій, ldpc-декодування

Код посилання

<a href="https://ua.patents.su/20-96108-sposobi-i-pristrijj-ldpc-dekoduvannya.html" target="_blank" rel="follow" title="База патентів України">Способи і пристрій ldpc-декодування</a>

Подібні патенти