Jump to content

Хэрэглэгчийн яриа:Baagii0191

Page contents not supported in other languages.
Сэдэв нэмэх
Википедиа — Чөлөөт нэвтэрхий толь

BCH Код Кодлолын онолд BCH кодууд нь хязгаарлагдмал талбарыг ашиглаж байгуулсан циклийн алдаа засах код үүсгэдэг. BCH кодуудыг 1959 онд Алексис Хогенхем зохиож, 1960 онд Раж Чандра Боуз болон Д.К Рэй-Чаудури нар дэлгэрүүлжээ. BCH товчлол нь зохиогчдынхоо нэрний эхний үсгүүдийг агуулсан байна. BCH кодын гол онцлогуудын нэг нь код загварчлах үед кодоор засагдах боломжтой тэмдэгтийн алдааны тоог яс удирддаг. Жишээ нь хэд хэдэн бит-ийн алдааг засч чадах 2тын тооллын BCH код загварчлах боломжтой. Өөр нэгэн давуу тал нь амархан задрагддаг, дурдвал синдром декодин гэх алгебрын арга бий. Энэ нь бага хүчээр ажилладаг жижиг электрон төхөөрөмж ашиглан эдгээр кодуудын декодерын загварыг хядбаршуулдаг. BCH кодууд нь сансарын холбоо, компакт диск тоглуулагч, DVD, диск драйв, SSD, 2 хэмжээст бар кодын апликэйшнүүдэд ашиглагддаг. Бүтэц Нарийвчилсан Примитив BCH код Өгөгдсөн анхдагч ба эерэг бүхэл тоо болон ( ) хязгаарлагдмал талбар дахь нарийвчилсан примитив BCH код (кодын урт ) ба минимум зай дор хаяж бөгөөд доорх аргын дагуу босгосон.

 -г   -ийн привитив элемэнт гэе. Ямар ч эерэг бүхэл тоо   нь   -ыг   -ийн хамгийн бага олон гишүүнт байлгах болно. BCH кодын олон гишүүнт үүсгэгч нь хамгийн бага ерөнхий хуваагдагч   -аар тодорхойлогддог.   нь   коеффициенттэй   -ийг хуваагч олон гишүүнт гэж болно. Тиймээс   ээр тодорхойлогдох олон гишүүнт код нь циклийн код юм.

Жишээ:

 ба   (иймд  ) гэе. Бид   -ийн өөр өөр утгуудыг авч үзэх болно. Мөн примитив язгуур   нь

-ийг биелүүлнэ. Үүний   ээс их хамгийн бага олон гишүүнт нь  .


 -д   тэгшитгэл багтана, эндээс  . Иймд   нь   -ийн язгуур тул   гэдгийг анхаарна уу.
 -ийг тооцоолохын тулд дараах шугаман тэгшитгэлүүд байна.

• • • • • Five right-hand-sides of length four нь шугаман хамааралтай байх ёстой ба гэсэн шугаман хамаарал олдоно. Үүнээс бага, зэргийн хамаарал байхгүй учир -ийн хамгийн бага олон гишүүнт нь юм. Үүнтэй ижилээр үргэлжлүүлбэл,



 -тэй BCH код олон гишүүнт үүсгэгч   -тэй байна.

Үүний минимум Hamming зай нь ядаж 3 ба 1 хүртэлх алдааг засдаг. Олон гишүүнт үүсгэгч нь 4н зэрэгтэй тул энэ код 11 дата бит ба 4 чексам биттэй.

 -тэй BCH кодын олон гишүүнт үүсгэгч:

Үүний минимум Hamming зай нь ядаж 5 ба 2 хүртэлх алдааг засдаг. Олон гишүүнт үүсгэгч нь 8 зэрэгтэй учир энэ код 7 дата бит ба 8 чексам биттэй.

  -тэй BCH кодын олон гишүүнт үүсгэгч:

Үүний минимум Hamming зай нь ядаж 7 ба 3 хүртэлх алдааг засдаг. Энэ код 5 дата бит ба 10 чексам биттэй.

 ба их BCH кодын олон гишүүнт үүсгэгч:

Үүний минимум Hamming зай 15 нь ядаж 15 ба 7н алдаа засдаг. Энэ нь 1 дата бит ба 14 чексам биттэй. Үнэндээ энэ код зөвхөн 2 код-үгтэй: 000000000000000 ба 111111111111111. Ерөнхий BCH кодууд Ерөнхий BCH кодууд нь примитив нарийвчилсан BCH кодуудаас 2 зүйлээрээ ялгаатай. Нэгт, нь -ийн примитив элемэнт байх шаардлага нь арай уян хатан байж болно. Шаардлагыг зөөлрүүлэхийн тулд кодын урт -ээс элемэнт -ийн дараалал -руу шилжинэ. Хоерт, олон гишүүнт үүсгэгчийн дараалсан язгуурууд нь -ын оронд байж болно. Тайлбар. дээд хүчтэй хязгаартай талбар -ыг зас. , мэтээр эерэг хувьсагч -ийг сонго. нь модул -ий урвуу дараалал. Өмнөхийн адилаар, -г -ийн примитив удаагийн язгуур, мөн -ийг бүх дахь -ийн -д хамгийн бага олон гишүүнт гэе. BCH кодын олон гишүүнт үүсгэгч нь -ийн хамгийн бага ерөнхий хуваагдагчаар тодорхойлогдоно. Санамж: Хэрэв хялбарчилсан тайлбар байгаагаар бол, нь автоматаар 1, модул -ийн дараалал автоматаар . Иймээс хялбарчилсан тайлбар нь үнэхээр ерөнхийгийн онцгой хэлбэр юм. Шинж төлөв 1. BCH кодын олон гишүүнт үүсгэгч нь хамгийн ихдээ зэрэгтэй. Нэмээд, хэрэв ба бол олон гишүүнт хамгийн ихдээ зэрэгтэй. Нотолгоо: Хураангуй олон гишүүнт бүр дээд тал нь зэрэгтэй. Иймд, -ийн хамгийн бага ерөнхий хувааглагч нь ихдээ зэрэгтэй. Хэрэв бол бүх -д байна. Иймд нь бүгд зэрэгтэй сондгой индексүүд дахь хамгийн ихдээ хураангуй олон гишүүнтийн хамгийн бага ерөнхий хуваагдагч болно. 2. BCH код нь хамгийн багадаа хураангуй Hamming зайтай. бол -ээс цөөн ба тэгтэй тэнцэхгүй нөхцөлтэй код үг гэж үзвэл:

 нь   -ийн язгуур, иймд  . Ингэснээр   -ийн хувьд   нь дараах тэгшитгэлүүдийг хангаж чадна.:
.

Матриц хэлбэрээр,

Матрицын тэнцвэрийн тодорхойлогч нь:

Матриц нь Вандермондын матриц ба тодорхойлогч нь тэгтэй тэнцэхгүй:

,

Үүнээс үндэслэн ба

3. BCH код нь циклийн.

Нотолгоо: урттай олон гишүүнт код нь циклийн бөгөөд түүний олон гишүүнт үүсгэгч нь -т хуваагдана. нь язгууртай хураангуй олон гишүүнт тул бүх нь -ийн язгуур эсэхийг шалгана. Эндээс шууд нь -ий нэгдэлийн язгуур гэж тодорхойлогдоно.

Онцгой тохиолдлууд • -тэй BCH код нь нарийвчилсан кодыг гэнэ • -тэй BCH кодыг примитив гэнэ. BCH кодын олон гишүүнт үүсгэгч нь коеффициенттэй. олон гишүүнт нь мөн нөхцөлд олон гишүүнтийн тойрогт хамаарагдана. Ерөнхийдөө олон гишүүнт үүсгэгчтэй циклийн кодыг Рийд-Соломон код гэнэ. Өөрөөр хэлбэл Рийд-Соломон код нь декодерийн альфабет нь сувгийн альфабеттай ижил байх BCH кодыг хэлнэ. Декодлох BCH кодыг задлах олон алгоритмууд байдаг. Хамгийн түгээмлүүд нь дараах ерөнхий хэлбэртэй: 1. Хүлээж авсан векторт синдром sj –ыг тооцоолно. 2. Синдромоос алдааны тоо t ба алдаа илрүүлэгч олон гишүүнт Λ(x) –г тодорхойлно. 3. Алдаатай газруудын олон гишүүнтийн язгуурыг тооцоолж алдаатай газрууд Xi –ыг олно 4. Алдаатай газрууд дахь алдааны утга Yi –ыг тооцоолно. 5. Алдааг засна Эдгээр алхамуудын үед, декодлох алгоритм нь хүлээж авсан вектор хэт олон алдаатай ба засагдах боломжгүй гэж тодорхойлж болно. Жишээ нь, хэрэв t –ийн таарах утга олдоогүй бол засвар амжилтгүй болно. Хэрэв хүлээж авсан вектор кодын засаж чадахаас илүү олон алдаатай бол декодер мэдэлгүйгээр илгээгдээгүй үнэн мэдээлэл боловсруулж байж болно. Синдромыг тооцоолох Хүлээж авсан вектор нь зөв код-үг ба үл мэдэгдэх алдаат вектор -ийн нийлбэр юм. Синдромын утгууд олон гишүүнт -д үнэлэгдэж байгаагаар үүсгэгдэнэ. Иймд синдромууд нь ээс ийн хувьд:


 нь   -ийн 0-үүд тул   нь хэд хэдэн  . Синдромын утгыг шалгах нь алдаатай векторыг тусгаарладаг. Хэрэв алдаа байхгүй бол бүх   нь  . Хэрэв бүх синдром 0 бол декодлох явц дуусна.

Олон гишүүнтийн алдаатай газрыг тооцоолох Хэрэв 0 биш синдром байвал алдаатай гэсэн үг. Декодлогч хэр олон алдаа байгаа ба алдааны байршлуудыг олох хэрэгтэй. Хэрэв ганц алдаа байвал , энд нь алдааны байршил, нь холбогдол. Эндээс эхний 2 синдром нь


Энэ 2 хамтдаа бидэнд -г тооцоолох боломжтой болгож -ийн тухай зарим мэдээллийг олж өгнө. (Reed-Solomon кодуудын хувьд бүрэн тодорхойлно.) Хэрэв 2 эсвэл олон алдаа байвал,

Үл мэдэгдэх ба -ийн синдромуудийг хэрхэн олох нь эхлээд шууд тодорхой биш. Энэ ажилд ашиглах 2 түгээмэл алгоритм бий. 1. Питерсон-Горенштэйи-Цирлер алгоритм 2. Берлекем-Массей алгоритм Питерсон-Горенштэйи-Цирлер алгоритм Питерсоны алгоритм нь ерөнхий BCH декодлох явцын 2р шат юм. Питерсоны алгоритмыг олон гишүүнтийн алдаа ологч коеффициент -ыг олоход ашиглана. Питерсон-Горенштэйи-Цирлер алгоритмын явц нь, алдааг засахад зориулагдан өгөгдсөн BCH код нь • Эхлээд 2t синдхомын матрицыг гаргаж авна • Дараа нь синдромын утгууд бүхий элемэнтүүдтай матрицыг гаргаж авна.


• Элемэнтүүдтэй векторыг гаргаж авна.

• -ээр үл мэдэгдэх олон гишүүнтийн коеффициетүүдийг нотлуулна.

• Матрицын тэгшитгэлээс:

• Хэрэв матрицын тодорхойлогч оршиж байвал энэ матрицын урвуу утгыг олж үл мэдэгдэх утгуудыг бодох боломжтой. • Хэрэв , бол дараах:

      if  
      then
            declare an empty error locator polynomial
            stop Peterson procedure.
      end
      set  
      continue from the beginning of Peterson's decoding

• -ийн утгуудыг олсны дараа олон гишүүнтийн алдаа заагч олдох болно. • Питерсоны явцыг дуусгана. Фактор олон гишүүнт алдаа ологч Одоо олон гишүүнт олдсон тул үүний язгуурыг хэлбэрт Чиений алгоримт ашиглан олж болно. Λ(x) ийн 0 үүд нь X1-1, ..., Xν-1. 0 үүд нь алдааны байршилын урвуу утгууд юм . Алдааны утгыг тооцоолох Алдааны байрлалууд олдсоны дараагийн алхам бол эдгээр байрлалууд дахь алдааны утгыг тогтоох. Алдааны утгууд нь дараа нь хүлээж авсан утгуудыг засаж жинхэнэ кодыг сэргээхэд ашиглагдана. 2тын BCH ийн хувьд энэ нь ялихгүй зүйл. Хүлээж авсан үгсийн битүүдийг эргүүлээд тавихад засагдсан кодыг гаргаж ирэх болно. Өөр тохиолдолд нь шугаман системээр тодорхойлогдож болно.


. . . Гэвч илүү үр дүнтэй арга нь Форнэйн алгоритм юм. Энэ нь Лагранжийн интерполд суурилсан. Эхлээд олон гишүүнтийн тэнцэтгэлийн алдааг олно.

Дараа нь алдааны утгыг бодно.

Нарийвчилсан BCH кодын хувьд, c = 1, иймд тэгшитгэл хураагдана: formal derivative of the error locator polynomial

Λ'(x) нь алдаа ологч Λ(x) ын хэлбэржсэн уламжлал:

For the formal derivative, the operation designates i additions of x; it is not the field's multiplication operation. Алдааг засах Алдааны утга ба байршлыг ашиглан алдааг засч засагдсан кодын вектор үүсгэнэ. Декодлох жишээ GF(24) –т -тэй дээр дурьдсан код -г тооцно. (Энэ үүсгэгч нь QR кодод ашиглагдана.) Зурвасыг [1 1 0 1 1], -руу шилжүүлэх буюу олон гишүүнтээр . Чексам симболуудыг -ийг -т хувааж гаргана. Энэ нь эсвэл [ 1 0 0 0 0 1 0 1 0 0 болно. Эдгээр нь зурваст хамаарна иймд хувирсан код нь [ 1 1 0 1 1 1 0 0 0 0 1 0 1 0 0 ]. Одоо энэ явцад 2 бит алдаа байгаа гэвал хүлээж авах код нь [ 1 0 0 1 1 1 0 0 0 1 1 0 1 0 0 ]. Олон гишүүнтээр:

Алдааг засахад эхлээд синдромуудыг тооцно. бол , s2 = 1001, s3 = 1011, s4 = 1101, s5 = 0001, ба s6 = 1001. Одоо Петерсоны үйлдэлийг эгнээ багасган дараах матрицд оруулна.

0 эгнээнээс болж S3×3 нь ганц тоо, учир нь зөвхөн 2 алдаа кодод агуулагдсан байсан. Гэвч матриц ын зүүн дээд буланд [S2×2 | C2×1], тай ижил ба энэ нь , болно. Үр дүнд нь алдаа ологч олон гишүүнт , болон -д 0 үүдтэй. -ийн урвуу утга нь алдааны байрлалтай адил. Энэ тохиолдолд алдааны утгыг олох шаардлагагүй, учир нь боломжит ганц утга нь 1 юмаа...

BCH Код Кодлолын онолд BCH кодууд нь хязгаарлагдмал талбарыг ашиглаж байгуулсан циклийн алдаа засах код үүсгэдэг. BCH кодуудыг 1959 онд Алексис Хогенхем зохиож, 1960 онд Раж Чандра Боуз болон Д.К Рэй-Чаудури нар дэлгэрүүлжээ. BCH товчлол нь зохиогчдынхоо нэрний эхний үсгүүдийг агуулсан байна. BCH кодын гол онцлогуудын нэг нь код загварчлах үед кодоор засагдах боломжтой тэмдэгтийн алдааны тоог яс удирддаг. Жишээ нь хэд хэдэн бит-ийн алдааг засч чадах 2тын тооллын BCH код загварчлах боломжтой. Өөр нэгэн давуу тал нь амархан задрагддаг, дурдвал синдром декодин гэх алгебрын арга бий. Энэ нь бага хүчээр ажилладаг жижиг электрон төхөөрөмж ашиглан эдгээр кодуудын декодерын загварыг хядбаршуулдаг. BCH кодууд нь сансарын холбоо, компакт диск тоглуулагч, DVD, диск драйв, SSD, 2 хэмжээст бар кодын апликэйшнүүдэд ашиглагддаг. Бүтэц Нарийвчилсан Примитив BCH код Өгөгдсөн анхдагч ба эерэг бүхэл тоо болон ( ) хязгаарлагдмал талбар дахь нарийвчилсан примитив BCH код (кодын урт ) ба минимум зай дор хаяж бөгөөд доорх аргын дагуу босгосон.

 -г   -ийн привитив элемэнт гэе. Ямар ч эерэг бүхэл тоо   нь   -ыг   -ийн хамгийн бага олон гишүүнт байлгах болно. BCH кодын олон гишүүнт үүсгэгч нь хамгийн бага ерөнхий хуваагдагч   -аар тодорхойлогддог.   нь   коеффициенттэй   -ийг хуваагч олон гишүүнт гэж болно. Тиймээс   ээр тодорхойлогдох олон гишүүнт код нь циклийн код юм.

Жишээ:

 ба   (иймд  ) гэе. Бид   -ийн өөр өөр утгуудыг авч үзэх болно. Мөн примитив язгуур   нь

-ийг биелүүлнэ. Үүний   ээс их хамгийн бага олон гишүүнт нь  .


 -д   тэгшитгэл багтана, эндээс  . Иймд   нь   -ийн язгуур тул   гэдгийг анхаарна уу.
 -ийг тооцоолохын тулд дараах шугаман тэгшитгэлүүд байна.

• • • • • Five right-hand-sides of length four нь шугаман хамааралтай байх ёстой ба гэсэн шугаман хамаарал олдоно. Үүнээс бага, зэргийн хамаарал байхгүй учир -ийн хамгийн бага олон гишүүнт нь юм. Үүнтэй ижилээр үргэлжлүүлбэл,



 -тэй BCH код олон гишүүнт үүсгэгч   -тэй байна.

Үүний минимум Hamming зай нь ядаж 3 ба 1 хүртэлх алдааг засдаг. Олон гишүүнт үүсгэгч нь 4н зэрэгтэй тул энэ код 11 дата бит ба 4 чексам биттэй.

 -тэй BCH кодын олон гишүүнт үүсгэгч:

Үүний минимум Hamming зай нь ядаж 5 ба 2 хүртэлх алдааг засдаг. Олон гишүүнт үүсгэгч нь 8 зэрэгтэй учир энэ код 7 дата бит ба 8 чексам биттэй.

  -тэй BCH кодын олон гишүүнт үүсгэгч:

Үүний минимум Hamming зай нь ядаж 7 ба 3 хүртэлх алдааг засдаг. Энэ код 5 дата бит ба 10 чексам биттэй.

 ба их BCH кодын олон гишүүнт үүсгэгч:

Үүний минимум Hamming зай 15 нь ядаж 15 ба 7н алдаа засдаг. Энэ нь 1 дата бит ба 14 чексам биттэй. Үнэндээ энэ код зөвхөн 2 код-үгтэй: 000000000000000 ба 111111111111111. Ерөнхий BCH кодууд Ерөнхий BCH кодууд нь примитив нарийвчилсан BCH кодуудаас 2 зүйлээрээ ялгаатай. Нэгт, нь -ийн примитив элемэнт байх шаардлага нь арай уян хатан байж болно. Шаардлагыг зөөлрүүлэхийн тулд кодын урт -ээс элемэнт -ийн дараалал -руу шилжинэ. Хоерт, олон гишүүнт үүсгэгчийн дараалсан язгуурууд нь -ын оронд байж болно. Тайлбар. дээд хүчтэй хязгаартай талбар -ыг зас. , мэтээр эерэг хувьсагч -ийг сонго. нь модул -ий урвуу дараалал. Өмнөхийн адилаар, -г -ийн примитив удаагийн язгуур, мөн -ийг бүх дахь -ийн -д хамгийн бага олон гишүүнт гэе. BCH кодын олон гишүүнт үүсгэгч нь -ийн хамгийн бага ерөнхий хуваагдагчаар тодорхойлогдоно. Санамж: Хэрэв хялбарчилсан тайлбар байгаагаар бол, нь автоматаар 1, модул -ийн дараалал автоматаар . Иймээс хялбарчилсан тайлбар нь үнэхээр ерөнхийгийн онцгой хэлбэр юм. Шинж төлөв 1. BCH кодын олон гишүүнт үүсгэгч нь хамгийн ихдээ зэрэгтэй. Нэмээд, хэрэв ба бол олон гишүүнт хамгийн ихдээ зэрэгтэй. Нотолгоо: Хураангуй олон гишүүнт бүр дээд тал нь зэрэгтэй. Иймд, -ийн хамгийн бага ерөнхий хувааглагч нь ихдээ зэрэгтэй. Хэрэв бол бүх -д байна. Иймд нь бүгд зэрэгтэй сондгой индексүүд дахь хамгийн ихдээ хураангуй олон гишүүнтийн хамгийн бага ерөнхий хуваагдагч болно. 2. BCH код нь хамгийн багадаа хураангуй Hamming зайтай. бол -ээс цөөн ба тэгтэй тэнцэхгүй нөхцөлтэй код үг гэж үзвэл:

 нь   -ийн язгуур, иймд  . Ингэснээр   -ийн хувьд   нь дараах тэгшитгэлүүдийг хангаж чадна.:
.

Матриц хэлбэрээр,

Матрицын тэнцвэрийн тодорхойлогч нь:

Матриц нь Вандермондын матриц ба тодорхойлогч нь тэгтэй тэнцэхгүй:

,

Үүнээс үндэслэн ба

3. BCH код нь циклийн.

Нотолгоо: урттай олон гишүүнт код нь циклийн бөгөөд түүний олон гишүүнт үүсгэгч нь -т хуваагдана. нь язгууртай хураангуй олон гишүүнт тул бүх нь -ийн язгуур эсэхийг шалгана. Эндээс шууд нь -ий нэгдэлийн язгуур гэж тодорхойлогдоно.

Онцгой тохиолдлууд • -тэй BCH код нь нарийвчилсан кодыг гэнэ • -тэй BCH кодыг примитив гэнэ. BCH кодын олон гишүүнт үүсгэгч нь коеффициенттэй. олон гишүүнт нь мөн нөхцөлд олон гишүүнтийн тойрогт хамаарагдана. Ерөнхийдөө олон гишүүнт үүсгэгчтэй циклийн кодыг Рийд-Соломон код гэнэ. Өөрөөр хэлбэл Рийд-Соломон код нь декодерийн альфабет нь сувгийн альфабеттай ижил байх BCH кодыг хэлнэ. Декодлох BCH кодыг задлах олон алгоритмууд байдаг. Хамгийн түгээмлүүд нь дараах ерөнхий хэлбэртэй: 1. Хүлээж авсан векторт синдром sj –ыг тооцоолно. 2. Синдромоос алдааны тоо t ба алдаа илрүүлэгч олон гишүүнт Λ(x) –г тодорхойлно. 3. Алдаатай газруудын олон гишүүнтийн язгуурыг тооцоолж алдаатай газрууд Xi –ыг олно 4. Алдаатай газрууд дахь алдааны утга Yi –ыг тооцоолно. 5. Алдааг засна Эдгээр алхамуудын үед, декодлох алгоритм нь хүлээж авсан вектор хэт олон алдаатай ба засагдах боломжгүй гэж тодорхойлж болно. Жишээ нь, хэрэв t –ийн таарах утга олдоогүй бол засвар амжилтгүй болно. Хэрэв хүлээж авсан вектор кодын засаж чадахаас илүү олон алдаатай бол декодер мэдэлгүйгээр илгээгдээгүй үнэн мэдээлэл боловсруулж байж болно. Синдромыг тооцоолох Хүлээж авсан вектор нь зөв код-үг ба үл мэдэгдэх алдаат вектор -ийн нийлбэр юм. Синдромын утгууд олон гишүүнт -д үнэлэгдэж байгаагаар үүсгэгдэнэ. Иймд синдромууд нь ээс ийн хувьд:


 нь   -ийн 0-үүд тул   нь хэд хэдэн  . Синдромын утгыг шалгах нь алдаатай векторыг тусгаарладаг. Хэрэв алдаа байхгүй бол бүх   нь  . Хэрэв бүх синдром 0 бол декодлох явц дуусна.

Олон гишүүнтийн алдаатай газрыг тооцоолох Хэрэв 0 биш синдром байвал алдаатай гэсэн үг. Декодлогч хэр олон алдаа байгаа ба алдааны байршлуудыг олох хэрэгтэй. Хэрэв ганц алдаа байвал , энд нь алдааны байршил, нь холбогдол. Эндээс эхний 2 синдром нь


Энэ 2 хамтдаа бидэнд -г тооцоолох боломжтой болгож -ийн тухай зарим мэдээллийг олж өгнө. (Reed-Solomon кодуудын хувьд бүрэн тодорхойлно.) Хэрэв 2 эсвэл олон алдаа байвал,

Үл мэдэгдэх ба -ийн синдромуудийг хэрхэн олох нь эхлээд шууд тодорхой биш. Энэ ажилд ашиглах 2 түгээмэл алгоритм бий. 1. Питерсон-Горенштэйи-Цирлер алгоритм 2. Берлекем-Массей алгоритм Питерсон-Горенштэйи-Цирлер алгоритм Питерсоны алгоритм нь ерөнхий BCH декодлох явцын 2р шат юм. Питерсоны алгоритмыг олон гишүүнтийн алдаа ологч коеффициент -ыг олоход ашиглана. Питерсон-Горенштэйи-Цирлер алгоритмын явц нь, алдааг засахад зориулагдан өгөгдсөн BCH код нь • Эхлээд 2t синдхомын матрицыг гаргаж авна • Дараа нь синдромын утгууд бүхий элемэнтүүдтай матрицыг гаргаж авна.


• Элемэнтүүдтэй векторыг гаргаж авна.

• -ээр үл мэдэгдэх олон гишүүнтийн коеффициетүүдийг нотлуулна.

• Матрицын тэгшитгэлээс:

• Хэрэв матрицын тодорхойлогч оршиж байвал энэ матрицын урвуу утгыг олж үл мэдэгдэх утгуудыг бодох боломжтой. • Хэрэв , бол дараах:

      if  
      then
            declare an empty error locator polynomial
            stop Peterson procedure.
      end
      set  
      continue from the beginning of Peterson's decoding

• -ийн утгуудыг олсны дараа олон гишүүнтийн алдаа заагч олдох болно. • Питерсоны явцыг дуусгана. Фактор олон гишүүнт алдаа ологч Одоо олон гишүүнт олдсон тул үүний язгуурыг хэлбэрт Чиений алгоримт ашиглан олж болно. Λ(x) ийн 0 үүд нь X1-1, ..., Xν-1. 0 үүд нь алдааны байршилын урвуу утгууд юм . Алдааны утгыг тооцоолох Алдааны байрлалууд олдсоны дараагийн алхам бол эдгээр байрлалууд дахь алдааны утгыг тогтоох. Алдааны утгууд нь дараа нь хүлээж авсан утгуудыг засаж жинхэнэ кодыг сэргээхэд ашиглагдана. 2тын BCH ийн хувьд энэ нь ялихгүй зүйл. Хүлээж авсан үгсийн битүүдийг эргүүлээд тавихад засагдсан кодыг гаргаж ирэх болно. Өөр тохиолдолд нь шугаман системээр тодорхойлогдож болно.


. . . Гэвч илүү үр дүнтэй арга нь Форнэйн алгоритм юм. Энэ нь Лагранжийн интерполд суурилсан. Эхлээд олон гишүүнтийн тэнцэтгэлийн алдааг олно.

Дараа нь алдааны утгыг бодно.

Нарийвчилсан BCH кодын хувьд, c = 1, иймд тэгшитгэл хураагдана: formal derivative of the error locator polynomial

Λ'(x) нь алдаа ологч Λ(x) ын хэлбэржсэн уламжлал:

For the formal derivative, the operation designates i additions of x; it is not the field's multiplication operation. Алдааг засах Алдааны утга ба байршлыг ашиглан алдааг засч засагдсан кодын вектор үүсгэнэ. Декодлох жишээ GF(24) –т -тэй дээр дурьдсан код -г тооцно. (Энэ үүсгэгч нь QR кодод ашиглагдана.) Зурвасыг [1 1 0 1 1], -руу шилжүүлэх буюу олон гишүүнтээр . Чексам симболуудыг -ийг -т хувааж гаргана. Энэ нь эсвэл [ 1 0 0 0 0 1 0 1 0 0 болно. Эдгээр нь зурваст хамаарна иймд хувирсан код нь [ 1 1 0 1 1 1 0 0 0 0 1 0 1 0 0 ]. Одоо энэ явцад 2 бит алдаа байгаа гэвал хүлээж авах код нь [ 1 0 0 1 1 1 0 0 0 1 1 0 1 0 0 ]. Олон гишүүнтээр:

Алдааг засахад эхлээд синдромуудыг тооцно. бол , s2 = 1001, s3 = 1011, s4 = 1101, s5 = 0001, ба s6 = 1001. Одоо Петерсоны үйлдэлийг эгнээ багасган дараах матрицд оруулна.

0 эгнээнээс болж S3×3 нь ганц тоо, учир нь зөвхөн 2 алдаа кодод агуулагдсан байсан. Гэвч матриц ын зүүн дээд буланд [S2×2 | C2×1], тай ижил ба энэ нь , болно. Үр дүнд нь алдаа ологч олон гишүүнт , болон -д 0 үүдтэй. -ийн урвуу утга нь алдааны байрлалтай адил. Энэ тохиолдолд алдааны утгыг олох шаардлагагүй, учир нь боломжит ганц утга нь 1 юмаа...