กระบวนการเข้ารหัสแบบวนรอบ รหัสแบบวน ตรวจสอบว่ารหัสเป็นแบบวนหรือไม่

21.03.2022

รหัสวงจรที่ง่ายที่สุด 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" - หากเกิน)

การผสมผสาน พี(เอ็กซ์)เรียกว่าเครื่องกำเนิด (เครื่องกำเนิดไฟฟ้า) รวมกัน หากต้องการสร้างรหัสแบบวนก็เพียงพอที่จะเลือกให้ถูกต้อง พี(เอ็กซ์)จากนั้นการผสมรหัสอื่นๆ ทั้งหมดจะเหมือนกับรหัสกลุ่ม

พหุนามการสร้างจะต้องเป็นไปตามข้อกำหนดต่อไปนี้:

  • พี(เอ็กซ์)ต้องไม่เป็นศูนย์
  • น้ำหนัก ป(x) ต้องไม่น้อยกว่าระยะโค้ดขั้นต่ำ: V(P(x)) > d มม. ;
  • พี(เอ็กซ์)ต้องมีระดับสูงสุด เค (เค -จำนวนองค์ประกอบที่ซ้ำซ้อนในโค้ด)
  • พี(เอ็กซ์)ต้องเป็นตัวหารของพหุนาม (x" - 1)

การปฏิบัติตามเงื่อนไขสุดท้ายนำไปสู่ความจริงที่ว่าการรวมรหัสการทำงานทั้งหมดของรหัสวงจรได้รับคุณสมบัติที่หารด้วย พี(เอ็กซ์)ไร้ร่องรอย เมื่อคำนึงถึงเรื่องนี้แล้ว เราสามารถให้คำจำกัดความอีกประการหนึ่งของรหัสไซคลิกได้: รหัสไซคลิกคือรหัสที่ชุดค่าผสมการทำงานทั้งหมดหารด้วยพหุนามที่สร้างโดยไม่มีเศษเหลือ

ในการกำหนดระดับของการสร้างพหุนาม คุณสามารถใช้นิพจน์ r > log 2 (และ + 1) ที่ไหน - ขนาดของแพ็กเก็ตที่ส่งในแต่ละครั้ง เช่น ความยาวของรหัสไซเคิลที่ถูกสร้างขึ้น

ตัวอย่างการสร้างพหุนามแสดงไว้ในตารางที่ 1 2.8.

ตารางที่ 2.8

ตัวอย่างการสร้างพหุนาม

อัลกอริธึมสำหรับการรับชุดรหัสแบบวนที่ได้รับอนุญาตจากชุดรหัสแบบง่ายมีดังนี้

อนุญาติให้เป็นพหุนาม P(x) = ก. _ ( x ก. + ก. _ 2 x g ~ 1 + ... + 1 ซึ่งกำหนดความสามารถในการแก้ไขโค้ดและจำนวนบิตตรวจสอบ ถึง,เช่นเดียวกับการผสมผสานดั้งเดิมของรหัสองค์ประกอบอย่างง่ายและบิตข้อมูลในรูปแบบของพหุนาม เสื้อ(x)

จำเป็นต้องกำหนดชุดรหัสไซคลิกที่อนุญาต (และ ถึง).

  • 1. เราแสดงชุดรหัสต้นฉบับเป็นพหุนาม เสื้อ(x)คูณพหุนามของชุดรหัสต้นฉบับด้วย x g: เสื้อ (x) เอ็กซ์ ก.ระดับของพหุนามกำเนิด เท่ากับค่าของบิตที่สำคัญที่สุดของชุดโค้ดต้นฉบับ
  • 2. เรากำหนดบิตตรวจสอบที่เสริมการรวมข้อมูลดั้งเดิมเข้ากับบิตที่อนุญาต เนื่องจากส่วนที่เหลือของการแบ่งผลิตภัณฑ์ที่ได้รับในย่อหน้าก่อนหน้าด้วยบิตที่สร้าง

พหุนาม:

เราแสดงว่าส่วนที่เหลือของการหารเป็น ร(เอ็กซ์)

3. ในที่สุดก็แก้ไขการรวมรหัสแบบวนรอบ

รหัสจะถูกกำหนดเป็น = แล้วที(x)? xr + R(x)

เพื่อระบุข้อผิดพลาดในการรวมรหัสที่ได้รับ ก็เพียงพอที่จะหารด้วยพหุนามที่สร้าง หากการรวมกันที่ยอมรับนั้นถูกกฎหมาย ส่วนที่เหลือของการหารจะเป็นศูนย์ ส่วนที่เหลือที่ไม่ใช่ศูนย์แสดงว่าชุดค่าผสมที่ยอมรับมีข้อผิดพลาด ขึ้นอยู่กับประเภทของสารตกค้าง (ซินโดรม) ในบางกรณี ยังสามารถสรุปเกี่ยวกับลักษณะของข้อผิดพลาดและตำแหน่งของข้อผิดพลาดและแก้ไขข้อผิดพลาดได้

อัลกอริธึมการตรวจจับข้อผิดพลาดมีดังนี้

ให้ "-องค์ประกอบรวมกัน ( n = k + t)

  • 1. เราระบุการมีอยู่ของข้อผิดพลาด เราได้ส่วนที่เหลือของการแบ่งชุดค่าผสมที่ยอมรับ ญ -(x)ไปจนถึงพหุนามกำเนิด ป(x): ก(เอ็กซ์)
  • --- = Rคิว(x) ความพร้อมของความสมดุล R0(x)ที่ (L 0 (x) ฉ 0) บ่งชี้ พี(เอ็กซ์)

เกี่ยวกับข้อผิดพลาด

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)

ตัวอย่าง

รหัสไบนารี่ (7,4,3)

เป็นตัวแบ่ง x 7 − 1 เราเลือกพหุนามกำเนิดของดีกรีที่สาม (x) = x 3 + x + 1 จากนั้นโค้ดที่ได้จะมีความยาว n= 7 จำนวนสัญลักษณ์ทดสอบ (ระดับการสร้างพหุนาม) = 3 จำนวนสัญลักษณ์ข้อมูล เค= 4 ระยะทางต่ำสุด = 3 .

เมทริกซ์เครื่องกำเนิดรหัส:

,

โดยที่บรรทัดแรกคือสัญกรณ์พหุนาม (x) สัมประสิทธิ์ตามลำดับที่เพิ่มขึ้น เส้นที่เหลือคือการเปลี่ยนแปลงแบบวนของบรรทัดแรก

ตรวจสอบเมทริกซ์:

,

โดยที่คอลัมน์ที่ i ซึ่งเริ่มต้นจาก 0 แสดงถึงส่วนที่เหลือของการหาร x ฉันเป็นพหุนาม (x) เขียนโดยเรียงจากน้อยไปหามากโดยเริ่มจากด้านบน

ตัวอย่างเช่น ได้รับคอลัมน์ที่ 3 หรือในรูปแบบเวกเตอร์

มันง่ายที่จะตรวจสอบสิ่งนั้น ชม = 0 .

รหัสไบนารี่ (15,7,5) BCH

เป็นพหุนามกำเนิด (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.

  • รูปแบบวงจรในดนตรี
  • เงื่อนไขขอบเขตวงจร

ดูว่า "รหัส Cyclic" ในพจนานุกรมอื่นๆ คืออะไร:

    รหัสวงจรสั้นลง- - [แอล.จี. ซูเมนโก พจนานุกรมภาษาอังกฤษเป็นภาษารัสเซียเกี่ยวกับเทคโนโลยีสารสนเทศ อ.: รัฐวิสาหกิจ TsNIIS, 2546.] หัวข้อเทคโนโลยีสารสนเทศโดยทั่วไป EN รหัสวงจรสั้นลง ...

    รหัสรีด-โซโลมอน- รหัสวัฏจักรที่ไม่ใช่ไบนารีที่ช่วยให้คุณแก้ไขข้อผิดพลาดในบล็อคข้อมูล องค์ประกอบของโค้ดเวกเตอร์ไม่ใช่บิต แต่เป็นกลุ่มของบิต (บล็อก) รหัส Reed Solomon ที่ทำงานกับไบต์ (octets) เป็นเรื่องธรรมดามาก รหัสของรีด โซโลมอนคือ... วิกิพีเดีย

    รหัสโกเลย์- กลุ่มโค้ดบล็อกเชิงเส้นที่สมบูรณ์แบบพร้อมการแก้ไขข้อผิดพลาด สิ่งที่มีประโยชน์ที่สุดคือรหัสไบนารี่ของ Golay รหัสไตรนารีโกเลย์ยังเป็นที่รู้จัก รหัส Golay ถือได้ว่าเป็นรหัสแบบวน - คู่มือนักแปลด้านเทคนิค

    ข้อผิดพลาดในการแก้ไขรหัส

    รหัสแก้ไขข้อผิดพลาด- การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสาร การดำเนินการที่มุ่งตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการแก้ไขข้อผิดพลาด (error Correction) ขั้นตอนการกู้คืนข้อมูลหลัง... ... Wikipedia

    ข้อผิดพลาดในการแก้ไขรหัส- การตรวจจับข้อผิดพลาดในเทคโนโลยีการสื่อสาร การดำเนินการที่มุ่งตรวจสอบความสมบูรณ์ของข้อมูล เมื่อบันทึก/ทำซ้ำข้อมูล หรือเมื่อส่งข้อมูลผ่านสายการสื่อสาร ขั้นตอนการแก้ไขข้อผิดพลาด (error Correction) ขั้นตอนการกู้คืนข้อมูลหลัง... ... Wikipedia