อ่าน 3 นาที
รหัสคอนโวลูชันแบบอนุกรมที่ต่อกัน
รหัสคอนโวลูชันแบบอนุกรมที่เชื่อมต่อกัน ( SCCC ) เป็นรหัส แก้ไขข้อผิดพลาดล่วงหน้า (FEC) ประเภทหนึ่ง ที่เหมาะอย่างยิ่งสำหรับการถอดรหัส แบบเทอร์โบ (แบบวนซ้ำ)...
รหัสคอนโวลูชันแบบอนุกรมที่ต่อกัน
รหัสคอนโวลูชันแบบอนุกรมที่เชื่อมต่อกัน ( SCCC ) เป็นรหัส แก้ไขข้อผิดพลาดล่วงหน้า (FEC) ประเภทหนึ่ง ที่เหมาะอย่างยิ่งสำหรับการถอดรหัส แบบเทอร์โบ (แบบวนซ้ำ) [ 1 ] [ 2 ] ข้อมูลที่จะส่งผ่านช่องสัญญาณที่มีสัญญาณรบกวนอาจถูกเข้ารหัสโดยใช้ SCCC ก่อน เมื่อได้รับแล้ว การเข้ารหัสอาจใช้เพื่อลบข้อผิดพลาดใดๆ ที่เกิดขึ้นระหว่างการส่ง การถอดรหัสจะดำเนินการโดยการถอดรหัสซ้ำๆ และการสลับสัญลักษณ์ที่ได้รับ
โดยทั่วไปแล้ว SCCC จะประกอบด้วยรหัสภายในรหัสภายนอกและตัวสลับลำดับเชื่อมโยง คุณลักษณะเด่นของ SCCC คือการใช้รหัสคอนโวลูชัน แบบเรียกซ้ำ เป็นรหัสภายใน รหัสภายในแบบเรียกซ้ำนี้เองที่ให้ "ผลประโยชน์จากการสลับลำดับ" แก่ SCCC ซึ่งเป็นที่มาของประสิทธิภาพที่ยอดเยี่ยมของรหัสเหล่านี้
การวิเคราะห์ SCCC เกิดขึ้นส่วนหนึ่งจากการค้นพบรหัสเทอร์โบในปี 1993 การวิเคราะห์ SCCC นี้เกิดขึ้นในทศวรรษ 1990 ในชุดเอกสารเผยแพร่จากห้องปฏิบัติการเจ็ทโพรพัลชัน (JPL) ของ NASA งานวิจัยนี้เสนอว่า SCCC เป็นรหัสแบบอนุกรมที่เรียงต่อกันคล้ายเทอร์โบ ซึ่ง 1) สามารถถอดรหัสได้แบบวนซ้ำ ('เทอร์โบ') ด้วย ความซับซ้อนที่เหมาะสมและ 2) ให้ประสิทธิภาพการแก้ไขข้อผิดพลาดที่เทียบได้กับรหัสเทอร์โบ
รูปแบบเดิมของรหัสแบบอนุกรมที่ต่อกันมักไม่ได้ใช้รหัสภายในแบบเรียกซ้ำ นอกจากนี้ รหัสองค์ประกอบที่ใช้ในรูปแบบเดิมของรหัสแบบอนุกรมที่ต่อกันนั้นโดยทั่วไปซับซ้อนเกินไปสำหรับการถอดรหัสแบบซอฟต์อินซอฟต์เอาต์ ( SISO ) ที่เหมาะสม การถอดรหัสแบบ SISO ถือเป็นสิ่งจำเป็นสำหรับการถอดรหัสแบบเทอร์โบ
รหัสคอนโวลูชัน แบบเรียงต่อกัน (Serial concatenated convolutional codes หรือ SCCCs) ยังไม่ได้รับการใช้งานเชิงพาณิชย์อย่างแพร่หลาย แม้ว่าจะมีการเสนอให้ใช้ในมาตรฐานการสื่อสารต่างๆ เช่นDVB-S2ก็ตาม อย่างไรก็ตาม การวิเคราะห์ SCCCs ได้ให้ข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพและข้อจำกัดของรหัสถอดรหัสแบบวนซ้ำทุกประเภท รวมถึงรหัสเทอร์โบและรหัส LDPC ด้วย
สิทธิบัตรของสหรัฐอเมริกาเลขที่ 6,023,783 ครอบคลุม SCCC บางรูปแบบ สิทธิบัตรนี้หมดอายุเมื่อวันที่ 15 พฤษภาคม 2559 [ 3 ]
ประวัติศาสตร์
รหัสคอนโวลูชันแบบอนุกรมที่เชื่อมต่อกันได้รับการวิเคราะห์ครั้งแรกโดยมีเป้าหมายเพื่อการถอดรหัสแบบเทอร์โบใน "การเชื่อมต่อแบบอนุกรมของรหัสสลับ: การวิเคราะห์ประสิทธิภาพ การออกแบบ และการถอดรหัสแบบวนซ้ำ" โดย S. Benedetto, D. Divsalar, G. Montorsi และ F. Pollara [ 4 ]การวิเคราะห์นี้ให้ข้อสังเกตหลายประการสำหรับการออกแบบรหัสคอนโวลูชันแบบอนุกรมที่มีประสิทธิภาพสูงและสามารถถอดรหัสแบบเทอร์โบได้ ซึ่งมีลักษณะคล้ายกับรหัสเทอร์โบข้อสังเกตประการหนึ่งคือ "การใช้ตัวเข้ารหัสภายในคอนโวลูชันแบบเรียกซ้ำจะให้ผลกำไรจากการสลับลำดับเสมอ" ซึ่งแตกต่างจากการใช้รหัสบล็อกหรือรหัสคอนโวลูชันแบบไม่เรียกซ้ำ ซึ่งไม่ให้ผลกำไรจากการสลับลำดับที่เทียบเท่ากัน
การวิเคราะห์เพิ่มเติมของ SCCC ดำเนินการใน "Coding Theorems for 'Turbo-Like' Codes" โดย D. Divsalar, Hui Jin และ Robert J. McEliece [ 5 ]เอกสารฉบับนี้วิเคราะห์รหัส repeat-accumulate (RA) ซึ่งเป็นการต่อกันแบบอนุกรมของรหัส convolutional แบบเรียกซ้ำสองสถานะภายใน (เรียกอีกอย่างว่า 'accumulator' หรือรหัสตรวจสอบความเท่าเทียมกัน) กับรหัส repeat แบบง่ายเป็นรหัสภายนอก โดยรหัสทั้งสองเชื่อมโยงกันด้วย interleaver ประสิทธิภาพของรหัส RA ค่อนข้างดีเมื่อพิจารณาจากความเรียบง่ายของรหัสที่เป็นส่วนประกอบเอง
รหัส SCCC ได้รับการวิเคราะห์เพิ่มเติมใน "Serial Turbo Trellis Coded Modulation with Rate-1 Inner Code" [ 6 ]ในเอกสารนี้ SCCC ได้รับการออกแบบมาเพื่อใช้กับรูปแบบการมอดูเลชั่นลำดับสูงกว่า มีการนำเสนอโค้ดที่มีประสิทธิภาพยอดเยี่ยมด้วยโค้ดคอนโวลูชันองค์ประกอบภายในและภายนอกที่มีเพียงสองหรือสี่สถานะ
ตัวอย่างตัวเข้ารหัส
รูปที่ 1 เป็นตัวอย่างของ SCCC

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

ตัวถอดรหัส SCCC ประกอบด้วยตัวถอดรหัสแบบซอฟต์อินซอฟต์เอาต์ (SISO) สองตัวและตัวสลับลำดับข้อมูล ถึงแม้จะแสดงเป็นหน่วยแยกกัน แต่ตัวถอดรหัส SISO ทั้งสองตัวอาจใช้ส่วนใดส่วนหนึ่งหรือทั้งหมดของวงจรร่วมกัน การถอดรหัส SISO อาจทำในลักษณะอนุกรมหรือขนาน หรือการผสมผสานกันระหว่างทั้งสองแบบ โดยทั่วไปการถอดรหัส SISO จะทำโดยใช้ ตัวถอดรหัส แบบ Maximum a posteriori (MAP) โดยใช้อัลกอริธึม BCJR
ผลงาน
SCCC ให้ประสิทธิภาพที่เทียบเคียงได้กับรหัสถอดรหัสแบบวนซ้ำอื่นๆ รวมถึงรหัสเทอร์โบและ รหัส LDPCมีข้อสังเกตว่าประสิทธิภาพจะด้อยกว่าเล็กน้อยในสภาพแวดล้อมที่มี SNR ต่ำ (เช่น บริเวณน้ำตกที่แย่กว่า) แต่ประสิทธิภาพจะดีขึ้นเล็กน้อยในสภาพแวดล้อมที่มี SNR สูง (เช่นระดับข้อผิดพลาด ที่ต่ำกว่า )
ดูเพิ่มเติม
- รหัสคอนโวลูชัน
- อัลกอริทึมวิเทอร์บี
- การถอดรหัสการตัดสินใจแบบอ่อน
- อินเตอร์ลีเวอร์
- อัลกอริทึม BCJR
- รหัสตรวจสอบความเท่าเทียมกันความหนาแน่นต่ำ
- โค้ดสะสมซ้ำ
- เทอร์โบอีควอไลเซอร์
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รหัสคอนโวลูชันแบบอนุกรมที่ต่อกัน
รหัสคอนโวลูชันแบบอนุกรมที่เชื่อมต่อกัน ( SCCC ) เป็นรหัส แก้ไขข้อผิดพลาดล่วงหน้า (FEC) ประเภทหนึ่ง ที่เหมาะอย่างยิ่งสำหรับการถอดรหัส แบบเทอร์โบ (แบบวนซ้ำ)...
ประวัติศาสตร์
รหัสคอนโวลูชันแบบอนุกรมที่เชื่อมต่อกันได้รับการวิเคราะห์ครั้งแรกโดยมีเป้าหมายเพื่อการถอดรหัสแบบเทอร์โบใน "การเชื่อมต่อแบบอนุกรมของรหัสสลับ: การวิเคราะห์ประสิทธิภาพ การออกแบบ และการถอดรหัสแบบวนซ้ำ" โดย S. Benedetto, D. Divsalar, G. Montorsi และ F.
ผลงาน
SCCC ให้ประสิทธิภาพที่เทียบเคียงได้กับรหัสถอดรหัสแบบวนซ้ำอื่นๆ รวมถึงรหัสเทอร์โบและ รหัส LDPC มีข้อสังเกตว่าประสิทธิภาพจะด้อยกว่าเล็กน้อยในสภาพแวดล้อมที่มี SNR ต่ำ (เช่น บริเวณน้ำตกที่แย่กว่า) แต่ประสิทธิภาพจะดีขึ้นเล็กน้อยในสภาพแวดล้อมที่มี SNR สูง (เช่น...
ดูเพิ่มเติม
รหัสคอนโวลูชัน อัลกอริทึมวิเทอร์บี การถอดรหัสการตัดสินใจแบบอ่อน อินเตอร์ลีเวอร์ อัลกอริทึม BCJR รหัสตรวจสอบความเท่าเทียมกันความหนาแน่นต่ำ โค้ดสะสมซ้ำ เทอร์โบอีควอไลเซอร์