Skip to main content

การเข้ารหัสช่องคืออะไร?

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

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

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

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

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

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