Код Ріда-Соломона

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Ко́ди Ріда-Соломона (англ. Reed-Solomon codes) — недвійкові циклічні коди, що дозволяють виправляти помилки в блоках даних. Елементами кодового вектора є не біти, а групи бітів (блоки). Дуже поширені коди Ріда — Соломона, що працюють з байтами (октет).

Код Ріда — Соломона є окремим випадком БЧХ-коду.

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

Історія[ред.ред. код]

Код Ріда - Соломона був винайдений в 1960 році співробітниками лабораторії Лінкольна Массачуссетского технологічного інституту Ірвіном Рідом (Irving S. Reed) і Густавом Соломоном ( Gustave Solomon). Ідея використання цього коду була представлена ​​в статті «Polynomial Codes over Certain Finite Fields». Перше застосування код Ріда - Соломона отримав в 1982 році в серійному випуску компакт-дисків. Ефективні алгоритми декодування були запропоновані у 1969 році Елвіном Берлекемпом ( Elwyn Berlekamp) і Джеймсом Мессі (алгоритм Берлекемпа - Мессі) і в 1977 році Давидом Мандельбаумом (метод, що використовує алгоритм Евкліда ).

Відразу після появи (60-ті роки 20-го століття) коди Ріда - Соломона (Р-С) стали застосовуватися в якості зовнішніх кодів в каскадних конструкціях, що використовуються в супутниковому зв'язку. У подібних конструкціях q-ті символи Р-С (їх може бути декілька) кодуються внутрішніми згортковими кодами. На приймальному кінці ці символи декодуються м'яким алгоритмом Вітербі (ефективний в каналах з білим шумом). Такий декодер буде виправляти поодинокі помилки в q-тих символах, коли ж виникнуть пакетні помилки і деякі пакети q-тих символів будуть декодовані неправильно, тоді зовнішній декодер Ріда - Соломона виправить пакети цих помилок. Таким чином буде досягнута необхідна надійність передачі інформації.

На даний момент коди Ріда - Соломона мають дуже широку сферу застосування завдяки їх здатності знаходити та виправляти багатократні пакети помилок.

Запис і зберігання інформації[ред.ред. код]

Код Ріда - Соломона використовується при запису і зчитуванні в контролерах оперативної пам'яті, при архівуванні даних, запису інформації на жорсткі диски (ECC-пам'ять), запису на CD / DVD диски. Навіть якщо пошкоджено значний обсяг інформації, зіпсовано кілька секторів дискового носія, то коди Ріда - Соломона дозволяють відновити велику частину втраченої інформації. Також використовується при запису на такі носії, як магнітні стрічки і штрихкоди.

Бездротовий і мобільний зв'язок[ред.ред. код]

Цей алгоритм кодування використовується при передачі даних по мережах WiMAX, в оптичних лініях зв'язку, у супутниковому та радіорелейному зв'язку. Метод прямої корекції помилок в трафіку (Forward Error Correction, FEC) грунтується на кодах Ріда - Соломона.

Посилання[ред.ред. код]

Див. також[ред.ред. код]