การตรวจหาและแก้ความผิดพลาด

จากวิกิพีเดีย สารานุกรมเสรี

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

คำจำกัดความทั่วไป[แก้]

การตรวจหาความผิดพลาด (Error detection) และ การแก้ความผิดพลาด (Error correction)

  • การตรวจจับความผิดพลาดเป็นความสามารถในการตรวจจับความผิดพลาดที่เกิดจากถูกรบกวนระหว่างการส่งผ่านจากตัวส่ง (transmitter) ไปยังตัวรับ (receiver)
  • การแก้ไขความผิดพลาดเป็นการเพิ่มคุณสมบัติด้านการจำแนกแยกแยะและแก้ไขความผิดพลาดที่เกิดขึ้น
  • การตรวจจับความผิดพลาดเกิดขึ้นก่อนการแก้ไขความผิดพลาดเสมอ

General definitions of terms ระบบแก้ไขความผิดพลาดมีแนวทางในการออกแบบเป็น 2 วิธี

  • Automatic repeat request (ARQ): ตัวส่งส่งข้อมูลและรหัสตรวจสอบ (check code) ซึ่งตัวรับใช้ในตรวจสอบความผิดพลาด ถ้าตัวรับไม่พบความผิดพลาดใดๆ มันจะส่งข้อความรับรอง(ACK, acknowledgment) กลับไปยังตัวส่ง ในกรณีที่ตัวส่งได้รับข้อความไม่รับรอง(not ACK) ตัวส่งจะพยายามส่งข้อมูลใหม่อีกครั้ง
  • Forward error correction (FEC): ตัวส่งเข้ารหัสข้อมูลด้วย รหัสแก้ความผิดพลาด (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 เข้าไปทำให้เป็นเลขคู่