กลับไปหน้าบทความ

อ่าน 16 นาที

รหัสวงจร

ใน ทฤษฎีการเข้ารหัส รหัส แบบวงจร (cyclic code) คือ รหัสแบบบล็อก โดย การเลื่อนแบบวงกลม ของแต่ละคำรหัสจะให้คำอื่นที่อยู่ในรหัสเดียวกัน รหัสเหล่านี้เป็น รหัสแก้ไขข้อผิดพลาด...

รหัสวงจร

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

ถ้า 00010111 เป็นรหัสคำที่ถูกต้อง การใช้การเลื่อนบิตแบบวงกลมขวาจะให้สตริง 10001011 ถ้าโค้ดเป็นแบบวนรอบ 10001011 ก็จะเป็นรหัสคำที่ถูกต้องอีกครั้ง โดยทั่วไป การใช้การเลื่อนบิตแบบวงกลมขวาจะย้ายบิตที่มีค่าต่ำที่สุด (LSB) ไปยังตำแหน่งซ้ายสุด เพื่อให้กลายเป็นบิตที่มีค่าสูงสุด (MSB) ส่วนตำแหน่งอื่นๆ จะเลื่อนไปทางขวา 1 ตำแหน่ง

คำนิยาม

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

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

โครงสร้างพีชคณิต

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

ถ้าเป็นรหัสแบบวัฏจักรรหัสคู่ก็จะเป็นรหัสแบบวัฏจักรเช่นกัน พหุนามตัวสร้างสำหรับเรียกอีกอย่างว่าพหุนามตรวจสอบความเท่าเทียมกันหรือพหุนามตรวจสอบสำหรับ นอกจาก นี้ยังสามารถแสดงได้ว่าโดยที่หมายถึงพหุนามผกผันของ[ 2 ]

เอกลักษณ์ของคือรหัสคำที่(นั่นคือเป็นองค์ประกอบเอกลักษณ์ของ) และเป็นเอกลักษณ์สำหรับรหัส นั่นคือสำหรับทุกรหัสคำถ้าและเป็นจำนวนเฉพาะสัมพัทธ์คำดังกล่าวจะมีอยู่เสมอและเป็นเอกลักษณ์[ 3 ]มันเป็นตัวสร้างของรหัส

รหัสที่ไม่สามารถลดทอนได้ (Irreducible code)คือรหัสแบบวัฏจักร (cyclic code) ซึ่งตัวรหัสเองในฐานะที่เป็นไอเดียล (ideal) นั้นไม่สามารถลดทอนได้ กล่าวคือ มีค่าต่ำสุดในดังนั้นพหุนามตรวจสอบ (check polynomial) ของรหัสจึงเป็นพหุ นามที่ไม่สามารถลดทอนได้ เช่นกัน

ตัวอย่าง

ตัวอย่างเช่น ถ้าและชุดของคำรหัสที่บรรจุอยู่ในรหัสวงจรที่สร้างโดยคือ อย่างแม่นยำ

รหัสนี้สอดคล้องกับอุดมคติที่สร้างขึ้นโดย.

พหุนามนั้นไม่สามารถแยกตัวประกอบได้ในวงแหวนพหุนาม ดังนั้นรหัสนี้จึงเป็นรหัสที่ไม่สามารถแยกตัวประกอบได้

ตัวผกผันของรหัสนี้คือพหุนามซึ่งสอดคล้องกับคำรหัส

ตัวอย่างเล็กน้อย

ตัวอย่างง่ายๆ ของรหัสแบบวนรอบ ได้แก่ตัวมันเองและรหัสที่มีเฉพาะคำรหัสศูนย์เท่านั้น ซึ่งสอดคล้องกับตัวสร้างและตามลำดับ: พหุนามทั้งสองนี้จะต้องเป็นตัวประกอบของเสมอ

รหัสพาริตีบิตซึ่งประกอบด้วยคำที่มีน้ำหนักคู่ทั้งหมดจะสอดคล้องกับตัวสร้าง และอีกครั้งหนึ่งค่านี้จะต้องเป็นตัวประกอบของเสมอ

ตัวอย่างอื่นๆ

รหัสแก้ไขข้อผิดพลาดที่ใช้กันทั่วไปหลายประเภทสามารถแสดงเป็นรหัสแบบวงจรได้ รวมถึงรหัส BCHรหัสReed-Solomonและรหัสตรวจสอบความเท่าเทียมกันความหนาแน่นต่ำ บางประเภท ที่กำหนดจากเรขาคณิตจำกัด[ 4 ]

เพื่อแก้ไขข้อผิดพลาด

รหัสแบบวนรอบสามารถใช้แก้ไขข้อผิดพลาดได้ เช่นเดียวกับ รหัส แฮมมิงที่สามารถใช้แก้ไขข้อผิดพลาดเดี่ยวได้ ในทำนองเดียวกัน รหัสแบบวนรอบยังใช้แก้ไขข้อผิดพลาดคู่และข้อผิดพลาดแบบระเบิดได้อีกด้วย หัวข้อย่อยถัดไปจะกล่าวถึงการแก้ไขข้อผิดพลาดทุกประเภทโดยสังเขป

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

คำที่ได้รับคือพหุนามดีกรีที่กำหนดดังนี้

โดยที่ค่าสัมประสิทธิ์ที่ไม่เป็นศูนย์จะมีได้มากที่สุด 2 ค่า ซึ่งสอดคล้องกับข้อผิดพลาด 2 ค่า

เรากำหนดนิยามของพหุนามซินโดรมว่าเป็นเศษเหลือจากการหารพหุนามด้วยพหุนามตัวสร้างกล่าวคือ

เช่น.

เพื่อแก้ไขข้อผิดพลาดสองข้อ

ให้และเป็นหมายเลขตำแหน่งข้อผิดพลาดสองหมายเลข หากเกิดข้อผิดพลาดเพียงจุดเดียวจะมีค่าเท่ากับศูนย์ และหากไม่มีข้อผิดพลาดเกิดขึ้นเลย ทั้งสองค่าจะมีค่าเป็นศูนย์

ให้และ.

องค์ประกอบฟิลด์เหล่านี้เรียกว่า "ซินโดรม" เนื่องจากมีค่าเป็นศูนย์ที่องค์ประกอบดั้งเดิมและดังนั้นเราจึงสามารถเขียนและได้ ถ้าสมมติว่าเกิดข้อผิดพลาดสองครั้งแล้ว

และ .

และทั้งสองนี้สามารถพิจารณาได้ว่าเป็นสมการสองคู่ที่มีตัวแปรที่ไม่ทราบค่าสองตัว ดังนั้นเราจึงสามารถเขียนได้ว่า

และ .

ดังนั้น หากสามารถแก้สมการไม่เชิงเส้นทั้งสองคู่ได้แล้ว ก็สามารถใช้รหัสแบบวนรอบเพื่อแก้ไขข้อผิดพลาดทั้งสองได้

รหัสแฮมมิง

รหัสHamming(7,4)อาจเขียนเป็นรหัสแบบวงจรบน GF(2) ที่มีตัวสร้างในความเป็นจริง รหัส Hamming แบบไบนารีใดๆ ในรูปแบบ Ham(r, 2) เทียบเท่ากับรหัสแบบวงจร[ 5 ]และรหัส Hamming ใดๆ ในรูปแบบ Ham(r,q) โดยที่ r และ q-1 เป็นจำนวนเฉพาะสัมพัทธ์กัน ก็เทียบเท่ากับรหัสแบบวงจรเช่นกัน[ 6 ] เมื่อกำหนดรหัส Hamming ในรูปแบบ Ham(r,2) โดยที่เซตของคำรหัสคู่จะสร้างรหัส แบบวงจร [ 7 ]

รหัสแฮมมิงสำหรับแก้ไขข้อผิดพลาดเดี่ยว

รหัสที่มีระยะห่างขั้นต่ำอย่างน้อย 3 จะมีเมทริกซ์ตรวจสอบซึ่งทุกคอลัมน์มีค่าแตกต่างกันและไม่เป็นศูนย์ ถ้าเมทริกซ์ตรวจสอบสำหรับรหัสไบนารีมีแถว n แถว แต่ละคอลัมน์จะเป็นเลขไบนารี nบิตมีคอลัมน์ที่เป็นไปได้ n คอลัมน์ ดังนั้น ถ้าเมทริกซ์ตรวจสอบของรหัสไบนารีที่มี ระยะ ห่างขั้นต่ำ 3 มีแถว n แถว ก็จะมีคอลัมน์ได้เพียง n คอลัมน์เท่านั้น ไม่มากกว่านั้น นี่คือการกำหนดรหัสที่เรียกว่า รหัสแฮมมิง (Hamming code)

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

ดังนั้น จึงมีคอลัมน์ที่ไม่เป็นศูนย์ โดยมี 1 เป็นองค์ประกอบที่ไม่เป็นศูนย์สูงสุด ดังนั้น รหัสแฮมมิงจึงเป็นรหัส

สำหรับรหัสแบบวัฏจักร ให้เป็นองค์ประกอบดั้งเดิมในและให้แล้วและดังนั้น จึงเป็นศูนย์ของพหุนามและ เป็นพหุนามกำเนิดสำหรับรหัสแบบวัฏจักรที่มีความยาวบล็อก

แต่สำหรับและคำที่ได้รับคือพหุนามดีกรี ที่กำหนดดังนี้

โดยที่หรือแทนตำแหน่งที่เกิดข้อผิดพลาด

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

เพื่อแก้ไขข้อผิดพลาดในการระเบิด

จาก แนวคิด ระยะทางแฮมมิง (Hamming distance ) รหัสที่มีระยะทางน้อยที่สุดสามารถแก้ไขข้อผิดพลาดใดๆ ได้ แต่ในหลายช่องสัญญาณ รูปแบบของข้อผิดพลาดไม่ได้เกิดขึ้นแบบสุ่ม มันเกิดขึ้นภายในส่วนสั้นๆ ของข้อความ ข้อผิดพลาดประเภทนี้เรียกว่าข้อผิดพลาดแบบกลุ่ม (burst errors ) ดังนั้น เพื่อแก้ไขข้อผิดพลาดดังกล่าว เราจึงต้องการรหัสที่มีประสิทธิภาพมากขึ้นและมีอัตราสูงขึ้น เนื่องจากมีข้อจำกัดน้อยลง รหัสแบบวงจร (Cyclic codes) ใช้สำหรับแก้ไขข้อผิดพลาดแบบกลุ่ม ในความเป็นจริง รหัสแบบวงจรยังสามารถแก้ไขข้อผิดพลาดแบบกลุ่มวงจรแบบวนซ้ำ (Cyclic burst errors) พร้อมกับข้อผิดพลาดแบบกลุ่มทั่วไปได้ด้วย ข้อผิดพลาดแบบกลุ่มวงจรแบบวนซ้ำถูกนิยามว่า

เวกเตอร์ ที่มีความยาวเป็นวัฏจักรคือเวกเตอร์ที่มีส่วนประกอบที่ไม่เป็นศูนย์อยู่ในกลุ่มส่วนประกอบที่ต่อเนื่องกัน (เป็นวัฏจักร) โดยที่ส่วนประกอบแรกและส่วนประกอบสุดท้ายต้องไม่เป็นศูนย์

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

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

คุณสมบัตินี้เรียกอีกอย่างว่าขอบเขตของรีเกอร์ (Rieger bound) และมีความคล้ายคลึงกับขอบเขตของซิงเกิลตัน (Singleton bound)สำหรับการแก้ไขข้อผิดพลาดแบบสุ่ม

รหัสป้องกันอัคคีภัยในฐานะขอบเขตแบบวงจร

ในปี พ.ศ. 2492 ฟิลิป ไฟร์[ 8 ]ได้นำเสนอการสร้างรหัสแบบวงจรที่สร้างขึ้นจากผลคูณของทวินามและพหุนามดั้งเดิม ทวินามมีรูปแบบสำหรับจำนวนเต็มคี่บวกบางตัว[ 9 ] รหัสไฟร์เป็นรหัสแก้ไขข้อผิดพลาดแบบระเบิดวงจรเหนือด้วยพหุนามตัวสร้าง

โดยที่เป็นพหุนามเฉพาะที่มีดีกรีไม่น้อยกว่าและไม่หารลงตัวความยาวบล็อกของรหัสป้องกันอัคคีภัยคือจำนวนเต็มที่เล็กที่สุดที่หาร ลงตัว

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

.

นี่แสดงว่าเป็นผลคูณของดังนั้น

สำหรับบางคนตอนนี้ เนื่องจากน้อยกว่าและน้อยกว่าดังนั้นจึงเป็นรหัสลับ ดังนั้น

.

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

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

รหัสแบบวนรอบ (cyclic codes) ถูกนำมาใช้กันอย่างแพร่หลายในการตรวจจับข้อผิดพลาด และเรียกอีกอย่างว่ารหัสความซ้ำซ้อนแบบวนรอบ (cyclic redundancy codes )

บนการแปลงฟูริเยร์

การแปลงฟูริเยร์ มี การประยุกต์ใช้กันอย่างแพร่หลายในกระบวนการประมวลผลสัญญาณแต่การประยุกต์ใช้ไม่ได้จำกัดอยู่เฉพาะในฟิลด์เชิงซ้อนเท่านั้น การแปลงฟูริเยร์ยังพบได้ในฟิลด์กาโลอิสด้วย รหัสวัฏจักรที่ใช้การแปลงฟูริเยร์สามารถอธิบายได้ในบริบทที่ใกล้เคียงกับการประมวลผลสัญญาณมากขึ้น

การแปลงฟูริเยร์เหนือฟิลด์จำกัด

การแปลงฟูริเยร์เหนือฟิลด์จำกัด

การแปลงฟูริเยร์แบบไม่ต่อเนื่องของเวกเตอร์ นั้นกำหนดโดยเวกเตอร์โดยที่

= โดยที่

โดยที่ exp( ) คือ ราก ที่ n ของเอกภาพในทำนองเดียวกัน ในฟิลด์จำกัดรากที่ n ของเอกภาพคือองค์ประกอบอันดับ n ดังนั้น

ถ้าเป็นเวกเตอร์เหนือและเป็นสมาชิกของที่มีอันดับแล้วการแปลงฟูริเยร์ของเวกเตอร์คือเวกเตอร์และส่วนประกอบต่างๆ จะกำหนดโดย

= โดยที่

ในที่นี้คือดัชนีเวลาคือความถี่และคือสเปกตรัมความแตกต่างที่สำคัญอย่างหนึ่งระหว่างการแปลงฟูริเยร์ในฟิลด์เชิงซ้อนและฟิลด์กาโลอิสคือ ฟิลด์เชิงซ้อนมีอยู่สำหรับทุกค่าของในขณะที่ในฟิลด์กาโลอิส จะมีอยู่ก็ต่อเมื่อ หารลงตัวเท่านั้นในกรณีของฟิลด์ส่วนขยาย จะมีการแปลงฟูริเยร์ในฟิลด์ส่วนขยาย ก็ต่อเมื่อหารลงตัวสำหรับบางค่าในฟิลด์กาโลอิสเวกเตอร์โดเมนเวลาจะครอบคลุมฟิลด์แต่สเปกตรัมอาจครอบคลุมฟิลด์ส่วนขยาย

คำอธิบายสเปกตรัม

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

ดังนั้น รหัสแบบวงจรจึงสามารถนิยามได้ดังนี้

เมื่อกำหนดชุดดัชนีสเปกตรัม ซึ่งองค์ประกอบต่างๆ เรียกว่าความถี่ตรวจสอบ รหัสแบบวงจรคือชุดคำที่มีสเปกตรัมเป็นศูนย์ในองค์ประกอบที่ดัชนีโดยสเปกตรัมดังกล่าวจะมีองค์ประกอบในรูปแบบ

ดังนั้น รหัสแบบวงจรจึงเป็นเวกเตอร์ในฟิลด์และสเปกตรัมที่ได้จากการแปลงฟูริเยร์ผกผันของเวกเตอร์นั้นจะครอบคลุมฟิลด์ทั้งหมดและถูกจำกัดให้เป็นศูนย์ที่ส่วนประกอบบางส่วน แต่สเปกตรัมทุกอันในฟิลด์และเป็นศูนย์ที่ส่วนประกอบบางส่วน อาจไม่มีการแปลงผกผันกับส่วนประกอบในฟิลด์เสมอไปสเปกตรัมแบบนั้นจึงไม่สามารถนำมาใช้เป็นรหัสแบบวงจรได้

ต่อไปนี้คือขอบเขตบางส่วนของสเปกตรัมของรหัสวัฏจักร

มุ่งสู่ BCH

ถ้าเป็นตัวประกอบของสำหรับบางค่าเวกเตอร์เดียวใน ที่มีน้ำหนักหรือน้อยกว่า ซึ่งมีส่วนประกอบต่อเนื่องของสเปกตรัมเท่ากับศูนย์ คือ เวกเตอร์ศูนย์ทั้งหมด

มุ่งหน้าสู่ฮาร์ทมันน์-เจิ้ง

ถ้าเป็นตัวประกอบของสำหรับบางค่าและเป็นจำนวนเต็มที่เป็นจำนวนเฉพาะสัมพัทธ์กับเวกเตอร์เดียวใน ที่มีน้ำหนักหรือน้อยกว่า ซึ่งส่วนประกอบสเปกตรัมเท่ากับศูนย์สำหรับโดยที่และคือเวกเตอร์ศูนย์ทั้งหมด

มุ่งหน้าสู่รูส

ถ้าเป็นตัวประกอบของสำหรับบางค่าและเวกเตอร์เดียวใน ที่ มีน้ำหนักหรือน้อยกว่า ซึ่งส่วนประกอบสเปกตรัมเท่ากับศูนย์สำหรับโดยที่และมีค่าอย่างน้อยในช่วงคือเวกเตอร์ที่มีค่าเป็นศูนย์ทั้งหมด

รหัสเศษเหลือกำลังสอง

เมื่อจำนวนเฉพาะเป็นเศษเหลือกำลังสองมอดูลจำนวนเฉพาะจะมีรหัสเศษเหลือกำลังสองซึ่งเป็นรหัสแบบวัฏจักรที่มีความยาวมิติ และน้ำหนักขั้นต่ำอย่างน้อยเหนือ

การสรุปโดยทั่วไป

รหัสคอนสตาไซคลิก

รหัสคอนสตาไซคลิกเป็นรหัสเชิงเส้นที่มีคุณสมบัติว่าสำหรับค่าคงที่บางค่าถ้าเป็นคำรหัสแล้ว ก็เป็นคำรหัสเช่นกันรหัสเนกาไซคลิกเป็นรหัสคอนสตาไซคลิกที่มี[ 10 ]

รหัสกึ่งวัฏจักร

รหัสกึ่งวัฏจักร (รหัส QC) มีคุณสมบัติที่ว่าสำหรับการหาร บางค่า การเลื่อนแบบวัฏจักรของคำรหัสด้วยตำแหน่งใดๆ ก็ตามจะเป็นคำรหัสอีกครั้ง นั่นคือ สำหรับค่าคงที่บางค่าถ้าเป็นคำรหัสแล้ว ก็เป็นคำรหัสเช่นกันโดยที่ดัชนีทั้งหมดจะถูกลดทอนด้วย mod [ 11 ] รหัสดังกล่าวเรียกว่ารหัส -QC รหัสแบบวงกลมคู่เป็นรหัสกึ่งวัฏจักรที่มีความยาวเป็นเลขคู่ที่มี[ 11 ]

รหัสวงจรแบบย่อ

รหัสเชิงเส้นเรียกว่ารหัสวงจรแบบย่อหากสามารถได้มาโดยการลบตำแหน่งจากรหัสวงจร รหัสในรูปแบบนี้โดยทั่วไปจะไม่ใช่รหัสวงจร[ 12 ]

ในรหัสย่อ จะมีการลบสัญลักษณ์ข้อมูลเพื่อให้ได้ความยาวบล็อกที่ต้องการซึ่งเล็กกว่าความยาวบล็อกเดิม แม้ว่าการลบสัญลักษณ์แรกจะเป็นวิธีการทั่วไป แต่ในหลักการแล้วสามารถลบสัญลักษณ์ข้อมูลชุดใดก็ได้[ 12 ]รหัสแบบวงจรใดๆ ก็สามารถแปลงเป็นรหัสแบบกึ่งวงจรได้โดยการลบสัญลักษณ์ทุกๆ ตัวที่ -th โดยที่เป็นตัวประกอบของถ้าสัญลักษณ์ที่ถูกลบไม่ใช่สัญลักษณ์ตรวจสอบ รหัสแบบวงจรนี้ก็เป็นรหัสแบบวงจรย่อเช่นกัน

ข้อสรุปทั่วไปอื่นๆ

รหัสแบบกึ่งบิด (รหัส QT) ผสมผสานคุณสมบัติของรหัสแบบคอนสตาไซคลิกและรหัสแบบกึ่งไซคลิก โดยมีการเลื่อนเกิดขึ้นตามตำแหน่งและมีตัวคูณเป็นนั่นคือ สำหรับค่าคงที่บางค่าและถ้าเป็นคำรหัสแล้ว ก็เป็นคำรหัสเช่นกันโดยที่ดัชนีทั้งหมดจะถูกลดทอนแบบ mod [ 13 ] รหัสแบบมัลติบิดเป็นการขยายความทั่วไปของรหัส QT ซึ่งรวมรหัส QT หลายรหัสเข้าด้วยกัน[ 13 ] [ 14 ]

ดูเพิ่มเติม

หมายเหตุ

  1. ^แวน ลินท์ 1998หน้า 76
  2. ^ Ryan & Lin 2009 , หน้า 108–109
  3. ^แวน ลินท์ 1998 , หน้า 80
  4. ^ไรอันและลิน 2009บทที่ 10
  5. ^ฮิลล์ 1988 , หน้า 159–160
  6. ^ Blahut 2003 , ทฤษฎีบท 5.5.1
  7. ^ฮิลล์ 1988 , หน้า 162–163
  8. ^ P. Fire, E, P. (1959).คลาสของรหัสไบนารีแก้ไขข้อผิดพลาดหลายรายการสำหรับข้อผิดพลาดที่ไม่เป็นอิสระห้องปฏิบัติการระบบลาดตระเวนซิลวาเนีย เมาน์เทนวิว รัฐแคลิฟอร์เนีย รายงาน RSL-E-2, 1959
  9. ^ Wei Zhou, Shu Lin, Khaled Abdel-Ghaffar.การแก้ไขข้อผิดพลาดแบบ Burst หรือแบบสุ่มโดยอิงจากรหัส Fire และ BCH ITA 2014: 1-5 2013
  10. ^แวน ลินท์ 1998 , หน้า 75
  11. ^ a b MacWilliams & Sloane 1977 , หน้า 506
  12. ^ a b Ryan & Lin 2009 , หน้า 110
  13. ^ a b Aydin, Nuh; Halilović, Ajdin (2017). "การวางนัยทั่วไปของรหัสแบบกึ่งบิด: รหัสแบบบิดหลายชั้น" . Finite Fields and Their Applications . 45 : 96– 106. arXiv : 1701.01044 . doi : 10.1016/j.ffa.2016.12.002 . S2CID  7694655 .
  14. ^ Aydin, Nuh; Siap, Irfan; K. Ray-Chaudhuri, Dijen (2001). "โครงสร้างของรหัส Quasi-Twisted 1 ตัวสร้างและรหัสเชิงเส้นใหม่" การออกแบบ รหัส และการเข้ารหัส 24 ( 3): 313– 326. doi : 10.1023/A:1011283523000 . S2CID 17376783 . 

อ่านเพิ่มเติม

  • รันจัน โบส, ทฤษฎีสารสนเทศ การเข้ารหัส และการเข้ารหัสลับ , ISBN 0-07-048297-7
  • Irving S. Reedและ Xuemin Chen, การเข้ารหัสควบคุมข้อผิดพลาดสำหรับเครือข่ายข้อมูล , บอสตัน: Kluwer Academic Publishers, 1999, ISBN 0-7923-8528-4.
  • Scott A. Vanstone , Paul C. Van Oorschot , บทนำเกี่ยวกับรหัสแก้ไขข้อผิดพลาดพร้อมการประยุกต์ใช้งาน , ISBN 0-7923-9017-2
  • บันทึกการเรียนของจอห์น กิลล์ (สแตนฟอร์ด) – บันทึกฉบับที่ 3 วันที่ 8 ตุลาคม เอกสารประกอบการเรียนฉบับที่ 9 เก็บถาวร เมื่อวันที่ 23 ตุลาคม 2012 ที่Wayback Machineวิชา EE 387
  • บันทึกการเรียนของ Jonathan Hall (MSU) – บทที่ 8 รหัสวัฏจักร – หน้า 100 - 123
  • เดวิด เทอร์. "รหัสวงจร" . MathWorld .

บทความนี้ได้นำเนื้อหาจากโค้ดแบบวนซ้ำบนPlanetMath มา ใช้ ซึ่งได้รับอนุญาตภายใต้Creative Commons Attribution/Share-Alike License

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Cyclic_code&oldid=1319561433 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ รหัสวงจร

ใน ทฤษฎีการเข้ารหัส รหัส แบบวงจร (cyclic code) คือ รหัสแบบบล็อก โดย การเลื่อนแบบวงกลม ของแต่ละคำรหัสจะให้คำอื่นที่อยู่ในรหัสเดียวกัน รหัสเหล่านี้เป็น รหัสแก้ไขข้อผิดพลาด...

คำนิยาม

ให้เป็น รหัสเชิงเส้น บน ฟิลด์จำกัด (เรียกอีกอย่างว่า ฟิลด์กาโลอิส ) ที่มี ความยาวบล็อก เรียกว่า รหัส แบบ วัฏจักร ถ้าสำหรับทุก คำรหัส จากคำในที่ได้จาก การเลื่อนไปทางขวาแบบวัฏจักร ของส่วนประกอบ ยังคงเป็นคำรหัสเดิม...

โครงสร้างพีชคณิต

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

ตัวอย่าง

ตัวอย่างเช่น ถ้าและชุดของคำรหัสที่บรรจุอยู่ในรหัสวงจรที่สร้างโดยคือ อย่างแม่นยำ เอ = เอฟ 2 {\displaystyle A=\mathbb {F} _{2}} n = 3 {\displaystyle n=3} ( 1 , 1 , 0 ) {\displaystyle (1,1,0)}