อ่าน 3 นาที
รหัสน้ำหนักคงที่
ใน ทฤษฎีการเข้ารหัส รหัส น้ำหนักคงที่ หรือที่เรียกว่า รหัส m -of- n หรือ รหัส m -out-of -n คือ รหัส ตรวจจับและแก้ไขข้อผิดพลาด ที่คำรหัสทั้งหมดมี น้ำหนักแฮมมิง เท่ากัน รหัส วันฮอต...
รหัสน้ำหนักคงที่
ในทฤษฎีการเข้ารหัสรหัสน้ำหนักคงที่หรือที่เรียกว่ารหัสm -of- nหรือรหัสm -out-of -nคือ รหัส ตรวจจับและแก้ไขข้อผิดพลาดที่คำรหัสทั้งหมดมีน้ำหนักแฮมมิง เท่ากัน รหัสวันฮอตและรหัสสมดุลเป็นรหัสน้ำหนักคงที่สองประเภทที่ใช้กันอย่างแพร่หลาย
ทฤษฎีนี้มีความเชื่อมโยงอย่างใกล้ชิดกับทฤษฎีการออกแบบ (เช่นt -designsและระบบ Steiner ) งานวิจัยส่วนใหญ่ในสาขาคณิตศาสตร์เชิงดิสครีต นี้ เกี่ยวข้องกับรหัส ไบนารี ที่มีน้ำหนักคงที่
รหัสไบนารีที่มีน้ำหนักคงที่นั้นมีการใช้งานหลายอย่าง รวมถึงการกระโดดความถี่ในเครือข่ายGSM [ 1 ]บาร์โค้ด ส่วนใหญ่ใช้รหัสไบนารีที่มีน้ำหนักคงที่เพื่อลดความซับซ้อนในการตั้งค่าเกณฑ์ความสว่างโดยอัตโนมัติที่แยกความแตกต่างระหว่างแถบสีดำและสีขาวรหัสเส้น ส่วนใหญ่ ใช้รหัสที่มีน้ำหนักคงที่หรือรหัสความแตกต่างแบบจับคู่ที่ มีน้ำหนักเกือบคงที่ นอกจากจะใช้เป็นรหัสแก้ไขข้อผิดพลาดแล้ว ช่องว่างขนาดใหญ่ระหว่างคำรหัสยังสามารถใช้ในการออกแบบวงจรอะซิงโครนัสเช่นวงจรที่ไม่ไวต่อความล่าช้าได้ อีก ด้วย
รหัสที่มีน้ำหนักคงที่ เช่นรหัสเบอร์เกอร์สามารถตรวจจับข้อผิดพลาดแบบทิศทางเดียวได้ทั้งหมด
A ( n , d , w )
ปัญหาหลักเกี่ยวกับรหัสน้ำหนักคงที่คือ: จำนวนคำรหัสสูงสุดในรหัสไบนารีน้ำหนักคงที่ที่มีความยาว, ระยะแฮมมิงและน้ำหนัก คือเท่าใด ? จำนวนนี้เรียกว่า
นอกเหนือจากการสังเกตเล็กน้อยบางประการแล้ว โดยทั่วไปแล้วเป็นไปไม่ได้ที่จะคำนวณตัวเลขเหล่านี้ด้วยวิธีตรงไปตรงมา ขอบเขตบนกำหนดโดยทฤษฎีบทสำคัญหลายประการ เช่นขอบเขตจอห์นสันแรกและ ขอบเขตจอห์นสันที่สอง [ 2 ] และบางครั้งอาจพบขอบเขตบนที่ดีกว่าได้ด้วยวิธีอื่น ขอบเขตล่างมักจะพบได้จาก การแสดงรหัสเฉพาะ ไม่ว่าจะใช้หลากหลายวิธีจากคณิตศาสตร์เชิงดิสครีต หรือผ่านการค้นหาด้วยคอมพิวเตอร์อย่างหนัก ตารางขนาดใหญ่ของรหัสที่ทำลายสถิติดังกล่าวได้รับการตีพิมพ์ในปี 1990 [ 3 ]และส่วนขยายสำหรับรหัสที่ยาวขึ้น (แต่เฉพาะสำหรับค่าของและที่เกี่ยวข้องกับการใช้งาน GSM เท่านั้น) ได้รับการตีพิมพ์ในปี 2006 [ 1 ]
รหัส1 ในN
กรณีพิเศษของรหัสที่มีน้ำหนักคงที่คือรหัสหนึ่งในNซึ่งเข้ารหัสบิตในคำรหัสของบิต รหัสหนึ่งในสองใช้คำรหัส 01 และ 10 เพื่อเข้ารหัสบิต '0' และ '1' รหัสหนึ่งในสี่สามารถใช้คำ 0001, 0010, 0100, 1000 เพื่อเข้ารหัสบิตสองบิต 00, 01, 10 และ 11 ตัวอย่างเช่นการเข้ารหัสรางคู่และการเชื่อมโยงแบบลูกโซ่[ 4 ] ที่ ใช้ ในวงจรที่ไม่ไวต่อความล่าช้า สำหรับรหัสเหล่านี้และ
ตัวอย่างการใช้งานรหัสวันฮอตที่โดดเด่น ได้แก่ รหัสมาร์คแบบไบเฟสที่ใช้รหัส 1 ใน 2; การมอดูเลชั่นตำแหน่งพัลส์ที่ใช้รหัส 1 ในn ; ตัวถอดรหัสที่อยู่เป็นต้น
รหัสที่สมดุล
ในทฤษฎีการเข้ารหัสรหัสสมดุลคือ รหัส แก้ไขข้อผิดพลาดแบบไบนารี ที่แต่ละคำรหัสประกอบด้วยบิตศูนย์และบิตหนึ่งจำนวนเท่ากัน รหัสสมดุลได้รับการแนะนำโดยDonald Knuth [ 5 ] โดยเป็นส่วนย่อยของรหัสที่เรียกว่ารหัสไม่เรียงลำดับ ซึ่งเป็นรหัสที่มีคุณสมบัติว่าตำแหน่งของบิตหนึ่งในคำรหัสจะไม่เป็นส่วนย่อยของตำแหน่งของบิตหนึ่งในคำรหัสอื่น เช่นเดียวกับรหัสไม่เรียงลำดับทั้งหมด รหัสสมดุลเหมาะสำหรับการตรวจจับข้อผิดพลาดแบบทิศทางเดียว ทั้งหมด ในข้อความที่เข้ารหัส รหัสสมดุลช่วยให้การถอดรหัสมีประสิทธิภาพเป็นพิเศษ ซึ่งสามารถดำเนินการได้แบบขนาน[ 5 ] [ 6 ] [ 7 ]
ตัวอย่างการใช้งานรหัสถ่วงน้ำหนักที่สมดุลที่โดดเด่น ได้แก่ รหัสมาร์คแบบไบเฟสใช้รหัส 1 ใน 2; การเข้ารหัส 6b/8bใช้รหัส 4 ใน 8; รหัส Hadamardเป็นรหัส 1 ใน8 (ยกเว้นคำรหัสศูนย์); รหัส สามในหก ; เป็นต้น
การเข้ารหัสเลนแบบ 3 สายที่ใช้ในMIPI C-PHY สามารถถือได้ว่าเป็นการขยายรหัสน้ำหนักคงที่ไปสู่ระบบไตรภาค โดยแต่ละสายจะส่งสัญญาณไตรภาคและในแต่ละช่วงเวลา สายหนึ่งใน 3 สายจะส่งสัญญาณต่ำ สายหนึ่งส่งสัญญาณกลาง และอีกสายหนึ่งส่งสัญญาณสูง[ 8 ]
รหัสm -of- n
รหัสm -of- nคือ รหัส ตรวจจับข้อผิดพลาด แบบแยกส่วนได้ โดยมีความยาว ของคำรหัสnบิต และแต่ละคำรหัสประกอบด้วย เลข "หนึ่ง" จำนวน m ตัวพอดี ข้อผิดพลาดเพียงบิตเดียวจะทำให้คำรหัสมีเลข "หนึ่ง" จำนวนm + 1หรือm − 1ตัว ตัวอย่างของ รหัส m -of -nคือรหัส 2-of-5 ที่ใช้โดยไปรษณีย์สหรัฐอเมริกา
วิธีการใช้งานที่ง่ายที่สุดคือการเพิ่มสตริงของเลข 1 ต่อท้ายข้อมูลเดิมจนกว่าจะมี เลข 1 จำนวน m ตัว จาก นั้นจึงเพิ่มเลข 0 เพื่อสร้างรหัสที่มีความยาวn
ตัวอย่าง:
| ข้อมูล 3 บิตดั้งเดิม | บิตที่เพิ่มเข้ามา |
|---|---|
| 000 | 111 |
| 001 | 110 |
| 010 | 110 |
| 011 | 100 |
| 100 | 110 |
| 101 | 100 |
| 110 | 100 |
| 111 | 000 |
นอกเหนือจากรหัสแบบ one-hot และ balanced-weight ที่กล่าวถึงข้างต้นแล้ว การใช้งานรหัสที่มีน้ำหนักคงที่ที่น่าสนใจอื่นๆ ได้แก่ รหัส 39ใช้รหัส 3 ใน 9 รหัส bi-quinary coded decimalใช้รหัส 2 ใน 7 รหัส 2 ใน 5เป็นต้น
ลิงก์ภายนอก
- ตารางขอบเขตล่างที่จัดทำโดยAndries Brouwer
- ตารางขอบเขตบนที่ดูแลโดยErik Agrell
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รหัสน้ำหนักคงที่
ใน ทฤษฎีการเข้ารหัส รหัส น้ำหนักคงที่ หรือที่เรียกว่า รหัส m -of- n หรือ รหัส m -out-of -n คือ รหัส ตรวจจับและแก้ไขข้อผิดพลาด ที่คำรหัสทั้งหมดมี น้ำหนักแฮมมิง เท่ากัน รหัส วันฮอต...
A ( n , d , w )
ปัญหาหลักเกี่ยวกับรหัสน้ำหนักคงที่คือ: จำนวนคำรหัสสูงสุดในรหัสไบนารีน้ำหนักคงที่ที่มีความยาว, ระยะแฮมมิง และน้ำหนัก คือเท่าใด ? จำนวนนี้เรียกว่า n {\displaystyle n} ง {\displaystyle d} ว {\displaystyle w} เอ ( n , ง , ว ) {\displaystyle A(n,d,w)}
รหัส1 ใน N
กรณีพิเศษของรหัสที่มีน้ำหนักคงที่คือรหัสหนึ่งใน N ซึ่งเข้ารหัสบิตในคำรหัสของบิต รหัสหนึ่งในสองใช้คำรหัส 01 และ 10 เพื่อเข้ารหัสบิต '0' และ '1' รหัสหนึ่งในสี่สามารถใช้คำ 0001, 0010, 0100, 1000 เพื่อเข้ารหัสบิตสองบิต 00, 01, 10 และ 11 ตัวอย่างเช่น...
รหัสที่สมดุล
ใน ทฤษฎีการเข้ารหัส รหัส สมดุล คือ รหัส แก้ไขข้อผิดพลาด แบบไบนารี ที่แต่ละคำรหัสประกอบด้วยบิตศูนย์และบิตหนึ่งจำนวนเท่ากัน รหัสสมดุลได้รับการแนะนำโดย Donald Knuth [ 5 ] โดย เป็นส่วนย่อยของรหัสที่เรียกว่ารหัสไม่เรียงลำดับ...