รหัสวงจรที่ง่ายที่สุด c ช่วยให้คุณตรวจจับข้อผิดพลาดเดี่ยวและข้อผิดพลาดของการคูณเลขคี่ พหุนามที่สร้างของโค้ดนี้มีรูปแบบ ในบรรดาพหุนามที่ลดไม่ได้ซึ่งรวมอยู่ในส่วนขยาย พหุนามนี้เป็นพหุนามที่มีระดับที่เล็กที่สุด ดังนั้น สำหรับบิตข้อมูลจำนวนเท่าใดก็ได้ จำเป็นต้องมีการตรวจสอบบิตเดียวเท่านั้น ค่าของสัญลักษณ์ของบิตนี้ช่วยให้มั่นใจได้ถึงความสม่ำเสมอของจำนวนในชุดรหัสที่อนุญาต รหัสแพริตีแบบวนที่เป็นผลลัพธ์สามารถตรวจจับได้ไม่เพียงแต่ข้อผิดพลาดเดียวในแต่ละบิต แต่ยังรวมถึงข้อผิดพลาดในจำนวนบิตคี่อีกด้วย
ตัวอย่าง. สร้างรหัสไซคลิกสำหรับ เนื่องจากพหุนามที่สร้างเป็นพหุนามของดีกรีที่ 1 ซึ่งเป็นจำนวนหลักตรวจสอบ ดังนั้น ในการสร้างรหัสไซคลิก เราจึงสร้างเมทริกซ์ที่สร้าง
ในการสร้างเมทริกซ์เพิ่มเติม เราจะค้นหาเศษที่เหลือจากการหารแถวสุดท้ายของเมทริกซ์ที่ย้ายหน่วย ซึ่งมีเลข 0 เสริมด้วยพหุนามที่เลือก:
ดังนั้นเมทริกซ์ C,k เพิ่มเติมจึงมีรูปแบบ
ตอนนี้เราสร้างเมทริกซ์กำเนิด
แถวของเมทริกซ์นี้คือชุดโค้ดสามชุดแรก ชุดค่าผสมที่เหลือสามารถรับได้โดยการรวมชุดค่าผสมที่เป็นไปได้ทั้งหมดของแถวเมทริกซ์แบบโมดูโล ผลลัพธ์ชุดค่าผสมโค้ดที่ถูกทำลายจะแสดงไว้ในตาราง 39.
ตารางที่ 39 (ดูการสแกน)
สิ่งที่น่าสนใจที่รู้จักกันดีคือการพิจารณาโค้ดที่ง่ายที่สุดต่อไปนี้ที่สร้างขึ้นโดยใช้พหุนามที่ลดไม่ได้ของดีกรีที่สอง
รูปแบบทั่วไปของเมทริกซ์การสร้างของรหัสไซคลิกที่เกิดจากพหุนามจะแตกต่างกันในโครงสร้างของเมทริกซ์เพิ่มเติมที่มีสองคอลัมน์
เป็นเรื่องง่ายที่จะตรวจสอบว่าเมื่อหารด้วยพหุนามที่สร้างที่กำหนด โมโนเมียลจะแสดงสตริง
เมทริกซ์เอกลักษณ์ (เพื่อหาเมทริกซ์เพิ่มเติม จะมีการสร้างเศษสามประเภท: 11, 01 และ 10 ดังนั้น น้ำหนักของการรวมกันของโค้ดผลลัพธ์แต่ละค่าจะมีอย่างน้อยสองค่า ระยะห่างของโค้ดขั้นต่ำระหว่างสองชุดค่าผสมใดๆ ก็เช่นกัน สอง แต่สิ่งที่ง่ายที่สุดนั้นมีลักษณะเฉพาะด้วยรหัสเดียวกันที่มีการตรวจสอบความเท่าเทียมกันหนึ่งรายการที่เกิดจากทวินามในระดับแรก อย่างไรก็ตาม ความสามารถในการแก้ไขของรหัสทั้งสองนั้นไม่เหมือนกัน เป็นไปได้ที่จะตรวจจับไม่เพียงแต่ข้อผิดพลาดใดๆ ของการคูณแบบคี่เท่านั้น แต่ยังรวมถึงข้อผิดพลาดที่จับคู่ติดกัน รวมถึงข้อผิดพลาดทั้งหมดที่แยกจากองค์ประกอบที่ไม่เสียหายองค์ประกอบเดียว
โค้ดแบบวนเป็นโค้ดเชิงเส้น ซึ่งเป็นเซตจำกัดที่ถูกปิดภายใต้การดำเนินการของการเปลี่ยนแปลงแบบวนของเวกเตอร์โค้ดที่ก่อตัวเป็นโค้ดนั้น ให้มันได้รับ n-มิติเวกเตอร์ โวลต์ = ก 0 ก 1 …หนึ่ง-1 พร้อมพิกัดจากสนามสุดท้าย เอฟ- การเปลี่ยนแปลงแบบวนเรียกว่าเวกเตอร์ วี"= ก n-1 ก 0 ก 1 … หนึ่ง -2 .
ลองพิจารณาดู n-ปริภูมิเลขคณิตมิติเหนือสนามกาลัวส์ กฟ(2). เวกเตอร์แต่ละตัว ก 0 ก 1 …หนึ่ง-1 จาก กฟ(2) เราสามารถเปรียบเทียบพหุนามแบบหนึ่งต่อหนึ่งได้ ก 0 +ก 1 x+…+หนึ่ง -1 เอ็กซ์เอ็น-1 โดยมีอัตราต่อรองจาก กฟ(2). ผลรวมของเวกเตอร์สองตัว ก 0 ก 1 …หนึ่ง-1 และ ข 0 ข 1 …บีเอ็น-1 ถูกจัดเรียงโดยสอดคล้องกับผลรวมของพหุนามที่สอดคล้องกับพวกมัน ผลคูณขององค์ประกอบสนามด้วยเวกเตอร์ - ผลคูณของพหุนามที่สอดคล้องกับเวกเตอร์นี้ด้วยองค์ประกอบ
ลองพิจารณาพหุนามกัน ก(x) จากปริภูมิเชิงเส้นที่อธิบายไว้ เซตของพหุนามทั้งหมดจากสับสเปซนี้ที่หารได้โดยไม่มีเศษเหลือ ก(x) สร้างสเปซย่อยเชิงเส้น สเปซย่อยเชิงเส้นกำหนดโค้ดเชิงเส้นบางส่วน
รหัสเชิงเส้นที่เกิดจากคลาสของพหุนาม ค(ก(x)) ผลคูณของพหุนามบางตัว ก(x) เรียกว่าพหุนามกำเนิด เรียกว่าพหุนาม
เรามาแสดงให้เห็นว่ารหัสพหุนามเกี่ยวข้องกันอย่างไร ค(ก(x)) และรหัสวงจร อนุญาต ก = ก 0 …หนึ่ง-1 คือคำรหัสบางส่วนและพหุนามรหัสที่สอดคล้องกัน ก(x) = ก 0 +...+หนึ่ง -1 เอ็กซ์เอ็น-1 . วงจรการเปลี่ยนแปลง ก" สอดคล้องกับรหัสพหุนาม ก"(x) = หนึ่ง -1 +ก 0 x+…+หนึ่ง -2 x n -1 ซึ่งสามารถแสดงในรูปของต้นฉบับ:
เนื่องจากรหัสพหุนามจะต้องหารด้วย ก(x) จากนั้นเพื่อให้มันเป็นวงจร นั่นคือพหุนาม ก"(x) ต้องหารด้วย ก(x- จากการพิจารณานี้ เราสามารถกำหนดทฤษฎีบทต่อไปนี้ได้ รหัสพหุนามจะเป็นแบบวนก็ต่อเมื่อเป็นพหุนามเท่านั้น ก(x) เป็นตัวหารของพหุนาม เอ็กซ์เอ็น-1. ในกรณีนี้คือพหุนาม ก(x) เรียกว่าพหุนามการสร้างของรหัสไซคลิก
ในทฤษฎีการเขียนโค้ด ทฤษฎีบทต่อไปนี้ได้รับการพิสูจน์แล้ว: ถ้าเป็นพหุนาม ก(x) มีวุฒิการศึกษา n–เคและเป็นตัวหาร เอ็กซ์เอ็น–1 จากนั้น ค(ก(x)) เป็นวงจรเชิงเส้น ( n, เค)-รหัส.
พหุนาม เอ็กซ์เอ็น–1 แยกตัวประกอบ เอ็กซ์เอ็น–1 = (x–1)(เอ็กซ์เอ็น -1 +เอ็กซ์เอ็น-1 +…+1) ดังนั้นจึงมีรหัสวงจรสำหรับรายการใดๆ n- จำนวนไซคลิก nรหัสบิตเท่ากับจำนวนตัวหารของพหุนาม เอ็กซ์เอ็น-1. ตารางส่วนขยายพหุนามได้รับการพัฒนาเพื่อสร้างรหัสวงจร เอ็กซ์เอ็น–1 เป็นพหุนามที่ลดทอนไม่ได้ กล่าวคือ เป็นพหุนามที่หารด้วยเอกภาพเท่านั้นและด้วยตัวมันเองเท่านั้น
ลองพิจารณาดูว่าโค้ดใดที่สามารถสร้างได้จากพหุนาม x 7-1 เหนือสนาม กฟ(2). การขยายตัวของพหุนามไปสู่ปัจจัยที่ลดไม่ได้นั้นมีรูปแบบ
เนื่องจากเป็นไปได้ที่จะสร้างตัวหารหกตัวของพหุนามได้ x 7–1 เมื่อรวมตัวหารที่ลดไม่ได้แล้ว จะได้รหัสไบนารี่ไซคลิกหกรหัส - n, เค)-code ถูกกำหนดโดยค่าเป็นอันดับแรก nและประการที่สอง ค่า เค = n – ส, ส– ระดับของตัวหารพหุนาม เอ็กซ์เอ็น–1 ซึ่งกำหนดรหัส ด้านล่างนี้คือตัวหารพหุนามและค่าที่เกี่ยวข้อง เค:
x – 1, ส=1, เค=6;
x 3 +x 2 +1, ส=3, เค=4;
x 3 +x+1, ส=3, เค=4;
(x–1)(x 3 +x 2 +1)=x 4 +x 2 +x+1, ส=4, เค=3;
(x–1)(x 3 +x+1)=x 4 +x 3 +x 2 +1, ส=4, เค=3;
(x 3 +x 2 +1)(x 3 +x+1)=x 6 +x 5 +x 4 +x 3 +x 2 +x, ส=6, เค=1.
รหัส (7, 6) มีสัญลักษณ์ตรวจสอบเพียงอันเดียว และรหัส (7, 1) มีสัญลักษณ์ข้อมูลเพียงอันเดียว ตามลำดับคือรหัสตรวจสอบความเท่าเทียมกันและรหัสการทำซ้ำ
เช่นเดียวกับโค้ดเชิงเส้นปกติ โค้ดแบบวนสามารถระบุได้โดยเมทริกซ์ตัวสร้าง ดังนั้นงานคือการค้นหาเมทริกซ์ดังกล่าวซึ่งก็คือการค้นหา เคการรวมโค้ดที่เป็นอิสระเชิงเส้นที่สร้างมันขึ้นมา เพื่อจุดประสงค์นี้ เราใช้คุณสมบัติของรหัสวงจรที่ถูกปิดโดยเกี่ยวข้องกับการดำเนินการกะแบบวน โปรดทราบว่าการเลื่อนไปทางขวาทีละตำแหน่งจะเทียบเท่ากับการคูณพหุนาม ก(x) บน x- จากนั้นสามารถสร้างเมทริกซ์กำเนิดได้โดยใช้พหุนามกำเนิดและ เคการเปลี่ยนแปลงแบบวัฏจักร:
ให้เราพิจารณาว่าอย่างไรโดยใช้พหุนามการสร้าง ก(x) = 1+x+xการเข้ารหัส 3 ดำเนินการด้วยรหัส (7, 4) ยกตัวอย่างเช่น คำขนาด 4 บิต (0101) ซึ่งสอดคล้องกับพหุนาม ฉ(x) = x + x 3. การคูณพหุนามสองตัวนี้
รหัสแบบวนเป็นรหัสกลุ่มเชิงเส้นประเภทหนึ่งและเป็นของรหัสที่เป็นระบบ เดิมทีถูกสร้างขึ้นเพื่อทำให้ขั้นตอนการถอดรหัสง่ายขึ้น อย่างไรก็ตาม ประสิทธิภาพสูงของโค้ดดังกล่าวในการตรวจจับข้อผิดพลาดทำให้มั่นใจได้ถึงการใช้งานอย่างแพร่หลายในทางปฏิบัติ สะดวกในการพิจารณาเวกเตอร์ไบนารี่ของรหัสไซคลิกไม่ใช่การรวมกันของศูนย์และจำนวน แต่เป็นพหุนามในระดับหนึ่ง
โดยที่ x เป็นฐานของระบบตัวเลข ค่าสัมประสิทธิ์ที่เป็นของเซตในกรณีของระบบเลขฐานสอง
ตัวอย่าง. เวกเตอร์ไบนารีสามารถแสดงเป็นพหุนามได้ดังนี้:
การแสดงเวกเตอร์ไบนารี่ในรูปแบบของพหุนามช่วยให้เราสามารถลดการดำเนินการกับเวกเตอร์เป็นการดำเนินการกับพหุนามได้ โดยที่:
การบวกพหุนามจะลดลงเหลือผลรวมแบบโมดูโลของ 2 สัมประสิทธิ์ที่มีกำลังเท่ากันของตัวแปร
การคูณจะดำเนินการตามกฎปกติสำหรับการคูณฟังก์ชันกำลัง แต่ค่าสัมประสิทธิ์ผลลัพธ์สำหรับกำลังที่กำหนดจะถูกเพิ่มแบบโมดูโล 2
การหารจะดำเนินการตามกฎสำหรับการแบ่งฟังก์ชันกำลัง และการดำเนินการลบจะถูกแทนที่ด้วยการรวมโมดูโล 2
ตัวอย่าง. ค้นหาผลรวมของพหุนาม
ค้นหาผลคูณของพหุนาม
ทำการหารพหุนาม
คุณสมบัติหลักของรหัสไซคลิกมีดังต่อไปนี้: หากเวกเตอร์อยู่ในรหัสไซคลิก เวกเตอร์ใดๆ ที่ได้รับจากเวกเตอร์ที่อยู่ระหว่างการพิจารณาโดยใช้การเปลี่ยนแปลงแบบไซคลิกก็จะเป็นของรหัสไซคลิกด้วย
แนวคิดในการสร้างรหัสแบบวนนั้นขึ้นอยู่กับแนวคิดของพหุนามที่ลดไม่ได้ พหุนามจะเรียกว่าลดไม่ได้หากหารด้วยตัวมันเองและตัวเดียวเท่านั้น และไม่สามารถหารด้วยพหุนามอื่นใดได้ กล่าวอีกนัยหนึ่ง พหุนามที่ลดไม่ได้ไม่สามารถแสดงเป็นผลคูณของพหุนามที่มีดีกรีต่ำกว่าได้ พหุนามสามารถหารด้วยพหุนามที่ลดไม่ได้โดยไม่มีเศษเหลือ พหุนามที่ลดไม่ได้มีบทบาทในการสร้างพหุนามในทฤษฎีรหัสวัฏจักร ประเภทของพหุนามที่ลดไม่ได้ขององศาต่างๆ ระบุไว้ใน
ตัวอย่างของพหุนามที่ลดไม่ได้:
เวกเตอร์รหัส Cyclic ถูกสร้างขึ้นตามกฎต่อไปนี้ อนุญาต เป็นเวกเตอร์ไบนารี่ของโค้ดธรรมชาติบางตัว - monomial ของดีกรี พหุนามที่ลดไม่ได้ของดีกรี จากนั้นเวกเตอร์ใด ๆ ของรหัสวงจรจะถูกสร้างขึ้นโดยใช้ความสัมพันธ์
ส่วนที่เหลือของแผนกอยู่ที่ไหน
ดังนั้นเวกเตอร์ของรหัสไซคลิกใด ๆ สามารถเกิดขึ้นได้โดยการคูณเวกเตอร์บางตัวของรหัสไบนารี่ธรรมชาติด้วยค่าเอกพจน์และเพิ่มส่วนที่เหลือของการหารลงในผลลัพธ์ที่ได้เมื่อสร้างรหัสไซคลิกโดยใช้วิธีการที่ระบุตำแหน่ง ของบิตข้อมูลในเวกเตอร์โค้ดแต่ละตัวจะถูกเรียงลำดับอย่างเคร่งครัด โดยจะครอบครองบิตสูงสุดของเวกเตอร์โค้ด และตัวเลขที่เหลือจะเป็นตัวเลขทดสอบ
ตัวอย่าง. เวกเตอร์ของรหัสไบนารี่ธรรมชาติมีรูปแบบ สร้างเวกเตอร์ของรหัสไซคลิกจากนิโกร โดยมีเงื่อนไขว่าพหุนามที่สร้างจะมีรูปแบบ
ลองแสดงเวกเตอร์เป็นพหุนามกัน
จากการหารพหุนามด้วยพหุนาม เราจะได้ส่วนที่เหลือ นั่นเป็นเหตุผล
รหัสแบบวน เช่นเดียวกับรหัสระบบอื่นๆ จะถูกระบุอย่างสะดวกในรูปแบบเมทริกซ์โดยใช้เมทริกซ์ที่สร้างของแบบฟอร์ม
โดยที่เมทริกซ์หน่วยที่ย้ายของรูปแบบคือ - เมทริกซ์ของเช็คดิจิตที่เกิดขึ้นจากส่วนที่เหลือของการหาร
ให้เรากำหนดเมทริกซ์การสร้างของรหัสไซคลิกด้วยความยาวของบิตข้อมูลและพหุนามการสร้าง
แน่นอนว่าเทมเพลตสำหรับเมทริกซ์การสร้างนั้นมีรูปแบบอยู่
ในการค้นหาแถวของเช็คบิตของเมทริกซ์ เราจะคำนวณและเขียนเวกเตอร์แต่ละตัวของเมทริกซ์เอกลักษณ์เป็นพหุนาม
ดังนั้นความยาวของเวกเตอร์รหัสวงจรจึงเท่ากับ
(ดูการสแกน)
เป็นผลให้เราได้รับเมทริกซ์การสร้าง C:
เวกเตอร์ใดๆ ของรหัสไซคลิกจะได้มาจากผลรวมของโหมดของเวกเตอร์ของเมทริกซ์ที่สร้าง เนื่องจากรหัสไซคลิกเป็นกลุ่ม ดังนั้นเวกเตอร์ศูนย์จึงถูกกำหนดให้กับรหัสไซคลิกเป็นองค์ประกอบหน่วยของกลุ่มเสมอ"
ตารางที่ 13.5
ตัวอย่าง. สร้างเวกเตอร์ทั้งหมดของรหัสไซคลิกที่กำหนดโดยเมทริกซ์การสร้าง
รหัสจะแสดงอยู่ในตาราง 13.5.
ควรสังเกตว่าแต่ละรหัสแบบวนที่ระบุโดยเมทริกซ์การสร้างที่แน่นอนสามารถแสดงได้หลายเวอร์ชันซึ่งแตกต่างกันในด้านความยาวและจำนวนบิตข้อมูล (ที่มีความสามารถในการตรวจจับเหมือนกัน) รูปแบบต่างๆ ของสิ่งที่เรียกว่ารหัสไซคลิกแบบสั้นเหล่านี้ได้มาจากการลบแถวสุดท้ายและจำนวนคอลัมน์ทางด้านซ้ายเท่ากันในเมทริกซ์การสร้างของรหัสไซคลิก ในกรณีนี้ จำนวนบิตตรวจสอบยังคงไม่เปลี่ยนแปลง และความยาวของโค้ดและจำนวนบิตข้อมูลของมันจะลดลงตามลำดับด้วยจำนวนเท่ากับจำนวนแถวและคอลัมน์ที่ถูกขีดฆ่าของเมทริกซ์การสร้าง
ตัวอย่าง รหัสไซคลิกถูกกำหนดโดยเมทริกซ์การสร้าง
ลองขีดฆ่าหกแถวสุดท้ายและหกคอลัมน์แรกจากทางซ้าย เราได้รับเมทริกซ์กำเนิด
คุณลักษณะ (ในแง่ของการตรวจจับข้อผิดพลาด) ของรหัสผลลัพธ์จะเหมือนกับรหัสวงจรที่แสดงโดยเมทริกซ์การสร้าง
การสร้างรหัสแบบวนรอบด้วยพารามิเตอร์ที่กำหนดนั้นสัมพันธ์กับการเลือกพหุนามที่สร้างแบบลดไม่ได้ พหุนามที่สร้างจะถูกเลือกตามเงื่อนไขต่อไปนี้: ระดับของพหุนามจะต้องเท่ากับจำนวนบิตตรวจสอบของรหัสวงจร
ในทางปฏิบัติ ปัญหามักเกิดจากการสร้างรหัสวงจรของกำลังที่กำหนดและความสามารถในการตรวจจับและแก้ไข
1. เนื่องจากได้รับพลังของรหัสไซคลิก จำนวนบิตข้อมูลจึงถูกกำหนดตามสูตร
2. จำนวนหลักตรวจสอบที่เหมาะสมของรหัสวงจรถูกกำหนดโดยใช้ตารางพิเศษ
3. การใช้หนังสืออ้างอิงจะพบพหุนามระดับปริญญาที่ลดไม่ได้ทั้งหมด
4. สำหรับพหุนามที่ไม่นำไฟฟ้าตัวใดตัวหนึ่ง (ควรเลือกพหุนามที่มีจำนวนเทอมสูงสุด) ของดีกรี เมทริกซ์การสร้างของรหัสไซคลิกจะถูกสร้างขึ้น เวกเตอร์โค้ดแต่ละตัวคำนวณโดยใช้สูตร
พหุนามของเวกเตอร์ข้อมูลของเมทริกซ์การสร้างอยู่ที่ไหน - monomial ของการศึกษาระดับปริญญา - ส่วนที่เหลือของการหาร
5. ตรวจสอบเมทริกซ์การสร้างที่สร้างขึ้นสำหรับเงื่อนไขต่อไปนี้:
ก) น้ำหนักในความหมายแฮมมิงของเวกเตอร์ใดๆ ของเมทริกซ์กำเนิดจะต้องเป็นไปตามความสัมพันธ์โดยที่เป็นระยะทางต่ำสุดในความหมายแฮมมิงของรหัสไซคลิกที่กำลังพิจารณา
b) น้ำหนักในความหมายแบบแฮมมิงของเช็คเวกเตอร์ ซึ่งเป็นผลรวมแบบโมดูโล 2 ของเวกเตอร์ตรวจสอบสองตัวใดๆ ของเมทริกซ์กำเนิด ต้องเป็นไปตามความสัมพันธ์
6. หากเมทริกซ์การสร้างของรหัสไซคลิกเป็นไปตามเงื่อนไขข้างต้นทั้งหมด เวกเตอร์ทั้งหมดของรหัสไซคลิกจะถูกเขียนและกำหนดตามกฎที่ทราบสำหรับรหัสกลุ่มเชิงเส้น หากรหัสไม่ตรงตามข้อกำหนด จะมีการเลือกพหุนามการสร้างอีกอันที่มีระดับเดียวกัน และขั้นตอนในการสร้างรหัสแบบวนซ้ำจะถูกทำซ้ำสำหรับพหุนามใหม่
มาสร้างโค้ดแบบวนด้วยเลขยกกำลัง 16 และความสามารถในการแก้ไขกันดีกว่า
สำหรับเรากำหนดมูลค่าโดย
3" จากหนังสืออ้างอิง เราจะพบพหุนามของดีกรีที่ลดไม่ได้ทั้งหมด มีพหุนามสองชื่อดังกล่าว:
4. เราเลือกพหุนามเป็นตัวสร้างเทมเพลตของเมทริกซ์การสร้างของโค้ดไซคลิกมีรูปแบบ
เราแสดงเวกเตอร์ข้อมูลแต่ละตัวจากเมทริกซ์เป็นพหุนาม
เรากำหนดเวกเตอร์ทั้งหมดของเมทริกซ์การสร้างอย่างสมบูรณ์โดยใช้สูตร
เนื่องจากความยาวของเวกเตอร์รหัสไซคลิก (ดูรูปแบบของเมทริกซ์การสร้างแล้ว
ในทำนองเดียวกัน เราจะพบเวกเตอร์อื่นๆ ทั้งหมดของเมทริกซ์กำเนิด
ตารางที่ 13.6
เป็นผลให้ได้เมทริกซ์การสร้าง C? รหัสวงจร
5. เมทริกซ์การสร้างผลลัพธ์เป็นไปตามเงื่อนไขที่จำเป็นทั้งหมด ดังนั้นเราจึงสร้างโค้ดไซคลิกที่สมบูรณ์ (ตาราง 13.6) ดังต่อไปนี้จากตาราง โค้ดจะเป็นไปตามข้อกำหนดของงาน
หมายเหตุ เมื่อใช้พหุนามที่ลดไม่ได้เป็นตัวสร้าง เราได้รับโค้ดที่ตรงตามข้อกำหนดของปัญหาด้วย เมทริกซ์กำเนิดของมันมีรูปแบบ
การตรวจจับข้อผิดพลาดโดยใช้รหัสวงจรดำเนินการดังนี้ เวกเตอร์ใดๆ ของรหัสไซคลิกจะถูกหารด้วยพหุนามที่สร้างโดยไม่มีเศษ ดังนั้น เกณฑ์สำหรับการมีอยู่ของข้อผิดพลาดในเวกเตอร์รหัสวงจรคือการปรากฏของเศษที่ไม่เป็นศูนย์จากการหารเวกเตอร์รหัสวงจรด้วยพหุนามที่สร้าง เศษที่เหลือที่ไม่ใช่ศูนย์เป็นตัวระบุข้อผิดพลาดในเวกเตอร์โค้ดแบบวน แต่ลักษณะที่ปรากฏไม่ได้ระบุตำแหน่งของข้อผิดพลาดในเวกเตอร์โค้ด การแก้ไขข้อผิดพลาดจะขึ้นอยู่กับอัลกอริทึมต่อไปนี้:
1. หารเวกเตอร์โค้ดที่ได้รับด้วยพหุนามที่สร้าง
หากจำนวนไม่เกินความสามารถในการแก้ไขของโค้ดให้เพิ่มเวกเตอร์โมดูโล 2 ที่ได้รับพร้อมกับส่วนที่เหลือที่เป็นผลลัพธ์ ผลลัพธ์ของการรวมจะให้เวกเตอร์รหัสที่ถูกต้อง หากจำนวนหน่วยที่เหลือมากกว่าความสามารถในการแก้ไขของโค้ด ให้เลื่อนเวกเตอร์ที่บิดเบี้ยวไปทางซ้ายหนึ่งบิตแบบวนรอบ แล้วหารด้วยพหุนามที่สร้าง หากผลส่วนที่เหลือมีหน่วยไม่เกินความสามารถในการแก้ไขของรหัสวงจร ให้รวมเวกเตอร์ที่เลื่อนแบบวนด้วยส่วนที่เหลือ ผลลัพธ์ของการรวมจะเลื่อนไปทางขวาหนึ่งหลักแบบวนรอบ เวกเตอร์ที่ได้จะไม่มีข้อผิดพลาดอีกต่อไปและเป็นเวกเตอร์ของรหัสวงจร
3. หากหลังจากการเปลี่ยนแปลงแบบวนครั้งแรกและการหารครั้งต่อไป ส่วนที่เหลือมีหน่วยมากกว่าความสามารถในการแก้ไขของรหัส ให้ทำซ้ำขั้นตอนอัลกอริทึมจนกว่าจะได้ส่วนที่เหลือด้วยจำนวนหน่วยที่ไม่เกินความสามารถในการแก้ไขของรหัส ในกรณีนี้ ผลลัพธ์ของการเปลี่ยนแปลงแบบวนครั้งล่าสุดจะถูกรวมเข้ากับส่วนที่เหลือ และเวกเตอร์ผลลัพธ์จะถูกเลื่อนแบบวนเป็นจำนวนบิตไปทางขวา ในขณะที่เวกเตอร์ต้นฉบับที่ได้รับซึ่งมีข้อผิดพลาดถูกเลื่อนไปทางซ้าย ผลลัพธ์ที่ได้คือเวกเตอร์โค้ดที่ถูกแก้ไข
ปล่อยให้รหัสไซคลิกถูกกำหนดโดยเมทริกซ์การสร้าง C และการสร้างพหุนาม โดยที่
รหัสมีค่า 3 เช่น แก้ไขข้อผิดพลาดหลายหลาก ให้ยอมรับเวกเตอร์ 0011101 แทนเวกเตอร์ 0001101 เพื่อแก้ไขข้อผิดพลาดเราดำเนินการดังต่อไปนี้ เราเขียนเวกเตอร์ที่ได้รับเป็นพหุนาม: แล้วหารด้วย
ส่วนที่เหลือที่ได้จากการหารประกอบด้วยสามหน่วย ซึ่งมากกว่าความสามารถในการแก้ไขโค้ด ดังนั้นเราจึงทำการเลื่อนแบบวนไปทางซ้ายด้วยเวกเตอร์โค้ดที่ได้รับหนึ่งบิต ส่งผลให้เราได้
เราแบ่งตาม
ผลลัพธ์ที่เหลือประกอบด้วยสองหน่วย ซึ่งมากกว่าความสามารถในการแก้ไขโค้ด ดังนั้นเราจึงทำการเปลี่ยนแปลงแบบวนอีกครั้งไปทางซ้ายด้วยเวกเตอร์โค้ดที่ได้รับหนึ่งบิต ส่งผลให้เราได้
เราแบ่งตาม
ผลลัพธ์ที่เหลือจะมีสองหน่วยอีกครั้ง ดังนั้นเราจึงทำการหมุนวนอีกครั้งไปทางซ้ายหนึ่งตำแหน่งแล้วหารด้วย
คลาสของโค้ดเชิงเส้นที่เรียกว่า รหัส Shaic- ชื่อนี้มาจากคุณสมบัติหลักของรหัสเหล่านี้: หากการรวมรหัสบางอย่างเป็นของรหัสแบบวน ดังนั้นการรวมกันที่ได้รับจากการเรียงสับเปลี่ยนแบบวนของชุดค่าผสมดั้งเดิม (การเปลี่ยนแปลงแบบวน) จะเป็นของรหัสนี้ด้วย:
คุณสมบัติที่สองของการผสมรหัสไซคลิกที่อนุญาตทั้งหมดคือการหารได้โดยไม่มีเศษเหลือด้วยพหุนามที่เลือกไว้บางส่วน เรียกว่า การสร้าง
คุณสมบัติเหล่านี้ใช้ในการสร้างโค้ดสำหรับอุปกรณ์เข้ารหัสและถอดรหัส ตลอดจนการตรวจจับและแก้ไขข้อผิดพลาด
รหัส Cyclic คือกลุ่มรหัสที่ทนต่อข้อผิดพลาด (หนึ่งในประเภทคือรหัส Hamming) ซึ่งให้ความยืดหยุ่นมากขึ้นในแง่ของความสามารถในการนำรหัสไปใช้ด้วยความสามารถที่จำเป็นในการตรวจจับและแก้ไขข้อผิดพลาดที่เกิดขึ้นเมื่อส่งชุดรหัสผ่าน ช่องทางการสื่อสาร รหัสแบบวนหมายถึงรหัสบล็อกที่เป็นระบบ (l, &) ซึ่ง ถึงตัวเลขตัวแรกแสดงถึงการรวมกันของรหัสหลักและตัวเลขถัดไป (l - ถึง)ตัวเลขคือการยืนยัน
การสร้างรหัสแบบวนขึ้นอยู่กับการดำเนินการหารการรวมรหัสที่ส่งโดยการสร้างพหุนามระดับที่ลดไม่ได้ ช.ส่วนที่เหลือของการหารจะใช้เพื่อสร้างตัวเลขตรวจสอบ ในกรณีนี้ การดำเนินการหารจะนำหน้าด้วยการดำเนินการคูณ ซึ่งจะเลื่อนชุดโค้ดข้อมูล ^-บิตไปทางซ้ายด้วย ชการปลดปล่อย
เมื่อถอดรหัสชุดรหัส n-bit ที่ได้รับ การหารจะดำเนินการอีกครั้งโดยการสร้างพหุนาม (การสร้าง การขึ้นรูป)
กลุ่มอาการของข้อผิดพลาดในรหัสเหล่านี้คือการมีเศษเหลืออยู่เมื่อการรวมรหัสที่ได้รับถูกหารด้วยพหุนามที่สร้าง ถ้าอาการเป็นศูนย์ก็ถือว่าไม่มีข้อผิดพลาด มิฉะนั้นเมื่อใช้กลุ่มอาการที่เกิดขึ้นคุณสามารถกำหนดหมายเลขหลักของชุดรหัสที่ได้รับซึ่งเกิดข้อผิดพลาดและแก้ไขได้
อย่างไรก็ตาม ไม่สามารถตัดความเป็นไปได้ที่จะเกิดข้อผิดพลาดหลายครั้งในชุดรหัสได้ ซึ่งอาจนำไปสู่การแก้ไขที่ผิดพลาด และ (หรือ) ความล้มเหลวในการตรวจจับข้อผิดพลาดเมื่อเปลี่ยนชุดค่าผสมที่ได้รับอนุญาตหนึ่งชุดเป็นชุดอื่น
ปล่อยให้จำนวนบิตทั้งหมดในบล็อกเท่ากับ i ซึ่งมีข้อมูลที่เป็นประโยชน์ ตบิต ดังนั้นในกรณีที่เกิดข้อผิดพลาด คุณสามารถแก้ไขบิต j ได้ การพึ่งพา 5 บน ปและ ตสำหรับรหัสสามารถกำหนดได้จากตาราง 2.6.
ตารางที่ 2.6
ขึ้นอยู่กับจำนวนบิตทั้งหมดของชุดค่าผสมกับจำนวนข้อมูลและบิตที่แก้ไข
เพิ่มความแตกต่าง (พี - ที)คุณไม่เพียงแต่สามารถเพิ่มจำนวนบิตที่ถูกแก้ไขเท่านั้น ส,แต่ยังต้องตรวจพบข้อผิดพลาดหลายประการด้วย เปอร์เซ็นต์ของข้อผิดพลาดที่ตรวจพบหลายรายการแสดงอยู่ในตาราง 2.7.
ตารางที่ 2.7
เปอร์เซ็นต์ของข้อผิดพลาดที่ตรวจพบหลายรายการ
สะดวกในการอธิบายรหัสวงจรและสร้างโดยใช้พหุนาม (หรือพหุนาม) การเขียนชุดค่าผสมในรูปแบบของพหุนามจะใช้เพื่อแสดงการดำเนินการของการเปลี่ยนแปลงแบบวนของชุดรหัสต้นฉบับในลักษณะที่เป็นทางการ ดังนั้นการรวมรหัส "-องค์ประกอบจึงสามารถอธิบายได้ด้วยพหุนาม (ป- 1) องศา:
ที่ไหนอ"_เจ =(0, 1) และก"_, =0 สอดคล้องกับองค์ประกอบศูนย์ของการรวมกัน d„ _, = 1 - ไม่ใช่ศูนย์;ฉัน- หมายเลขหลักของการรวมรหัส
ลองจินตนาการถึงพหุนามสำหรับชุดค่าผสม 4 องค์ประกอบเฉพาะ:
การดำเนินการของการบวกและการลบเทียบเท่าและเชื่อมโยงและดำเนินการแบบโมดูโล 2:
ตัวอย่างการดำเนินงาน:
การดำเนินการหารคือการหารพหุนามตามปกติ แต่แทนที่จะลบ จะใช้โมดูโล 2 เพิ่มเติมแทน:
การเปลี่ยนแบบวนของการรวมรหัส - การย้ายองค์ประกอบจากขวาไปซ้ายโดยไม่ละเมิดลำดับ เพื่อให้องค์ประกอบซ้ายสุดเข้ามาแทนที่องค์ประกอบขวาสุด
คุณสมบัติหลักและชื่อของรหัสแบบวนนั้นสัมพันธ์กับความจริงที่ว่าชุดค่าผสมของบิตที่อนุญาตทั้งหมดในข้อความที่ส่ง (codewords) สามารถได้รับโดยการสับเปลี่ยนรหัสต้นฉบับบางตัวแบบวนรอบ
สมมติว่ามีการกำหนดรหัสต้นฉบับและพหุนามที่สอดคล้องกัน:
มาคูณกัน โอ้)บน เอ็กซ์:
ตั้งแต่ระดับสูงสุด เอ็กซ์ในชุดรหัสความยาว ปไม่เกิน (l - 1) จากนั้นทางด้านขวาของนิพจน์ผลลัพธ์เพื่อให้ได้พหุนามดั้งเดิมจำเป็นต้องลบออก โอ้"- 1) การลบ โอ้"- 1) เรียกว่าการหาค่าโมดูโลส่วนที่เหลือ (xn - 1).
การเปลี่ยนแปลงของชุดค่าผสมดั้งเดิมด้วย / การวัดสามารถแสดงได้ดังนี้: ก(x) ?ยู - โอ้"- 1) กล่าวคือ การคูณ โอ้) x" และหาค่าโมดูโลส่วนที่เหลือ (x" - 1) การหาเศษที่เหลือเป็นสิ่งจำเป็นเมื่อได้พหุนามที่มีดีกรีมากกว่าหรือเท่ากับ ป.
แนวคิดในการสร้างรหัสแบบวนรอบนั้นขึ้นอยู่กับการใช้งาน พหุนามที่ลดไม่ได้พหุนามที่ลดไม่ได้คือพหุนามที่ไม่สามารถแสดงเป็นผลคูณของพหุนามที่มีดีกรีต่ำกว่าได้ เช่น หารได้เพียงตัวมันเองหรือตัวเดียวเท่านั้น และไม่สามารถหารด้วยพหุนามอื่นได้ ค่าทวินาม (x" + 1) สามารถหารด้วยพหุนามดังกล่าวได้โดยไม่มีเศษ ส่วนพหุนามที่ลดไม่ได้ในทฤษฎีรหัสวัฏจักรมีบทบาทในการสร้างพหุนาม
กลับไปที่คำจำกัดความของรหัสแบบวนและคำนึงถึงการบันทึกการดำเนินการกะแบบวนของการรวมรหัส เราสามารถเขียนเมทริกซ์การสร้างของรหัสแบบวนในรูปแบบต่อไปนี้:
ที่ไหนพี(เอ็กซ์)- การรวมรหัสต้นฉบับบนพื้นฐานของการได้มาซึ่งรหัสอื่น ๆ ทั้งหมด(ท- 1) ชุดค่าผสมพื้นฐาน
ค = 0 หรือซีเจ =1 (“O” ถ้าเป็นดีกรีผลลัพธ์ของพหุนามR(x)-x'ไม่เกิน (l - 1) หรือ "1" - หากเกิน)
การผสมผสาน พี(เอ็กซ์)เรียกว่าเครื่องกำเนิด (เครื่องกำเนิดไฟฟ้า) รวมกัน หากต้องการสร้างรหัสแบบวนก็เพียงพอที่จะเลือกให้ถูกต้อง พี(เอ็กซ์)จากนั้นการผสมรหัสอื่นๆ ทั้งหมดจะเหมือนกับรหัสกลุ่ม
พหุนามการสร้างจะต้องเป็นไปตามข้อกำหนดต่อไปนี้:
การปฏิบัติตามเงื่อนไขสุดท้ายนำไปสู่ความจริงที่ว่าการรวมรหัสการทำงานทั้งหมดของรหัสวงจรได้รับคุณสมบัติที่หารด้วย พี(เอ็กซ์)ไร้ร่องรอย เมื่อคำนึงถึงเรื่องนี้แล้ว เราสามารถให้คำจำกัดความอีกประการหนึ่งของรหัสไซคลิกได้: รหัสไซคลิกคือรหัสที่ชุดค่าผสมการทำงานทั้งหมดหารด้วยพหุนามที่สร้างโดยไม่มีเศษเหลือ
ในการกำหนดระดับของการสร้างพหุนาม คุณสามารถใช้นิพจน์ r > log 2 (และ + 1) ที่ไหน ป- ขนาดของแพ็กเก็ตที่ส่งในแต่ละครั้ง เช่น ความยาวของรหัสไซเคิลที่ถูกสร้างขึ้น
ตัวอย่างการสร้างพหุนามแสดงไว้ในตารางที่ 1 2.8.
ตารางที่ 2.8
ตัวอย่างการสร้างพหุนาม
อัลกอริธึมสำหรับการรับชุดรหัสแบบวนที่ได้รับอนุญาตจากชุดรหัสแบบง่ายมีดังนี้
อนุญาติให้เป็นพหุนาม P(x) = ก. _ ( x ก. + ก. _ 2 x g ~ 1 + ... + 1 ซึ่งกำหนดความสามารถในการแก้ไขโค้ดและจำนวนบิตตรวจสอบ ถึง,เช่นเดียวกับการผสมผสานดั้งเดิมของรหัสองค์ประกอบอย่างง่ายและบิตข้อมูลในรูปแบบของพหุนาม เสื้อ(x)
จำเป็นต้องกำหนดชุดรหัสไซคลิกที่อนุญาต (และ ถึง).
พหุนาม:
เราแสดงว่าส่วนที่เหลือของการหารเป็น ร(เอ็กซ์)
3. ในที่สุดก็แก้ไขการรวมรหัสแบบวนรอบ
รหัสจะถูกกำหนดเป็น = แล้วที(x)? xr + R(x)
เพื่อระบุข้อผิดพลาดในการรวมรหัสที่ได้รับ ก็เพียงพอที่จะหารด้วยพหุนามที่สร้าง หากการรวมกันที่ยอมรับนั้นถูกกฎหมาย ส่วนที่เหลือของการหารจะเป็นศูนย์ ส่วนที่เหลือที่ไม่ใช่ศูนย์แสดงว่าชุดค่าผสมที่ยอมรับมีข้อผิดพลาด ขึ้นอยู่กับประเภทของสารตกค้าง (ซินโดรม) ในบางกรณี ยังสามารถสรุปเกี่ยวกับลักษณะของข้อผิดพลาดและตำแหน่งของข้อผิดพลาดและแก้ไขข้อผิดพลาดได้
อัลกอริธึมการตรวจจับข้อผิดพลาดมีดังนี้
ให้ "-องค์ประกอบรวมกัน ( n = k + t)
เกี่ยวกับข้อผิดพลาด
2. หารผลลัพธ์พหุนาม #(x) = ล„_,(เอ็กซ์) 0 ตร (x) ไปยังเครื่องกำเนิด R ก. (x): W-1 = ร(x)ที่ไหน อาร์(เอ็กซ์)- ยอดเงินปัจจุบัน.
3. เปรียบเทียบ LDx) และ ร(เอ็กซ์)หากเท่ากัน แสดงว่าเกิดข้อผิดพลาดในบิตที่สำคัญที่สุด ถ้าไม่ ให้เพิ่มดีกรีของพหุนามที่ยอมรับด้วย x แล้วหารอีกครั้ง:
4. เปรียบเทียบผลลัพธ์ที่เหลือด้วย Rq(x) หากเท่ากันแสดงว่าเกิดข้อผิดพลาดในหลักที่สอง หากไม่เท่ากันก็ให้คูณ ชู่ว) x 2 และทำซ้ำการดำเนินการเหล่านี้จนกว่าเราจะได้
ร(x) =นรก.
ข้อผิดพลาดจะเป็นตัวเลขที่สอดคล้องกับตัวเลขที่ระดับเพิ่มขึ้น ชช),บวก 1 เช่น กรณีเท่ากัน อาร์(เอ็กซ์)และ LDx)
สอดคล้องกับคำนี้จากตัวแปรที่เป็นทางการ x- จะเห็นได้ว่าการติดต่อนี้ไม่ได้เป็นเพียงการติดต่อแบบหนึ่งต่อหนึ่งเท่านั้น แต่ยังรวมถึง isomorphic ด้วย เนื่องจาก "คำ" ประกอบด้วยตัวอักษรจากฟิลด์นี้ จึงสามารถเพิ่มและคูณได้ (ทีละองค์ประกอบ) และผลลัพธ์จะอยู่ในฟิลด์เดียวกัน พหุนามที่สอดคล้องกับการรวมเชิงเส้นของคำคู่หนึ่งและเท่ากับการรวมเชิงเส้นของพหุนามของคำเหล่านี้
สิ่งนี้ช่วยให้เราสามารถพิจารณาเซตของคำที่มีความยาว n บนสนามจำกัดเป็นปริภูมิเชิงเส้นของพหุนามที่มีดีกรีมากที่สุด n-1 เหนือสนาม
หากคำรหัสที่ได้รับโดยการเลื่อนบิตไปทางขวาหนึ่งบิตจากคำว่า แล้วพหุนามที่สอดคล้องกันของคำนั้น ค 1 (x) ได้มาจากอันก่อนหน้าโดยการคูณด้วย x:
โดยใช้ประโยชน์จากความจริงที่ว่า
เลื่อนไปทางขวาและซ้ายตามลำดับโดย เจอันดับ:
ถ้า ม(x) - พหุนามตามอำเภอใจเหนือสนาม ชเอฟ(ถาม) และ ค(x) - รหัสคำของวัฏจักร ( n,เค) จากนั้น ม(x)ค(x)มโอง(x n − 1) ยังเป็นคำรหัสสำหรับรหัสนี้
คำนิยามพหุนามการสร้างของวงจร ( n,เค) รหัส คพหุนามที่ไม่เป็นศูนย์เช่นนี้เรียกว่า จาก คซึ่งมีดีกรีน้อยที่สุดและมีสัมประสิทธิ์ดีกรีสูงสุด ก ร = 1
.
ทฤษฎีบท 1
ถ้า ค- วงจร ( n,เค) รหัสและ ก(x) คือพหุนามกำเนิดของมัน ตามด้วยดีกรี ก(x) เท่ากับ ร = n − เค และแต่ละคำรหัสสามารถแสดงได้ไม่ซ้ำกันในแบบฟอร์ม
ค(x) = ม(x)ก(x) ,
ปริญญาอยู่ที่ไหน ม(x) น้อยกว่าหรือเท่ากับ เค − 1 .
ทฤษฎีบท 2
ก(x) - การสร้างพหุนามของวงจร ( n,เค) รหัสเป็นตัวหารของทวินาม x n − 1
ผลที่ตามมา:ด้วยเหตุนี้ จึงสามารถเลือกตัวหารพหุนามใดๆ ให้เป็นพหุนามที่สร้างได้ x n− 1 . ระดับของพหุนามที่เลือกจะกำหนดจำนวนสัญลักษณ์ทดสอบ ร, จำนวนสัญลักษณ์ข้อมูล เค = n − ร .
พหุนามมีความเป็นอิสระเชิงเส้น มิฉะนั้น ม(x)ก(x) = 0 สำหรับค่าที่ไม่ใช่ศูนย์ ม(x) ซึ่งเป็นไปไม่ได้
ซึ่งหมายความว่าสามารถเขียนโค้ดเวิร์ดได้สำหรับโค้ดเชิงเส้นดังนี้:
, ที่ไหน ชเป็น การสร้างเมทริกซ์, ม(x)
- ข้อมูลพหุนาม
เมทริกซ์ ชสามารถเขียนเป็นสัญลักษณ์ได้ดังนี้
สำหรับแต่ละรหัสของรหัสวงจร . นั่นเป็นเหตุผล ตรวจสอบเมทริกซ์สามารถเขียนเป็น:
ด้วยการเข้ารหัสที่ไม่เป็นระบบ คำรหัสจะได้มาในรูปแบบของผลคูณของพหุนามข้อมูลโดยการสร้างพหุนาม
ค(x) = ม(x)ก(x) .
สามารถนำไปใช้ได้โดยใช้ตัวคูณพหุนาม
ด้วยการเข้ารหัสอย่างเป็นระบบ คำรหัสจะถูกสร้างขึ้นในรูปแบบของบล็อกย่อยข้อมูลและการตรวจสอบ
ให้คำข้อมูลสร้างพลังที่สูงกว่าของคำรหัสแล้ว
ค(x) = x ร ม(x) + ส(x),ร = n − เค
แล้วจากเงื่อนไขเป็นไปตามนั้น
สมการนี้กำหนดกฎสำหรับการเข้ารหัสอย่างเป็นระบบ สามารถนำไปใช้ได้โดยใช้ตัวกรองเชิงเส้นหลายรอบ (MLF)
เป็นตัวแบ่ง x 7 − 1 เราเลือกพหุนามกำเนิดของดีกรีที่สาม ก(x) = x 3 + x + 1 จากนั้นโค้ดที่ได้จะมีความยาว n= 7 จำนวนสัญลักษณ์ทดสอบ (ระดับการสร้างพหุนาม) ร= 3 จำนวนสัญลักษณ์ข้อมูล เค= 4 ระยะทางต่ำสุด ง = 3 .
เมทริกซ์เครื่องกำเนิดรหัส:
,
โดยที่บรรทัดแรกคือสัญกรณ์พหุนาม ก(x) สัมประสิทธิ์ตามลำดับที่เพิ่มขึ้น เส้นที่เหลือคือการเปลี่ยนแปลงแบบวนของบรรทัดแรก
ตรวจสอบเมทริกซ์:
,
โดยที่คอลัมน์ที่ i ซึ่งเริ่มต้นจาก 0 แสดงถึงส่วนที่เหลือของการหาร x ฉันเป็นพหุนาม ก(x) เขียนโดยเรียงจากน้อยไปหามากโดยเริ่มจากด้านบน
ตัวอย่างเช่น ได้รับคอลัมน์ที่ 3 หรือในรูปแบบเวกเตอร์
มันง่ายที่จะตรวจสอบสิ่งนั้น ชชม ต = 0 .
เป็นพหุนามกำเนิด ก(x) คุณสามารถเลือกผลคูณของตัวหารสองตัวได้ x 15 − 1 ^
ก(x) = ก 1 (x)ก 2 (x) = (x 4 + x + 1)(x 4 + x 3 + x 2 + x + 1) = x 8 + x 7 + x 6 + x 4 + 1 .
จากนั้นแต่ละรหัสสามารถรับได้โดยใช้ผลคูณของพหุนามข้อมูล ม(x) มีวุฒิการศึกษา เค− 1 ดังนี้:
ค(x) = ม(x)ก(x) .
ตัวอย่างเช่น คำข้อมูลสอดคล้องกับพหุนาม ม(x) = x 6 + x 5 + x 4 + 1 แล้วตามด้วยรหัสคำ ค(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 หรือในรูปแบบเวกเตอร์
มูลนิธิวิกิมีเดีย 2010.
รหัสวงจรสั้นลง- - [แอล.จี. ซูเมนโก พจนานุกรมภาษาอังกฤษเป็นภาษารัสเซียเกี่ยวกับเทคโนโลยีสารสนเทศ อ.: รัฐวิสาหกิจ TsNIIS, 2546.] หัวข้อเทคโนโลยีสารสนเทศโดยทั่วไป EN รหัสวงจรสั้นลง ...
รหัสรีด-โซโลมอน- รหัสวัฏจักรที่ไม่ใช่ไบนารีที่ช่วยให้คุณแก้ไขข้อผิดพลาดในบล็อคข้อมูล องค์ประกอบของโค้ดเวกเตอร์ไม่ใช่บิต แต่เป็นกลุ่มของบิต (บล็อก) รหัส Reed Solomon ที่ทำงานกับไบต์ (octets) เป็นเรื่องธรรมดามาก รหัสของรีด โซโลมอนคือ... วิกิพีเดีย
รหัสโกเลย์- กลุ่มโค้ดบล็อกเชิงเส้นที่สมบูรณ์แบบพร้อมการแก้ไขข้อผิดพลาด สิ่งที่มีประโยชน์ที่สุดคือรหัสไบนารี่ของ Golay รหัสไตรนารีโกเลย์ยังเป็นที่รู้จัก รหัส Golay ถือได้ว่าเป็นรหัสแบบวน - คู่มือนักแปลด้านเทคนิค
ข้อผิดพลาดในการแก้ไขรหัส
รหัสแก้ไขข้อผิดพลาด- การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสาร การดำเนินการที่มุ่งตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการแก้ไขข้อผิดพลาด (error Correction) ขั้นตอนการกู้คืนข้อมูลหลัง... ... Wikipedia
ข้อผิดพลาดในการแก้ไขรหัส- การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสาร การดำเนินการที่มุ่งตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการแก้ไขข้อผิดพลาด (error Correction) ขั้นตอนการกู้คืนข้อมูลหลัง... ... Wikipedia