การตรวจจับ และแก้ไขความผิดพลาด (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 เข้าไปทำให้เป็นเลขคู่