12-маъруза. Иккилик БоузаЧоудхури-Хеквингем кодлари Режа 1. БЧХ кодлари. 2. БЧХ кодларига мисол Қулай кодлаш ва декодлаш алгоритмлари таклиф этилган нотасодифий кодларнинг орасидаги энг машхурларидан бири БЧХ кодларидир (Боуза-Чоудхури-Хеквингем). Боуз-Чоудхури-Хеквингем кодлари (БЧХ) кодлаш ва декодлаш жараёнларини сезиларли даражада осонлаштирган, аниқ алгебраик структурага эга бўлган циклик кодлар оиласига мансубдир. Ҳосил қилинадиган БЧХ коднинг полиноми код узунлиги ва берилган код масофаси d0 ≥ 5 билан аниқланади. БЧХ коди узунлиги n=2m-1 ифодаси орқали аниқланади, бу ерда m – исталган бутун сон, m=log2(n + 1). Текшириладиган разрядлар сони қуйидаича аниқланади: rm * d 0 1 2 ,k 2 1 m m * d 0 1 2 БЧХ коднинг ҳосил қилинадиган полиноми минимал полиномларнинг энг кичик умумий карралиси ҳисобланиб қайсики тартиби d0 –2 га тенг P(x) = ЭКУК {m1(x) * m3(x) * m5(x) *… * md0-2(x) } БЧХ кодлари t каррали ва ундан камроқ эркин хатоларни тўғрилайдиган циклик кодларнинг катта синфини ташкил этади. БЧХ кодлари учун ҳам циклик кодларнинг барча асосий хусусиятлари хос. БЧХ кодлари n, k, g(x) катталиклари орқали аниқланади, бу ерда: n - кодли комбинациядаги элементлар миқдори; k – БЧХ кодининг ахборот элементлари миқдори; g(x) –БЧХ кодини келтириб чиқарадиган кўпхади. БЧХ кодларининг параметрлари қуйидаги шаклда танланади: 1. n = 2m-1 формуласидан келиб чиқиб , n сони танланади, бу ерда m –исталган бутун сон. 2. Тўғрилаш шарт бўлган хатолар миқдори аниқланади t0 d0 1 2 Бу ердан БЧХ код do > 2t + 1 га эга бўлиши лозим. 3. do га боғлиқ ҳолда g(x)=ЭКУК (m1(X)….m2t (x )), ҳисобланади бу ерда m1 (x) ... m2t (x) – келтирилмаган минимал кўпхадлар. 4. Текшириладиган белгилар сони шу формула орқали ҳисобланади: r=m*t 5. k ахборот белгилар сони қуйидаги формула орқали ҳисобланади: k = n - r = (2m-1) - r БЧХ кодни кодлаш қуйидагидан иборат: Зарур (х)=0…k-1 код комбинациясини хn-k разрядга чапга силжитиб шу сонни оламиз Х n-k (x)=X n-k (0 +…+ k-1X k-1)= 0 X n-1 +… k-1X n-1 Хn-k (x) кўпхадини g(x)га бўламиз ва бўлинмани қуйидаги кўринишда ёзамиз: Xn-k (x)=g(x)q(x)+r(x) , бу ерда q(x)- бўлинма , r(x)- g(x) га бўлингандаги қолдиқ. g(x) кўпхадининг даражаси n-k га тенг экан , r(х) нинг даражаси n-k-1 га тенг бўлади. Бунда Xn-k(x) + r (x) = g(x) q(x), бу ердан бўлинадиган БЧХ коднинг изланган кодли комбинациясини оламиз . БЧХ коди t=3, n=15 узунлигидаги комбинацияларни 3 карра хатоларни тўғрилашга қодир, d 0 2t 1 2 * 3 1 7 m=log2(n+1)=log2(15+1)=4 7 1 r 4* 12 жадвалдан полиномларни танлаймиз 2 m1 ( x) 10011 m3 ( x) 11111 m ( x) 111 5 Р(х)=НОК{m1(x)m3(x)…md-2(x)} P(x)=10011х11111х111=10100110111 r 4* 7 1 12 (таҳминан) 2 Р(х)=х10+х8+х5*х4+х2+х+1 tош=3 d 0 =7 k=n-r=15-10=5 r=10 Мисол. 3 хатони тўғриловчи БЧХ код ясаймиз, Кодли комбинация узунлиги n=15. M=log2(n+1)=log2(15+1)=4 r<mt<=43=12. Минимал кўпхадлар жадвалидан минимал кўпхадларни танлаймиз: M1(X)=10011; М3(х)=11111; M5(x)=111. Бунда g(x)= 10100110111, ва r=10, k=n-r=5, (15,5) кодга эгамиз. 10101 комбинациясини кодлаймиз 101010000000000|10100110111 10100110111 | 000011101110000 10100110111 01001000111 БЧХ коди билан кодланган комбинация қуйидаги кўринишга эга бўлади: 10101 1001000111 2 ва 10 позицияларига хатоларни киритамиз: 111011001100111. Ҳосил қилинадиган полиномга қабул қилинган комбинацияни бўламиз: 111011001100111 10100110111 10100110111 010010100010 10100110111 0011001010111 10100110111 01111110110 W=8 Олган W=8 қолдиғимизнинг оғирлиги тўғриланган хатолар сонидан катта экан, комбинацияни циклик силжитишни ва ҳосил бўладиган полиномга қолдиқ иккига тенг оғирликда бўлгунича бўлишни амалга оширамиз. 110110011001111|10100110111 10100110111 | 11111110111 10100110111 10110000001 10100110111 1011011011 W=7 Олган W=7 қолдиғимизнинг оғирлиги тўғриланган хатолар сонидан катта экан, комбинацияни циклик силжитишни ва ҳосил бўладиган полиномга қолдиқ иккига тенг оғирликда бўлгунича бўлишни амалга оширамиз. 101100110011111|10100110111 10100110111 10101110111 10100110111 10000001 W=2 Модул бўйича охирги иккита бўлинувчиларни қолдиқлари билан қўшамиз 10110011001111110000001=101100100011110. Олган кетма-кетлигимизни иккита разрядга ўнгга циклик силжитамиз: 010110010001111 , 101011001000111- бу кетма-кетлик юборилган ҳисобланади. БЧХ ни декодлаш алгоритми бир нечта босқичдан иборат: 1.Синдромни ҳисоблаш. 2. Ҳатолар локатори кўпхадини ҳисоблаш. 3. Ҳатолар локатори кўпхади илдизларини топиш. 4. Хатоларни тўғрилаш. Назорат саволлари 1. БЧХ кодига тушунча беринг? 2. БЧХ кодига мисоллар келтиринг? 3. БЧХ ни декодлаш алгоритми нечта босқичдан иборат?