การตรวจจับ และแก้ไขความผิดพลาด (Error detection and correction)
จากวิกิพีเดีย สารานุกรมเสรี
- บทความนี้มีชื่อเป็นภาษาอังกฤษ เนื่องจากยังไม่มีชื่อภาษาไทยที่กระชับ เหมาะสม หรือไม่รู้วิธีอ่านในภาษาไทย
ในวงการ คณิตศาสตร์, วิทยาศาสตร์คอมพิวเตอร์, การสื่อสารระยะไกลผ่านสัญญาณวิทยุ, และ ทฤษฎีสารสนเทศ, การตรวจจับและแก้ไขความผิดพลาด (error detection and correction) มีส่วนสำคัญในการเก็บรักษาข้อมูลสารสนเทศที่ผ่านช่องสัญญาณที่ถูกรบกวน หรือสื่อเก็บข้อมูลที่ความน่าเชื่อถือต่ำ
[แก้] General definitions of terms
การตรวจจับความผิดพลาด(Error detection) และ การแก้ไขความผิดพลาด(Error correction)
- การตรวจจับความผิดพลาดเป็นความสามารถในการตรวจจับความผิดพลาดที่เกิดจากถูกรบกวนระหว่างการส่งผ่านจากตัวส่ง(transmitter) ไปยังตัวรับ(receiver)
- การแก้ไขความผิดพลาดเป็นการเพิ่มคุณสมบัติด้านการจำแนกแยกแยะและแก้ไขความผิดพลาดที่เกิดขึ้น
- การตรวจจับความผิดพลาดเกิดขึ้นก่อนการแก้ไขความผิดพลาดเสมอ
ระบบแก้ไขความผิดพลาดมีแนวทางในการออกแบบเป็น 2 วิธี
- Automatic repeat request (ARQ): ตัวส่ง(transmitter) ส่งข้อมูลและรหัสตรวจสอบ(check code) ซึ่งตัวรับ(receiver) ใช้ในตรวจสอบความผิดพลาด ถ้าตัวรับไม่พบความผิดพลาดใดๆ มันจะส่งข้อความรับรอง(ACK, acknowledgment) กลับไปยังตัวส่ง ในกรณีที่ตัวส่งได้รับข้อความไม่รับรอง(not ACK) ตัวส่งจะพยายามส่งข้อมูลใหม่อีกครั้ง
- Forward error correction (FEC): ตัวส่ง(transmitter) เข้ารหัสข้อมูลด้วย รหัสแก้ไขความผิดพลาด(error-correcting code) และส่งข้อความที่ถูกเข้ารหัสแล้วไปยังตัวรับ ตัวรับจะไม่ส่งข้อความใดๆ กลับไปยังตัวส่งเลย แต่ตัวรับต้องถอดรหัสข้อความที่ได้รับมาว่าความคล้ายคลึงกับข้อมูลตัวไหนมากที่สุด
Error Correction Code เป็นระบบที่ช่วยให้ทราบถึงความผิดพลาดของข้อมูล และช่วยแก้ไขข้อมูลในส่วนที่ผิด ซึ่งในการคำนวณ parity bit มี 2 วิธี คือ Odd parity และ Even parity ถ้าเป็นแบบ Odd parity เป็นเลขคี่ เพื่อให้จำนวนของเลข 1 เป็นเลขคี่อยู่ตามเดิม ก็จะให้ parity bit เป็น 0 แต่ถ้าเป็นแบบ Even parity เป็นเลขคู่ เพื่อให้จำนวนของเลข 1 เป็นเลขคู่ ก็จะให้ parity bit เป็น 1 เข้าไปทำให้เป็นเลขคู่