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

คำนิยาม
ให้เป็นรหัสเชิงเส้นบนฟิลด์จำกัด (เรียกอีกอย่างว่าฟิลด์กาโลอิส ) ที่มีความยาวบล็อกเรียกว่า รหัส แบบวัฏจักรถ้าสำหรับทุกคำรหัสจากคำในที่ได้จากการเลื่อนไปทางขวาแบบวัฏจักรของส่วนประกอบ ยังคงเป็นคำรหัสเดิม เนื่องจากการเลื่อนไปทางขวาแบบวัฏจักรหนึ่งครั้งเท่ากับการเลื่อนไปทางซ้ายแบบวัฏจักร รหัสแบบวัฏจักรจึงสามารถกำหนดได้ผ่านการเลื่อนไปทางซ้ายแบบวัฏจักรเช่นกัน ดังนั้น รหัสเชิงเส้นจะเป็นรหัสแบบวัฏจักรก็ต่อเมื่อมันไม่เปลี่ยนแปลงภายใต้การเลื่อนแบบวัฏจักรทั้งหมด
รหัสแบบวงจรมีข้อจำกัดเชิงโครงสร้างเพิ่มเติมบางประการ รหัสเหล่านี้มีพื้นฐานมาจากฟิลด์กาโลอิสและเนื่องจากคุณสมบัติเชิงโครงสร้างเหล่านี้ จึงมีประโยชน์อย่างมากสำหรับการควบคุมข้อผิดพลาด โครงสร้างของรหัสแบบวงจรมีความสัมพันธ์อย่างมากกับฟิลด์กาโลอิส ซึ่งทำให้ขั้นตอนวิธีเข้ารหัสและถอดรหัสสำหรับรหัสแบบวงจรมีประสิทธิภาพในการคำนวณสูง
โครงสร้างพีชคณิต
รหัสวัฏจักรสามารถเชื่อมโยงกับอุดมคติในวงแหวนบางวงได้ ให้ เป็นผลหารของวงแหวนพหุนามเหนือฟิลด์จำกัดระบุองค์ประกอบของรหัสวัฏจักรด้วยพหุนามในลักษณะที่ แมปไปยังพหุนาม : ดังนั้นการคูณด้วยสอดคล้องกับการเลื่อนวัฏจักร จากนั้น เป็น อุดมคติในและด้วยเหตุนี้จึงเป็นอุดมคติหลักเนื่องจากเป็นวงแหวนอุดมคติหลักอุดมคติถูกสร้างขึ้นโดยองค์ประกอบเอกลักษณ์ในที่มีดีกรีต่ำสุดพหุนามตัวสร้าง [ 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 ]
ดูเพิ่มเติม
หมายเหตุ
- ^แวน ลินท์ 1998หน้า 76
- ^ Ryan & Lin 2009 , หน้า 108–109
- ^แวน ลินท์ 1998 , หน้า 80
- ^ไรอันและลิน 2009บทที่ 10
- ^ฮิลล์ 1988 , หน้า 159–160
- ^ Blahut 2003 , ทฤษฎีบท 5.5.1
- ^ฮิลล์ 1988 , หน้า 162–163
- ^ P. Fire, E, P. (1959).คลาสของรหัสไบนารีแก้ไขข้อผิดพลาดหลายรายการสำหรับข้อผิดพลาดที่ไม่เป็นอิสระห้องปฏิบัติการระบบลาดตระเวนซิลวาเนีย เมาน์เทนวิว รัฐแคลิฟอร์เนีย รายงาน RSL-E-2, 1959
- ^ Wei Zhou, Shu Lin, Khaled Abdel-Ghaffar.การแก้ไขข้อผิดพลาดแบบ Burst หรือแบบสุ่มโดยอิงจากรหัส Fire และ BCH ITA 2014: 1-5 2013
- ^แวน ลินท์ 1998 , หน้า 75
- ^ a b MacWilliams & Sloane 1977 , หน้า 506
- ^ a b Ryan & Lin 2009 , หน้า 110
- ^ 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 .
- ^ 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
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รหัสวงจร
ใน ทฤษฎีการเข้ารหัส รหัส แบบวงจร (cyclic code) คือ รหัสแบบบล็อก โดย การเลื่อนแบบวงกลม ของแต่ละคำรหัสจะให้คำอื่นที่อยู่ในรหัสเดียวกัน รหัสเหล่านี้เป็น รหัสแก้ไขข้อผิดพลาด...
คำนิยาม
ให้เป็น รหัสเชิงเส้น บน ฟิลด์จำกัด (เรียกอีกอย่างว่า ฟิลด์กาโลอิส ) ที่มี ความยาวบล็อก เรียกว่า รหัส แบบ วัฏจักร ถ้าสำหรับทุก คำรหัส จากคำในที่ได้จาก การเลื่อนไปทางขวาแบบวัฏจักร ของส่วนประกอบ ยังคงเป็นคำรหัสเดิม...
โครงสร้างพีชคณิต
รหัสวัฏจักรสามารถเชื่อมโยงกับอุดมคติในวงแหวนบางวงได้ ให้ เป็นผลหารของ วงแหวนพหุนาม เหนือฟิลด์จำกัดระบุองค์ประกอบของรหัสวัฏจักรด้วยพหุนามในลักษณะที่ แมปไปยังพหุนาม : ดังนั้นการคูณด้วยสอดคล้องกับการเลื่อนวัฏจักร จากนั้น เป็น อุดมคติ ในและด้วยเหตุนี้จึงเป็น...
ตัวอย่าง
ตัวอย่างเช่น ถ้าและชุดของคำรหัสที่บรรจุอยู่ในรหัสวงจรที่สร้างโดยคือ อย่างแม่นยำ เอ = เอฟ 2 {\displaystyle A=\mathbb {F} _{2}} n = 3 {\displaystyle n=3} ( 1 , 1 , 0 ) {\displaystyle (1,1,0)}