Ця стаття є сирим з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (грудень 2017) |
Циклічний код — лінійний код, що володіє властивістю циклічності, тобто кожна циклічна перестановка кодового слова також є кодовим словом. Використовується для перетворення інформації, для захисту її від помилок (див. Виявлення і виправлення помилок).
Введення
Нехай — слово довжини n над алфавітом з елементів кінцевого поля та — поліном, що відповідає цьому слову, від формальної змінної . Видно, що ця відповідність не просто взаємно однозначна, а й ізоморфна. Оскільки «слова» складаються з літер з поля, то їх можна складати та множити (поелементно), причому результат буде в тому ж полі. Поліном, що відповідає лінійній комбінації пари слів та , дорівнює лінійній комбінації поліномів цих слів .
Це дозволяє розглядати множину слів довжини n над кінцевим полем як лінійний простір поліномів зі ступенем не більше n-1 над полем .
Алгебраїчний опис
Якщо — кодове слово, що виходить циклічним зрушенням на один розряд вліво зі слова , то відповідний йому поліном виходить з попереднього множенням на x:
, користуючись тим, що ,
Зрушення вправо та вліво відповідно на розрядів:
Якщо — довільний поліном над полем та — кодове слово циклічного коду, то теж кодове слово цього коду.
Породжуючий поліном
Визначення: породжуючим поліномом циклічного коду називається такий ненульовий поліном з , ступінь якого найменша та коефіцієнт при старшому ступені .
Теорема 1
Якщо — циклічний код і — його породжуючий поліном, тоді ступінь дорівнює та кожне кодове слово може бути єдиним чином представлено у вигляді
,
де ступінь менше або дорівнює .
Теорема 2
— породжуючий поліном циклічного коду є дільником двочлена
Наслідки: таким чином як породжуючий поліном можна вибирати будь-який поліном, дільник . Ступінь обраного полінома визначатиме кількість перевірочних символів , число інформаційних символів .
Породжуюча матриця
Поліноми лінійно незалежні, інакше при ненульовому , що неможливо.
Значить кодові слова можна записувати, як і для лінійних кодів, таким чином:
, де є породжуючою матрицею, — інформаційним поліномом.
Матрицю можна записати в символьній формі:
Перевірочна матриця
Для кожного кодового слова циклічного коду справедливо . Тому перевірочну матрицю можна записати як:
Тоді:
Кодування
Несистематичне
При несистематичному кодуванні кодове слово виходить у вигляді добутку інформаційного полінома на породжуючий
.
Воно може бути реалізовано за допомогою перемноження поліномів.
Систематичне
При систематичному кодуванні кодове слово формується у вигляді інформаційного подблока та перевірочного
Нехай інформаційне слово утворює старші ступені кодового слова, тоді
Тоді з умови , слід
Це рівняння задає правило систематичного кодування. Воно може бути реалізовано за допомогою багатотактних лінійних фільтрів(БЛФ).
Приклади
Бінарний (7,4,3) код
Як дільник виберемо породжуючий поліном третього ступеня , тоді отриманий код буде мати довжину , число перевірочних символів (ступінь породжуючого полінома) , число інформаційних символів , мінімальна відстань .
Породжуюча матриця коду:
,
де перший рядок є записом полінома коефіцієнтами по зростанню ступеня. Решта рядків — циклічні зрушення першого рядка.
Перевірочна матриця:
,
де i-ий стовпець, починаючи з 1-го, являє собою залишок від ділення на поліном , записаний за зростанням ступенів, починаючи зверху.
Так, наприклад, 4-й стовпець виходить , або у векторному записі .
Легко переконатися, що .
Бінарний (15,7,5) БЧХ-код
Як породжуючий поліном можна вибрати добуток двох дільників :
.
Тоді кожне кодове слово можна отримати за допомогою добутку інформаційного полінома зі ступенем таким чином:
.
Наприклад, інформаційному слову відповідає поліном , тоді кодове слово , або у векторному вигляді
Див. також
Посилання
- Механізми контролю цілісності даних
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad gruden 2017 Ciklichnij kod linijnij kod sho volodiye vlastivistyu ciklichnosti tobto kozhna ciklichna perestanovka kodovogo slova takozh ye kodovim slovom Vikoristovuyetsya dlya peretvorennya informaciyi dlya zahistu yiyi vid pomilok div Viyavlennya i vipravlennya pomilok Yaksho 00010111 dijsne klyuchove slovo zastosovuyuchi pravij ciklichnij zsuv otrimayemo ryadok 10001011 Yaksho kod ciklichnij to 10001011 znovu dijsne klyuchove slovo Zagalom zastosuvannya pravogo ciklichnogo zsuvu peremishuye molodshij znachushij bit LSB v krajnye live polozhennya tak sho vin staye starshim bitom MSB inshi poziciyi zsuvayutsya na 1 vpravo VvedennyaNehaj y y0 y1 yn 1 GF qn displaystyle overline y y 0 y 1 dots y n 1 in mathbb GF q n slovo dovzhini n nad alfavitom z elementiv kincevogo polya GF q displaystyle mathbb GF q ta y x y0 y1x y2x2 yn 1xn 1 displaystyle y x y 0 y 1 x y 2 x 2 dots y n 1 x n 1 polinom sho vidpovidaye comu slovu vid formalnoyi zminnoyi x displaystyle x Vidno sho cya vidpovidnist ne prosto vzayemno odnoznachna a j izomorfna Oskilki slova skladayutsya z liter z polya to yih mozhna skladati ta mnozhiti poelementno prichomu rezultat bude v tomu zh poli Polinom sho vidpovidaye linijnij kombinaciyi y m1y1 m2y2 displaystyle overline y m 1 overline y 1 m 2 overline y 2 pari sliv y1 y1 0 y1 n 1 displaystyle overline y 1 y 1 0 dots y 1 n 1 ta y2 y2 0 y2 n 1 displaystyle overline y 2 y 2 0 dots y 2 n 1 dorivnyuye linijnij kombinaciyi polinomiv cih sliv y x k 0n 1 m1y1k m2y2k xk m1y1 x m2y2 x displaystyle overline y x sum k 0 n 1 m 1 y 1k m 2 y 2k x k m 1 overline y 1 x m 2 overline y 2 x Ce dozvolyaye rozglyadati mnozhinu sliv dovzhini n nad kincevim polem yak linijnij prostir polinomiv zi stupenem ne bilshe n 1 nad polem GF q displaystyle mathbb GF q Algebrayichnij opisYaksho c1 displaystyle overrightarrow c 1 kodove slovo sho vihodit ciklichnim zrushennyam na odin rozryad vlivo zi slova c displaystyle overrightarrow c to vidpovidnij jomu polinom c1 x displaystyle c 1 x vihodit z poperednogo mnozhennyam na x c1 x xc x mod xn 1 displaystyle c 1 x xc x mod x n 1 koristuyuchis tim sho xn 1mod xn 1 displaystyle x n equiv 1 mod x n 1 Zrushennya vpravo ta vlivo vidpovidno na j displaystyle j rozryadiv cj x xjc x mod xn 1 displaystyle c j x x j c x mod x n 1 c j x xj c x mod xn 1 displaystyle c j x x j c x mod x n 1 Yaksho m x displaystyle m x dovilnij polinom nad polem GF q displaystyle GF q ta c x displaystyle c x kodove slovo ciklichnogo n k displaystyle n k kodu to m x c x displaystyle m x c x mod xn 1 displaystyle mod x n 1 tezh kodove slovo cogo kodu Porodzhuyuchij polinom Viznachennya porodzhuyuchim polinomom ciklichnogo n k displaystyle n k kodu C displaystyle C nazivayetsya takij nenulovij polinom g x i 0rgixi displaystyle g x sum limits i 0 r g i x i z C displaystyle C stupin yakogo najmensha ta koeficiyent pri starshomu stupeni gr 1 displaystyle g r 1 Teorema 1 Yaksho C displaystyle C ciklichnij n k displaystyle n k kod i g x displaystyle g x jogo porodzhuyuchij polinom todi stupin g x displaystyle g x dorivnyuye r n k displaystyle r n k ta kozhne kodove slovo mozhe buti yedinim chinom predstavleno u viglyadi c x m x g x displaystyle c x m x g x de stupin m x displaystyle m x menshe abo dorivnyuye k 1 displaystyle k 1 Teorema 2 g x displaystyle g x porodzhuyuchij polinom ciklichnogo n k displaystyle n k kodu ye dilnikom dvochlena xn 1 displaystyle x n 1 Naslidki takim chinom yak porodzhuyuchij polinom mozhna vibirati bud yakij polinom dilnik xn 1 displaystyle x n 1 Stupin obranogo polinoma viznachatime kilkist perevirochnih simvoliv r displaystyle r chislo informacijnih simvoliv k n r displaystyle k n r Porodzhuyucha matricya Polinomi g x xg x x2g x xk 1g x displaystyle g x xg x x 2 g x dots x k 1 g x linijno nezalezhni inakshe m x g x 0 displaystyle m x g x 0 pri nenulovomu m x displaystyle m x sho nemozhlivo Znachit kodovi slova mozhna zapisuvati yak i dlya linijnih kodiv takim chinom m G m0 m1 mk 1 g x xg x xk 1g x m x g x displaystyle overline m G m 0 m 1 dots m k 1 begin bmatrix g x xg x dots x k 1 g x end bmatrix m x g x de G displaystyle G ye porodzhuyuchoyu matriceyu m x displaystyle m x informacijnim polinomom Matricyu G displaystyle G mozhna zapisati v simvolnij formi G g0g1 gr 1gr0 00g0 gr 2gr 1gr 0 00 0g0g1 gr displaystyle G begin bmatrix g 0 amp g 1 amp dots amp g r 1 amp g r amp 0 amp dots amp 0 0 amp g 0 amp dots amp g r 2 amp g r 1 amp g r amp dots amp 0 amp amp dots amp amp amp amp dots amp 0 amp 0 amp dots amp 0 amp g 0 amp g 1 amp dots amp g r end bmatrix Perevirochna matricya Dlya kozhnogo kodovogo slova ciklichnogo kodu spravedlivo c x 0modg x displaystyle c x 0 mod g x Tomu perevirochnu matricyu mozhna zapisati yak H 1xx2 xn 2xn 1 modg x displaystyle H begin bmatrix 1 amp x amp x 2 amp dots amp x n 2 amp x n 1 end bmatrix mod g x Todi c HT i 0n 1cixi 0modg x displaystyle overline c H T sum limits i 0 n 1 c i x i 0 mod g x KoduvannyaNesistematichne Pri nesistematichnomu koduvanni kodove slovo vihodit u viglyadi dobutku informacijnogo polinoma na porodzhuyuchij c x m x g x displaystyle c x m x g x Vono mozhe buti realizovano za dopomogoyu peremnozhennya polinomiv Sistematichne Pri sistematichnomu koduvanni kodove slovo formuyetsya u viglyadi informacijnogo podbloka ta perevirochnogo c x s x m x displaystyle c x s x m x Nehaj informacijne slovo utvoryuye starshi stupeni kodovogo slova todi c x xrm x s x r n k displaystyle c x x r m x s x r n k Todi z umovi c x xrm x s x 0modg x displaystyle c x x r m x s x 0 mod g x slid s x xrm x modg x displaystyle s x x r m x mod g x Ce rivnyannya zadaye pravilo sistematichnogo koduvannya Vono mozhe buti realizovano za dopomogoyu bagatotaktnih linijnih filtriv BLF PrikladiBinarnij 7 4 3 kod Yak dilnik x7 1 displaystyle x 7 1 viberemo porodzhuyuchij polinom tretogo stupenya g x x3 x 1 displaystyle g x x 3 x 1 todi otrimanij kod bude mati dovzhinu n 7 displaystyle n 7 chislo perevirochnih simvoliv stupin porodzhuyuchogo polinoma r 3 displaystyle r 3 chislo informacijnih simvoliv k 4 displaystyle k 4 minimalna vidstan d 3 displaystyle d 3 Porodzhuyucha matricya kodu G 1101000011010000110100001101 displaystyle G begin bmatrix 1 amp 1 amp 0 amp 1 amp 0 amp 0 amp 0 0 amp 1 amp 1 amp 0 amp 1 amp 0 amp 0 0 amp 0 amp 1 amp 1 amp 0 amp 1 amp 0 0 amp 0 amp 0 amp 1 amp 1 amp 0 amp 1 end bmatrix de pershij ryadok ye zapisom polinoma g x displaystyle g x koeficiyentami po zrostannyu stupenya Reshta ryadkiv ciklichni zrushennya pershogo ryadka Perevirochna matricya H 100101101011100010111 displaystyle H begin bmatrix 1 amp 0 amp 0 amp 1 amp 0 amp 1 amp 1 0 amp 1 amp 0 amp 1 amp 1 amp 1 amp 0 0 amp 0 amp 1 amp 0 amp 1 amp 1 amp 1 end bmatrix de i ij stovpec pochinayuchi z 1 go yavlyaye soboyu zalishok vid dilennya xi displaystyle x i na polinom g x displaystyle g x zapisanij za zrostannyam stupeniv pochinayuchi zverhu Tak napriklad 4 j stovpec vihodit h3 x x3modg x x 1 displaystyle h 3 x x 3 mod g x x 1 abo u vektornomu zapisi 110 displaystyle 110 Legko perekonatisya sho GHT 0 displaystyle GH T 0 Binarnij 15 7 5 BChH kod Yak porodzhuyuchij polinom g x displaystyle g x mozhna vibrati dobutok dvoh dilnikiv x15 1 displaystyle x 15 1 g x g1 x g2 x x4 x 1 x4 x3 x2 x 1 x8 x7 x6 x4 1 displaystyle g x g 1 x g 2 x x 4 x 1 x 4 x 3 x 2 x 1 x 8 x 7 x 6 x 4 1 Todi kozhne kodove slovo mozhna otrimati za dopomogoyu dobutku informacijnogo polinoma m x displaystyle m x zi stupenem k 1 displaystyle k 1 takim chinom c x m x g x displaystyle c x m x g x Napriklad informacijnomu slovu m 1000111 displaystyle overline m 1000111 vidpovidaye polinom m x x6 x5 x4 1 displaystyle m x x 6 x 5 x 4 1 todi kodove slovo c x x6 x5 x4 1 x8 x7 x6 x4 1 x14 x12 x9 x7 x5 1 displaystyle c x x 6 x 5 x 4 1 x 8 x 7 x 6 x 4 1 x 14 x 12 x 9 x 7 x 5 1 abo u vektornomu viglyadi c 1000010101001010 displaystyle overline c 1000010101001010 Div takozhViyavlennya i vipravlennya pomilok Linijnij kod BChH kod Pole GaluaPosilannyaMehanizmi kontrolyu cilisnosti danih