Хэлний сургалтын сургалт арга зүйн төв avtf kts. Циклийн кодууд Циклийн кодууд нь танд илрүүлэх боломжийг олгодог

Циклийн кодууд нь өгөгдсөн кодын кодын хослолын бүх тэмдэгтүүдийг циклээр солих явцад ижил кодын өөр кодын хослол үүсдэг гэдгээрээ онцлог юм.

Циклийн кодын хослол;

Мөн мөчлөгийн кодын хослол.

Циклийн кодуудыг авч үзэхдээ хоёртын тоог олон гишүүнт хэлбэрээр илэрхийлдэг бөгөөд түүний зэрэг нь ( P - 1), П- кодын хослолын урт.

Жишээлбэл, 1001111 хослол ( n= 7) олон гишүүнтээр илэрхийлэгдэнэ

Энэхүү дүрслэлийн тусламжтайгаар кодын хослол дээрх үйлдлүүд нь олон гишүүнтүүд дээрх үйлдлүүд болж буурдаг. Эдгээр үйлдлүүд нь энгийн алгебрийн дагуу хийгддэг, гэхдээ ижил төстэй нөхцлүүдийн бууралтыг модуль 2-оор гүйцэтгэдэг.

Цикл код ашиглан алдаа илрүүлэх нь урьдчилан сонгосон олон гишүүнт үлдэгдэлгүйгээр хуваагдсан хослолуудыг зөвшөөрөгдсөн байдлаар сонгох замаар баталгааждаг. Г(x). Хэрэв хүлээн авсан хослол нь гажуудсан тэмдэгтүүдийг агуулж байвал олон гишүүнт хуваагдана Г(x) үлдсэн хэсэгтэй хамт явагдана. Энэ нь алдааг илтгэх дохиог үүсгэдэг. Олон гишүүнт Г(x)үүсгэх гэж нэрлэдэг.

Циклийн кодын хослолыг бүтээх нь анхны хослолыг үржүүлэх замаар боломжтой юм А(X) үүсгэгч олон гишүүнт Г(x) ижил төстэй нэр томъёог багасгаж модуль 2:

  • хэрэв бүтээгдэхүүний хамгийн их хүч нь ( P - 1), дараа нь үүссэн олон гишүүнт нь мөчлөгийн кодын кодын хослолыг илэрхийлнэ;
  • бүтээгдэхүүний хамгийн их чадал нь түүнээс их буюу тэнцүү бол П, дараа нь үржвэрийн олон гишүүнт нь урьдчилан сонгосон зэрэгтэй олон гишүүнт хуваагдана Пүржүүлгийн үр дүн нь хуваагдлын үлдэгдэл юм.

Иймд циклийн кодын хослолыг төлөөлсөн бүх олон гишүүнтүүд нь түүнээс доош зэрэгтэй байна П.

Ихэнхдээ хуваах олон гишүүнтийг олон гишүүнт болгон авдаг Г(x)= +1. Ийм кодын хослолыг бий болгосноор мэдээлэл, хяналтын тэмдгийн байрлалыг урьдчилан тодорхойлох боломжгүй юм.

Циклийн кодын том давуу тал нь кодлогч ба декодчилогчдыг бүтээхэд хялбар байдаг бөгөөд тэдгээр нь бүтцийн хувьд санал хүсэлт бүхий ээлжийн бүртгэлийг илэрхийлдэг.

Бүртгэлийн битийн тоог үүсгэгч олон гишүүнтийн зэрэгтэй тэнцүү сонгоно.

Санал хүсэлтнь регистрийн гаралтаас зарим оронтой тоо руу залгагчаар дамжин хийгддэг бөгөөд тэдгээрийн тоог үүсгэгч олон гишүүнтийн тэгээс бусад гишүүдийн тооноос нэгээр бага сонгосон байна. Регистрийн тэдгээр битүүдийн оролт дээр нэмэгчийг суулгасан бөгөөд тэдгээр нь үүсгэгч олон гишүүнтийн тэгээс бусад гишүүдтэй тохирч байна.

Зураг 17-д дөрвөн битийн хослолыг долоон битийн хослол болгон хувиргах кодлох бүртгэлийн схемийг үзүүлэв.

Зураг 17 - Кодлох бүртгэлийн схем


Хүснэгтэнд. 4-т 0101 анхны хослолыг шилжүүлснээр 1010011 мөчлөгийн кодын хослолыг хэрхэн олж авахыг харуулав. n= 7, к=4. Хослол 0101, түлхүүр 1-р байрлалд. Эхний дөрвөн мөчлөгийн үед регистрийг дүүргэж, дараа нь түлхүүрийг 2-р байрлал руу шилжүүлнэ. Санал хүсэлтийг хаасан. Долоон ээлжийн циклийн үйл ажиллагааны дор долоон битийн мөчлөгийн код үүсдэг.

Хүснэгт 4

Цикл кодын шинж чанарууд:

1) үүсгэгч олон гишүүнт нэгээс олон гишүүн агуулж байвал цикл код нь бүх алдааг илрүүлдэг. Хэрэв Г(x)=x+ 1, дараа нь код нь ганц алдаа болон бүх сондгой алдааг илрүүлдэг;

2) мөчлөгийн кодтой Г(x)= (x+ 1)Г(x) бүх дан, давхар, гурвалсан алдааг илрүүлдэг;

3) үүсгэгч олон гишүүнтэй цикл код Г(x) градус r = n - kүргэлжлэх хугацаатай бүх бүлгийн алдааг илрүүлдэг rтэмдэгтүүд.

Хяналтын асуултууд

Цикл кодууд нь нэг буюу хэд хэдэн хослолыг циклээр шилжүүлэх замаар кодын зарим эсвэл бүх хослолыг олж авах боломжтой тул ийм нэрлэсэн. Циклийн шилжилтийг баруунаас зүүн тийш хийх бөгөөд хамгийн зүүн талын тэмдэгтийг хослолын төгсгөлд шилжүүлдэг. Циклийн кодууд нь бараг бүгдээрээ системчилсэн кодуудад хамаардаг бөгөөд үүнд хяналтын болон мэдээллийн битүүд нь хатуу тодорхойлогдсон газруудад байрладаг. Үүнээс гадна кодууд нь блок кодын дунд байдаг. Блок бүр (нэг үсэг нь блокийн онцгой тохиолдол) тус тусад нь кодлогдсон байдаг.

Циклийн кодыг бүтээх санаа нь хоёртын тоонуудын талбарт бууруулж болохгүй олон гишүүнтүүдийг ашиглахад суурилдаг. бууруулж боломгүйАнхны тоог бусад тоонуудын үржвэрээр дүрслэх боломжгүйтэй адил нэг талбарын коэффициент бүхий доод зэрэглэлийн олон гишүүнтүүдийн үржвэрээр дүрслэх боломжгүй олон гишүүнтүүдийг нэрлэдэг. Өөрөөр хэлбэл, бууруулж болохгүй олон гишүүнтүүд үлдэгдэлгүйгээр зөвхөн өөртөө эсвэл нэгээр хуваагддаг.

Циклийн кодын онол дахь бууруулж болохгүй олон гишүүнт олон гишүүнт үүсгэх үүрэг гүйцэтгэдэг. Хэрэв өгөгдсөн кодын хослолыг сонгогдсон бууруулж болохгүй олон гишүүнтээр үржүүлбэл бид мөчлөгийн кодыг авах бөгөөд залруулах чадварыг бууруулж болохгүй олон гишүүнтээр тодорхойлно.

Та дөрвөн оронтой хоёртын кодын аль нэгийг кодлохыг хүсч байна гэж бодъё. Энэ хослолыг бас авч үзье G(x) = x 3 + x 2 + 1 ® 1011. Бид сонголтоо зөвтгөхгүйгээр бууруулж болохгүй олон гишүүнтүүдийн хүснэгтээс үүсгэгч олон гишүүнтийг авдаг. P(x) = x 3 + x + 1 ® 1011. Дараа нь үржүүлнэ G(x)үүсгэгч олон гишүүнтэй ижил зэрэгтэй мономиал руу. Олон гишүүнтийг зэрэгтэй мономиалаар үржүүлэхээс nолон гишүүнт гишүүн бүрийн зэрэг нь нэмэгдэнэ n, энэ нь оноохтой тэнцэнэ nолон гишүүнтийн доод эрэмбийн цифрүүдээс тэг. Сонгосон бууруулж болохгүй олон гишүүнтийн зэрэг нь гуравтай тэнцүү тул анхны мэдээллийн хослолыг гурван градусын мономиалаар үржүүлнэ.

G(x) x n =(x 3 + x 2 + 1) x 3 = x 6 + x 5 + x 3 = 1101000.

Дараа нь эдгээр тэгүүдийн оронд залруулах битүүдийг бичих боломжтой болохын тулд үүнийг хийдэг.

Залруулсан цифрүүдийн утгыг хуваах үр дүнгээс олно G(x) x nдээр P(x):

x 6 +x 5 +0+x 3 +0+0+0 ½x 3 +x+1

x6 +0+x4 +x3

x 5 +x 4 +0+0 x 3 +x 2 +x+1+ x 5 +0+x 3 +x 2

x4 + x3 +x2 +0

x 4 + 0 + x 2 + x

x 3 +0+x+0

x 3 +0+x+1

Тиймээс,

эсвэл дотор ерөнхий үзэл

Хаана Q(x)¾ хэсэг, ба R(x)¾ хуваалтын үлдэгдэл G(x)×xnдээр P(x).



оноос хойш хоёртын арифметик 1 Å 1 \u003d 0, энэ нь -1 \u003d 1 гэсэн үг, дараа нь хоёртын тоог нэмэхдээ тэмдгийг өөрчлөхгүйгээр (хэрэв тохиромжтой бол) нэр томъёог нэг хэсгээс нөгөөд шилжүүлэх боломжтой тул маягтын тэгш байдал a Å b = 0 гэж бас бичиж болно a = b, Мөн хэрхэн a - b = 0. Энэ тохиолдолд бүх гурван тэгш байдал нь аль нэгийг илэрхийлнэ аТэгээд б 0, эсвэл аТэгээд б 1-тэй тэнцүү байна, өөрөөр хэлбэл. ижил тэнцүү байна.

Иймд (5.1) илэрхийллийг дараах байдлаар бичиж болно

F(x)=Q(x) P(x)= G(x) x n +R(x),

Энэ нь бидний жишээнд өгөх болно

F(x)=(x 3 + x 2 + x + 1) (x 3 + x + 1)= (x 3 + x 2 + 1)x 3 + 1,

F(x)= 1111 1011 = 1101000 + 001 = 1101001.

1101001 олон гишүүнт нь хүссэн хослол бөгөөд 1101 нь мэдээллийн хэсэг, 001 нь хяналтын тэмдэгт юм. Бүтэн дөрвөн оронтой хоёртын кодын аль нэгийг (энэ тохиолдолд 1111) үүсгэгч олон гишүүнээр үржүүлсний үр дүнд, мөн өгөгдсөн хослолыг ижил утгатай мономиалаар үржүүлснээр бид хүссэн хослолыг олж авах байсан гэдгийг анхаарна уу. Сонгосон үүсгэгч олон гишүүнтийн зэрэг (манай тохиолдолд 1101000 хослол) ийм аргаар олж авсан бөгөөд дараа нь үүссэн бүтээгдэхүүнд энэ бүтээгдэхүүнийг үүсгэгч олон гишүүнт хуваах үлдэгдлийг нэмнэ (бидний жишээнд, үлдсэн хэсэг нь маягт 001).

Энд үүсгэгч олон гишүүнтийн шинж чанарууд шийдвэрлэх үүрэг гүйцэтгэдэг P(x). Циклийн кодыг бүтээх арга нь генераторын олон гишүүнт кодын хослол бүрийг бүрдүүлэхэд оролцдог тул цикл кодын аль ч олон гишүүнт генераторт үлдэгдэлгүйгээр хуваагддаг. Гэхдээ зөвхөн тухайн кодонд хамаарах олон гишүүнтүүдийг үлдэгдэлгүйгээр хуваадаг, өөрөөр хэлбэл үүсгэгч олон гишүүнт нь бүх боломжит хослолуудаас зөвшөөрөгдсөн хослолуудыг сонгох боломжийг олгодог. Хэрэв цикл кодыг үүсгэгч олон гишүүнт хуваах үед үлдэгдэл гарвал кодонд алдаа гарсан эсвэл энэ нь бусад кодын хослол (хууль бус хослол) юм. Үлдсэн хэсэг нь хориотой хослол байгаа эсэхийг илрүүлсэн, өөрөөр хэлбэл алдаа илэрсэн. Олон гишүүнт хуваалтын үлдэгдэл нь мөчлөгийн кодын алдааны тодорхойлогч юм.

Нөгөө талаас нэгийг үүсгэгч олон гишүүнтээр тэгтэй хуваахаас үлдсэн үлдэгдлийг цикл кодыг бүтээхэд ашигладаг.

Тэгтэй нэгжийг үүсгэгч олон гишүүнтээр хуваахдаа үлдэгдлийн урт нь хяналтын битүүдийн тооноос багагүй байх ёстой гэдгийг санах нь зүйтэй бөгөөд ингэснээр үлдсэн хэсэгт бит дутагдалтай тохиолдолд шаардлагатай тооны Тэг нь баруун талд байгаа үлдэгдэлтэй холбоотой.

01100 11111+

наймаас эхлэн үлдэгдэл нь давтагдана.

Хуваалтын үлдэгдлийг үүсгэгч матрицыг бүтээхэд ашигладаг бөгөөд тэдгээр нь үзэгдэх байдал, дериватив хослолыг авахад хялбар байдаг тул цикл кодыг бүтээхэд өргөн хэрэглэгддэг. Үүсгэх матрицын бүтээн байгуулалтыг нэг шилжүүлсэн болон нэмэлт матрицын эмхэтгэл болгон бууруулж, тэдгээрийн элементүүд нь тэгтэй нэгжийг үүсгэгч олон гишүүнт хуваах үлдэгдэл юм. P(x). Identity transposed матриц гэдгийг санаарай квадрат матриц, баруунаас зүүн тийш диагональ байдлаар дээрээс доош байрлах элементүүдээс бусад бүх элементүүд нь тэг байна (шилжүүлээгүй матрицад нэгж элементүүдтэй диагональ нь зүүнээс баруун тийш дээрээс доош байрладаг). Нэмэлт матрицын элементүүдийг таниулсан матрицын баруун талд хуваарилдаг. Зөвхөн тэдгээр үлдэгдэл, жин нь W³d0- 1, хаана d0- хамгийн бага кодын зай. Үлдэгдэлийн урт нь хяналтын битийн тооноос багагүй байх ёстой бөгөөд үлдэгдлийн тоо нь мэдээллийн битийн тоотой тэнцүү байх ёстой.

Үүсгэх матрицын мөрүүд нь эхний хослолууд юм эх код. Үлдсэн кодын хослолыг үүсгэгч матрицын мөрүүдийн бүх боломжит хослолуудын модулийн 2-ын нийлбэрийн үр дүнд олж авна.

Жишээ.

10 битийн хоёртын хослолыг дамжуулахад нэг болон давхар алдааг илрүүлэх циклийн кодын бүрэн үүсгэгч матрицыг байгуул.

Шийдэл.

Хүснэгт 5.12-ын дагуу хамгийн ойрын утгыг сонгоно k ³ 10.

Хүснэгт 5.12 - 16 бит хүртэл урттай кодын мэдээлэл ба шалгах тэмдгийн хоорондын хамаарал

n к ρ n к ρ

Хүснэгтийн дагуу энэ утга нь байх болно k = 11, байхад r= 4, А

n= 15. Бид мөн үүсгэгч олон гишүүнийг сонгодог x 4 + x 3 +1.

Бид үүсгүүрийн иж бүрэн матрицыг нэгжийн шилжүүлсэн матрицаас каноник хэлбэрээр, мөн шалгах цифрүүдэд тохирох нэмэлт матрицыг бүтээдэг.

Шилжүүлсэн матриц k = 11 нь дараах байдалтай байна.

Нэмэлт матрицыг тэгтэй нэгж хэлбэрээр (тэгж хувиргасан матрицын сүүлчийн эгнээ) сонгосон үүсгэгч олон гишүүнт хуваах үлдэгдэлээр нэмж байгуулж болно.

Бүрэн үүсгэгч матриц нь дараах байдлаар харагдах болно.

Дээр дурдсан матриц үүсгэх арга нь цорын ганц биш юм. Үүсгэх матрицыг үүсгэгч олон гишүүнтээр таних матрицын элементүүдийг шууд үржүүлсний үр дүнд байгуулж болно. Энэ нь ихэвчлэн хуваагдлын үлдэгдлийг олохоос илүү тохиромжтой байдаг. Үүссэн кодууд нь матриц үүсгэх замаар бүтээгдсэн кодуудаас ямар ч ялгаагүй бөгөөд нэмэлт матриц нь үүсгэгч олон гишүүнт нэгийг тэгээр хуваах үлдэгдэлээс бүрддэг.

Үүсгэх матрицыг мөн зэрэглэлийн таних матрицын мөрийг үржүүлэх замаар олж авсан хослолыг мөчлөгөөр шилжүүлэх замаар байгуулж болно. күүсгэгч олон гишүүнт рүү.

Үүссэн хослолыг үүсгэгч олон гишүүнт хуваах үлдэгдлийг ашиглан мөчлөгийн кодын алдааг илрүүлдэг. Хуваалтын үлдэгдэл нь алдаа тодорхойлогч боловч мөчлөгийн код дахь алдааны байршлыг шууд заадаггүй.

Алдаа засах санаа нь тодорхой тооны мөчлөгийн шилжилтийн дараа алдаатай хослолыг үлдсэн хэсэгтэй нь хамт залруулсан кодын хослолыг өгөх байдлаар "тохируулж" байгаа явдал дээр суурилдаг. Энэ тохиолдолд үлдсэн хэсэг нь гажуудсан болон хоёрын хоорондох ялгаанаас өөр зүйл биш юм зөв тэмдэгтүүд, үлдэгдэл дэх нэгжүүд нь мөчлөгийн шилжилтээр тохируулсан хослол дахь гажуудсан битүүдийн яг байрлалд байна. Үлдсэн нэгжийн тоо нь кодын алдааны тоотой тэнцэх хүртэл гажуудсан хослолыг тохируулна. Энэ тохиолдолд мэдээжийн хэрэг нэгжийн тоо нь алдааны тоотой тэнцүү байж болно с,Энэ кодоор зассан (код нь 3 алдаа, гажуудсан хослолын 3 алдааг засдаг) эсвэл түүнээс бага с(код нь 3 алдаа, хүлээн авсан хослолд 1 алдааг засдаг).

Кодын хослол дахь алдааны газар хамаагүй. Хэрэв к³(n/2), дараа нь тодорхой тооны ээлжийн дараа бүх алдаа нь үүсгэгч олон гишүүнт "ганц" үйлдлийн бүсэд байх болно, өөрөөр хэлбэл жин нь нэг үлдэгдлийг авахад хангалттай. W£s, мөн энэ нь гажуудсан хослолыг засахад аль хэдийн хангалттай байх болно.

Алдаа засах үйл явцыг тусгай кодыг бүтээх жишээнүүдийг ашиглан доор дэлгэрэнгүй авч үзнэ.

Циклийн код

Циклийн кодууд нь мэдээлэл k болон хяналтын t тэмдэгтүүдийг байнга олдог байдлаар хослол бүрийг бие даан (блок хэлбэрээр) кодлодог блок системчилсэн кодуудын нэг юм.

тодорхой газар хувцаслах. Бусад кодуудтай харьцуулахад харьцангуй бага илүүдэлтэй бараг ямар ч алдааг илрүүлэх, засах боломж, түүнчлэн кодчилол, декодчилох төхөөрөмжийн хэлхээний хэрэгжилтийн энгийн байдал нь эдгээр кодуудыг өргөн тархсан болгосон. Циклийн кодын онол нь бүлгийн онол болон Галуагийн талбар дээрх олон гишүүнт алгебр дээр суурилдаг.

Цикл код гэдэг нь кодын хослолуудын тархалтын дарааллыг ямар ч хослолоос хөрш рүү шилжих үед Хэммингийн кодын зай тогтмол байхаар хийгддэг код юм.

Циклийн кодууд нь алдаа засах кодуудын бүхэл бүтэн гэр бүл бөгөөд үүнд Хаммингийн кодууд багтдаг боловч ерөнхийдөө кодын хослолыг дамжуулах үед гарч буй алдааг илрүүлэх, засах шаардлагатай чадвартай кодуудыг хэрэгжүүлэх боломжийн хувьд илүү уян хатан байдлыг хангадаг. холбооны сувгаар. Цикл код нь системчилсэн блок (n, k) кодуудыг хэлдэг бөгөөд эхний к битүүд нь үндсэн кодын хослол бөгөөд дараагийн (n × k) битүүд нь шалгах битүүд юм.

Циклийн кодуудыг бүтээх нь дамжуулагдсан код үгийг r зэрэгтэй, бууруулж болохгүй олон гишүүнт үүсгэх үйлдлээр хуваах үйлдэл дээр суурилдаг. Хуваалтын үлдсэн хэсгийг шалгах бит үүсгэхэд ашигладаг. Энэ тохиолдолд хуваах үйлдлийн өмнө к-битийн мэдээллийн кодын хослолыг зүүн тийш r битээр шилжүүлэх үржүүлэх үйлдлийг хийнэ.

Доод зэрэгтэй олон гишүүнтийн үржвэрээр дүрслэгдэж болох олон гишүүнт (олон гишүүн) -ийг бууруулж болох (өгөгдсөн талбарт) гэж нэрлэдэг, эс тэгвээс үүнийг бууруулж болохгүй. Тооны онол дахь анхны тоонуудтай төстэй үүрэг гүйцэтгэдэг. P(X) бууруулж болохгүй олон гишүүнтүүдийг аравтын болон хоёртын тоогоор эсвэл алгебрийн олон гишүүнт хэлбэрээр бичиж болно.

Цикл кодлох үйл явц

Цикл кодчилол нь цикл кодуудтай холбоотойгоор үүсгэгч, үүсгэгч, үүсгэгч олон гишүүнт (олон гишүүн) гэж нэрлэгддэг, бууруулж болохгүй олон гишүүнт P(X) ашиглахад суурилдаг.

Циклийн кодыг бий болгох мэдээллийн тэмдгийн хувьд k бүх хослолын хоёртын кодын хослолыг авдаг. Ерөнхий тохиолдолд, хэрэв өгөгдсөн кодын хослол Q(x)-ийг үүсгэгч олон гишүүнт P(x)-аар үржүүлбэл P(x)-ийн сонголтоос хамааран тодорхой засах шинж чанартай цикл кодыг авна. Гэсэн хэдий ч, энэ кодонд хяналтын тэмдэг m нь код үгийн олон янзын газарт байрлана. Ийм код нь системчилсэн биш бөгөөд үүнийг хэлхээнд хэрэгжүүлэхэд хүндрэл учруулдаг. Хяналтын тэмдэгтүүдийг төгсгөлд нь, өөрөөр хэлбэл мэдээллийн тэмдэгтүүдийн дараа оноож өгвөл нөхцөл байдлыг ихээхэн хялбарчилж болно. Энэ зорилгоор дараахь аргыг ашиглахыг зөвлөж байна.

P(x) олон гишүүнтэй ижил зэрэгтэй X m мономиар кодлох G(x) код үгийг үржүүлэх;

Бид G(x)X m бүтээгдэхүүнийг үүсгэгч P(x m) олон гишүүнт хуваана:

Энд Q(x) нь хуваах коэффициент; R(x) - үлдэгдэл.

(2.1) илэрхийлэлийг Р(х)-ээр үржүүлж, R(x)-ийг урвуу тэмдэггүйгээр тэгшитгэлийн нөгөө хэсэг рүү шилжүүлснээр бид дараахь зүйлийг олж авна.

Тиймээс тэгш байдлын дагуу (2.2) мөчлөгийн код, өөрөөр хэлбэл F(x) кодлогдсон мессежийг хоёр аргаар үүсгэж болно.

Бүх хослолын хоёртын кодын нэг кодын хослолыг үүсгэгч P(x) олон гишүүнтээр үржүүлэх;

Өгөгдсөн код үгийг G(x)-ийг үүсгэгч P(x) олон гишүүнтэй ижил зэрэгтэй X m олон гишүүнтээр үржүүлж, G(x)X m үржвэрийг хуваасны дараа гарсан R(x) үлдэгдлийг нэмснээр. үүсгэгч олон гишүүнт P( X).

Мессежийн кодчилол

P(x)=x 3 +x+1-тэй G(x)=x 3 +x 2-д тохирох 1100 код үгийг кодлох шаардлагатай.

Гурав дахь зэрэгтэй G (x) -ийг X м-ээр үржүүлбэл бид дараахь зүйлийг авна.

(2.1)-ийн дагуу G(x)X m бүтээгдэхүүнийг үүсгэгч олон гишүүнт P(x m)-д хуваавал бид дараахийг олж авна.

эсвэл хоёртын эквивалентаар:

Үүний үр дүнд бид G(x)-тай ижил зэрэгтэй Q(x)-ийн коэффициентийг олж авна:

Q(x)=x 3 +x 2 +x>1110

болон бусад нь:

Үүний үр дүнд (2.2)-ын дагуу цикл кодоор кодлогдсон хоёртын кодын хослол нь дараах хэлбэртэй болно.

F(x)=1110 1011=1100010

Цикл кодын зөвшөөрөгдсөн кодын хослол бүр нь үүсгэгч олон гишүүнт G(x)-ийн бүх боломжит нийлбэрүүдийг илэрхийлдэг тул тэдгээр нь P(x)-д үлдэгдэлгүйгээр хуваагдах ёстой. Тиймээс хүлээн авсан кодын хослолын зөв эсэхийг шалгах нь түүнийг үүсгэгч олон гишүүнт хуваах үед үлдэгдлийг тодорхойлох хүртэл буурдаг.

Үлдсэн хэсгийг хүлээн авах нь алдаа байгааг илтгэнэ. Циклийн кодуудад хуваагдсан үлдсэн хэсэг нь хам шинжийн үүрэг гүйцэтгэдэг.

Жишээлбэл, P(x)=1011 үүсгэгч олон гишүүнийг ашиглан бүтээгдсэн дамжуулагдсан кодын хослол F(x)=1100010. Хөндлөнгийн нөлөөн дор кодын хослолыг F "(x) = 1000010 хослол болгон хувиргасан.

Бид хүлээн авсан хослолыг үүсгэгч олон гишүүнтээр хуваана

Үлдэгдэл R(x)=001 байгаа нь алдаа байгааг илтгэнэ. Гэхдээ энэ нь хослол дахь алдааны байршлыг шууд заадаггүй. Алдааг тодорхойлохын тулд хам шинжийн шинжилгээнд үндэслэсэн хэд хэдэн арга байдаг.

Алдааны байршлыг тодорхойлъё, үүний тулд дурын тооны тэгтэй нэгжийг P(x)=1011 гэж хуваана.

Элементийн дугаарт алдаа гарлаа:

Үлдэгдэл тоо -2>4-2=2

Энэ нь алдаа нь хоёр дахь элементэд байна.

БЕЛОРУС УЛСЫН МЭДЭЭЛЭЛ ШИНЖЛЭХ УХААН, РАДИО ЭЛЕКТРОНИКИЙН ИХ СУРГУУЛЬ

RES-ийн хэлтэс

сэдвээр хураангуй:

Циклийн кодууд. BCH кодууд"

Минск, 2009 он

Циклийн кодууд

Циклийн код нь шугаман блок (n,k)-код бөгөөд энэ нь мөчлөгийн шинж чанараар тодорхойлогддог, өөрөөр хэлбэл. Зөвшөөрөгдсөн аливаа кодын нэг алхам зүүн тийш шилжих нь ижил кодонд хамаарах зөвшөөрөгдсөн код үгийг өгөх бөгөөд код үгийн багцыг (n-1) ба түүнээс бага зэрэгтэй олон гишүүнтийн багцаар төлөөлөх, r = n-k зэрэгтэй зарим g(x) олон гишүүнт хуваагддаг бөгөөд энэ нь x n +1 хоёр гишүүний хүчин зүйл юм.

g(x) олон гишүүнтийг үүсгэгч гэж нэрлэдэг.

Тодорхойлолтоос харахад цикл код дахь код үгсийг олон гишүүнт хэлбэрээр илэрхийлдэг


энд n нь кодын урт; - GF(q) талбайн коэффициентүүд.

Хэрэв код нь GF(2) талбар дээр баригдсан бол коэффициентүүд нь 0 эсвэл 1 утгыг авах бөгөөд кодыг хоёртын гэж нэрлэдэг.
Жишээ.Хэрэв мөчлөгийн кодын код үг

дараа нь харгалзах олон гишүүнт

Жишээлбэл, кодыг GF(q)=GF(2 3) талбар дээр барьсан бол GF(2) модулийн өргөтгөл болох f(z)=z 3 +z+1 болон элементүүд Энэ талбар нь 1-р хүснэгтэд үзүүлсэн маягттай байна.

дараа нь коэффициентүүд

Энэ талбарын элементүүдийн утгыг авч, улмаар тэдгээр нь өөрөө дараах хэлбэрийн олон гишүүнт хэлбэрээр харагдана
энд m нь GF(2) талбайн өргөтгөлийг олж авах олон гишүүнтийн зэрэг; a i - GF(2)-ийн элементүүдийн утгыг авдаг коэффициентүүд, i.e. 0 ба 1. Ийм кодыг q-th гэж нэрлэдэг.

Цикл кодын урт нь GF(q) дээр n=q m -1 байвал түүнийг команд гэж нэрлэдэг ба кодыг өөрөө команд гэж нэрлэдэг.

Хэрэв кодын урт нь анхдагч кодын уртаас бага байвал кодыг богиносгосон эсвэл команд биш гэж нэрлэдэг.

Тодорхойлолтоос харахад цикл кодын кодын үгсийн нийтлэг шинж чанар нь генератор гэж нэрлэгддэг g(x) олон гишүүнт үлдэгдэлгүйгээр хуваагдах чадвар юм.

x n +1 хоёр гишүүнийг g(x) олон гишүүнд хуваах үр дүн нь туршилтын олон гишүүнт h(x) болно.

Циклийн кодыг тайлахдаа алдааны олон гишүүнт e(x) ба S(x) синдромын олон гишүүнтийг ашигладаг.

(n-1)-ээс ихгүй зэрэгтэй алдааны олон гишүүнт илэрхийллээс тодорхойлогдоно

хүлээн авсан (алдаатай) болон дамжуулагдсан код үгсийг төлөөлж буй олон гишүүнтүүд хаана байна.

e(x) дахь тэгээс бусад коэффициентүүд нь алдаатай тохирох байрлалыг эзэлдэг.

Жишээ.

Циклийн кодыг тайлахад ашигладаг хам шинжийн олон гишүүнт нь хүлээн авсан кодыг үүсгэгч олон гишүүнт хуваахад үлдсэн хэсэг гэж тодорхойлогддог.


эсвэл

Иймд хам шинжийн олон гишүүнт алдааны олон гишүүнт e(x)-ээс шууд хамаардаг.Энэ заалтыг код тайлах процесст ашигласан хам шинжийн хүснэгтийг байгуулахад ашиглана. Энэ хүснэгтэд алдааны олон гишүүнтүүдийн жагсаалт болон илэрхийллээс тодорхойлсон харгалзах хам шинжийн жагсаалтыг агуулна

(хүснэгт 2-ыг үзнэ үү).

Код тайлах явцад синдромыг хүлээн авсан кодын үгээр тооцоолж, дараа нь хүснэгтэд харгалзах олон гишүүнт e(x) олдсон бөгөөд хүлээн авсан кодын үгийн нийлбэр нь залруулсан код үгийг өгдөг, өөрөөр хэлбэл.

Жагсаалтанд орсон олон гишүүнтүүдийг алгебрийн мэдэгдэж буй дүрмийг ашиглан нэмж, үржүүлж, хувааж болно, гэхдээ үр дүнг нь mod 2, дараа нь үр дүнгийн зэрэг нь (n-1) -ээс хэтэрсэн тохиолдолд mod x n +1 гэж багасгадаг.

Кодын уртыг n=7 гэж үзье, дараа нь mod x 7 +1 үр дүнг өгнө.

Олон гишүүнт хуваагдсаны үр дүнд цикл кодыг бүтээх, тайлахдаа ихэвчлэн хуваалтаас үлдэгдэл байх ёстой.
Тиймээс олон гишүүнт биш, харин зөвхөн түүний коэффициентийг ашиглан илүү энгийн хуваах аргыг санал болгож байна (жишээнд 2-р сонголт).

Жишээ.

Кодын матрицын хуваарилалт

Циклийн кодыг матриц үүсгэх, шалгах замаар өгч болно. Тэдгээрийг бүтээхийн тулд g(x) үүсгэгчийг мэдэж, h(x) олон гишүүнтүүдийг шалгахад хангалттай. Системийн бус циклийн кодын хувьд матрицыг үүсгэгч болон шалгах олон гишүүнтүүдийн мөчлөгийн шилжилтээр байгуулдаг, өөрөөр хэлбэл. тэдгээрийг x-ээр үржүүлснээр

Тэгээд

H (n,k) матрицыг байгуулахад h(x) олон гишүүнтийн тэргүүлэх коэффициент баруун талд байрлана.

Жишээ. g(x)=x 3 +x+1 үүсгэгч олон гишүүнтэй цикл (7,4) кодын хувьд G (n,k) ба H (n,k) матрицууд дараах хэлбэртэй байна.

Хаана

Системчилсэн цикл кодын хувьд G (n,k) матрицыг илэрхийллээс тодорхойлно

хаана I k нь таних матриц; R k,r - тэгш өнцөгт матриц. R k,r матрицын мөрүүд нь илэрхийллээс тодорхойлогдоно эсвэл a i (x) нь I k матрицын i-р эгнээний утга; i - R k,r матрицын эгнээний дугаар.

Жишээ. g(x)=x 3 +x+1 үүсгэгч олон гишүүнт суурилсан (7,4)-кодын G (n,k) матрицыг дараах дарааллаар байгуулав.


эсвэл

R 4.3-ийг ашиглан тодорхойлно

учир нь

Үүнтэй адилаар тодорхойлогддог



Ачааж байна...
Топ