การตรวจหาและแก้ความผิดพลาด
บทความนี้ต้องการการจัดหน้า จัดหมวดหมู่ ใส่ลิงก์ภายใน หรือเก็บกวาดเนื้อหา ให้มีคุณภาพดีขึ้น คุณสามารถปรับปรุงแก้ไขบทความนี้ได้ และนำป้ายออก พิจารณาใช้ป้ายข้อความอื่นเพื่อชี้ชัดข้อบกพร่อง |
บทความนี้ไม่มีการอ้างอิงจากแหล่งที่มาใด |
การตรวจจับและแก้ไขความผิดพลาด มีส่วนสำคัญในการเก็บรักษาข้อมูลสารสนเทศที่ผ่านช่องสัญญาณที่ถูกรบกวน หรือสื่อเก็บข้อมูลที่ความน่าเชื่อถือต่ำ ในวงการ คณิตศาสตร์ วิทยาศาสตร์คอมพิวเตอร์ การสื่อสารระยะไกลผ่านสัญญาณวิทยุ และทฤษฎีสารสนเทศ
คำจำกัดความทั่วไป
[แก้]การตรวจหาความผิดพลาด (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 เข้าไปทำให้เป็นเลขคู่