หน่วยที่ 3 เรื่อง เทคนิคการส่งข้อมูลดิจิตอล
ชั้นมัธยมศึกษาปีที่ 3
เรื่อง การตรวจสอบความผิดพลาดในการส่งข้อมูล
หน่วยที่ 3 เรื่อง เทคนิคการส่งข้อมูลดิจิตอล
ชั้นมัธยมศึกษาปีที่ 3
เรื่อง การตรวจสอบความผิดพลาดในการส่งข้อมูล
การตรวจสอบความผิดพลาด
การตรวจสอบความผิดพลาดของข้อมูลในการสื่อสารข้อมูลดิจิตอลแบบอะซิงโครนัส เราสามารถตรวจสอบได้จากพาริตี้บิต ซึ่งแบ่งเป็นพาริตี้คี่ (Odd) และพาริตี้คู่ (Even) เช่น ถ้าเราส่งข้อมูลเป็นพาริตี้คู่ นั่นคือถ้ารวมบิตของอักระทั้งหมดที่เป็น “1” กับพาริตี้บิต แล้วจะไดเป็นจำนวนคู่ ซึ่งเมื่อเครื่องรับได้รับเฟรมข้อมูลไปแล้ว ถ้ารวมบิตของ “1” ทั้งหมดได้เป็นจำนวนเลขคี่แล้วแสดงว่าข้อมูลที่รับมามีความผิดพลาดเกิดขึ้นแต่ในกรณีที่มีความผิดพลาดเกิดขึ้น แต่นับบิต “1” ทั้งหมดได้จำนวนคู่เช่นกัน เราก็ไม่สามารถตรวจความผิดพลาดได้
วิธีการตรวจสอบความผิดพลาดในการส่งข้อมูลแบบอะซิงโครนัสดังที่ได้กล่าวมาเราเรียกว่า การตรวจสอบพาริตี้ (Parity Check)
อัตราความผิดพลาด (Error Rate)
การวัดอัตราความผิดพลาดจองข้อมูล เราจะนับจากจำนวนบิตที่เกิดความผิดพลาดไม่เป็นไปตามข้อมูลจริงคือจำนวนบิตทั้งหมดในช่วงเวลา 1/100 วินาที ดังนั้นยิ่งมีการส่งข้อมูลด้วยอัตราเร็วมากเท่าใด ถ้ามีความผิดพลาดเกิดขึ้นอัตราความผิดพลาดก็จะยิ่งมีมากขึ้นเท่านั้น โดยทั่วไปอัตราความผิดพลาดที่ยอมรับได้จะอยู่ประมาณ 1 บิต ต่อ 100,000 บิต จะสังเกตได้ว่าค่าอัตราความผิดพลาดเป็นค่าทางสถิติเท่านั้น
ถ้าความผิดพลาดเกิดขึ้นเฉพาะทีละบิต และข้อมูลที่ถูกส่งออกไปส่งเป็นบล็อกข้อมูลจะส่งด้วยอัตราเร็วสูง อัตราการเกิดความผิดพลาดย่อมจะสูง และความผิดพลาดสามารถเกิดขึ้นได้ทุกบล็อกข้อมูลแต่ถ้าความผิดพลาดที่เกิดขึ้นนั้นเกิดขึ้นกับกลุ่มข้อมูล ข้อมูลบางบล็อกอาจจะไม่มีความผิดพลาดเลยก็ได้ ดังนั้นถ้าในการส่ง-รับข้อมูลที่มีอัตราความผิดพลาดสูง การส่ง-รับข้อมูลเป็นบล็อกเล็กๆ จะทำให้ถูกรบกวนได้น้อยกว่า แต่ความเร็วหรือประสิทธิภาพในการส่ง-รับข้อมูลก็จะลดลงด้วยเช่นกันความผิดพลาดในการส่ง-รับข้อมูล (Data Transmission Error)
สาเหตุของการเกิดความผิดพลาดได้แก่ สัญญาณรบกวน (Noise) และลักษณะของช่องทางหรือสายสื่อสาร สัญญาณรบกวนที่เกิดขึ้นที่สำคัญ ได้แก่ สัญญาณรบกวนแบบพัลส์ (Noise Pulse)และสัญญาณรบกวนแบบเบิรสต์ (Noise Burst) หรือกลุ่มสัญญาณรบกวน ซึ่งมักจะเกิดในช่วงเวลาประมาณ 1/100 วินาที สัญญาณรบกวนที่เกิดขึ้นจากการเปิด-ปิดสวิตช์ไฟฟ้า ฝนตกฟ้าคะนอง ฯลฯ เหตุการณ์เหล่านี้เป็นลักษณะของสัญญาณรบกวนแบบเบิรสต์ ส่วนการผิดเพี้ยนของสัญญาณซึ่งอาจจะเกิดจากกการเปลี่ยนรูปแบบการส่งของสัญญาณ เช่น จากอนาล็อกเป็นดิจิตอล หรือจากดิจิตอลเป็นอนาล็อก และการสะท้อนกลับของสัญญาณ (Echo) เป็นสัญญาณรบกวนแบบพัลส์เช่นกัน
โดยมากแล้วสัญญาณรบกวนที่เกิดขึ้นระหว่างการส่ง-รับข้อมูลมักจะเป็นสัญญาณรบกวนเป็นกลุ่มหรือเบิรสต์มากกว่าแบบพัลส์
ในกรณีทีมีความผิดพลาดเกิดขึ้นกับบิตข้อมูลโดยตรง การแก้ไขสามารถทำได้โดยอาศัยเทคนิคการส่งข้อมูลเพิ่มเป็นช้อมูลซ้ำซ้อน (Redundant) เข้าไปข้อมูลด้วย เพื่อให้เครื่องรับสามารถตรวจจับ และแก้ไขความผิดพลาดที่เกิดขึ้นกับบิตข้อมูล โดยมีวัตถุประสงค์ 2 ประการคือ
1. เพื่อให้ผู้รับสามารถรูและแก้ไขข้อผิดพลาดได้ถ้าหากมีความผิดพลาดเกิดขึ้น
2. เพื่อให้ผู้รับสามารถรู้ได้เฉพาะความผิดพลาดที่เกิดขึ้นเท่านั้น แต่ไม่สามารถแก้ไขความผิดพลาดได้ ผู้รับต้องร้องขอให้ผู้ส่งทำการส่งข้อมูลมาใหม่
จำนวนบิตของข้อมูลซ้ำซ้อน หรือเรียกว่า บิตตรวจสอบ (Check Bits) นั้นคำนวณได้จากสูตร
M+R+1 < 2R
โดยที่ M = จำนวนบิตของ
R = จำนวนบิตตรวจสอบที่น้อยที่สุด
การตรวจสอบความผิดพลาด (Error Detection)
ลักษณะของการตรวจสอบความผิดพลาดเป็นการส่งข้อมูลซ้ำซ้อนไปพร้อมกับข้อมูลจริงด้วยจำนวนแค่เพียงพอสำหรับการตรวจสอบได้ว่ามีความผิดพลาดเกิดขึ้นหรือไม่เท่ากัน ซึ่งถ้ามีก็จะทำการร้องขอกลับไปยังผู้ส่งให้ส่งข้อมูลมาใหม่
การทำงานแบบนี้ให้ประสิทธิภาพมากกว่าการแก้ไขความผิดพลาดเพราะจำนวนของข้อมูลซ้ำซ้อนจะน้อยกว่า และโดยทั่วไปถ้าอัตราการผิดพลาดไม่มากนัก การส่งข้อมูลให้ใหม่ก็จะไม่มากเช่นกัน
การตรวจสอบความผิดพลาดสามารถทำได้โดยการส่ง-รับข้อมูล 2 แบบคือ
1. การส่ง-รับข้อมูลทีละอักขระ หรือแบบ Manual มักใช้กับระบบ Online
2. การส่ง-รับข้อมูลทีละบล็อก หรือแบบ Automatic โดยจะมีการสร้าง FCS (Frame Check Sequence) หรือ BCC (Block Check Character)
วิธีการตรวจสอบความผิดพลาดของข้อมูลที่นิยมใช้มี 3 แบบคือ Parity Bit Check ซึ่งได้กล่าวถึงไปแล้วในเรื่องการส่งข้อมูลแบบอะซิงโครนัส อีก 2 วิธี ได้แก่ Two-coordinate- Parity Check และCyclic dancy Check
การแก้ไขปัญหาความผิดพลาดของการสื่อสารทำได้โดย การแก้ไขแบบไม่ส่งข้อมูลซ้ำ (Hamming code), การแก้ไขแบบส่งข้อมูลซ้ำ (Error detecttion With Retransmission)
ความผิดพลาดในการรับ-ส่งข้อมูล อาจเกิดจากปัญหา 2 ด้านหลักคือ
1.ปัญหาภายนอก เป็นปัญหาที่เกิดจากสภาพแวดล้อมภายนอกที่สามารถหลีกเลี่ยงได้แต่แก้ไขไม่ได้
2.ปัญหาภายใน เป็นปัญหาที่เกิดจากระบบการสื่อสารเองเช่น คุณสมบัติของสื่อกลาง, ความต้านทาน ซึ่งแก้ไขได้และหลีกเลี่ยงได้
3.สัญญาณอิมพัลส์ (Impulse noise) เกิดจากกระแสไฟฟ้าแรงดันสูงภายนอก เช่น ฟ้าผ่าในขณะโทรศัพท์ จะทำให้ปลายทางไม่ได้ยินเสียง
4.สัญญาณกัสเสี้ยน (Gaussian noise or white noise) เกิดจากการเปลี่ยนแปลงคุณสมบัติของลวดทองแดงเนื่องจากความร้อนที่เพิ่มขึ้นระหว่างใช้งาน
5.สัญญาณอ่อนกำลัง (Attenuation) สัญญาณจะอ่อนกำลังตามระยะทางที่เพิ่มขึ้น สามารถแก้ไขได้โดยใช้แอมปลิไฟเออร์หรือรีพีตเตอร์
6.ครอสทอล์ก (Crosstalk) สัญญาณจากสายสื่อสารอื่นๆ ที่อยู่ใกล้เคียงกันถ้าความถี่ของสัญญาณแรงมากจะเกิดเป็นสัญญาณใหม่
7.ดีเลย์ (Delay distortion) ความเร็วของสัญญาณลดลงโดยคลื่นที่มีอยู่ขอบบน และล่างจะมความเร็วต่ำสุดจึงต้องใช้อุปกรณ์อิควอไลเซอร์ ปรับความเร็วของคลื่นสัญญาณทั้งหมดให้เท่ากัน
8.ปัญหาของสายสื่อสาร (Line failure) สายอาจชำรุดหรือขาด
การตรวจหาความผิดเพี้ยน
1.parity checking (VCR) เป็นการตรวจสอบความซ้ำซ้อนตามแนวตั้งใช้ได้กับความผิดเพี้ยนเพียงบิตเดียว ประสิทธิภาพจึงมีความถูกต้องเพียงแค่ 50 %
2.Longitudinal Redundancy Checking (LRC) เป็นการตรวจสอบตามแนวนอน จะเพิ่มตัวอักษรพิเศษต่อท้ายสุดของบล็อก เรียกว่า ตัวอักษรควบคุมบล็อก (BCC : Block Control Character)
3.Cyclic Redundancy Checking (CRC) ใช้ทฤษฎีทางคณิตศาสตร์ใช้โพลิโนเมียล มาหารตัวข้อมูล และข้อมูลจึงถูกส่งไปพร้อมกับเศษของการหาร เรียกว่า X ผู้รับก็ใช้หลักการเดียวกันและจะมีค่าเป็น Y ถ้า X=Y ก็ถือว่าถูกต้อง โดยทั่วไปใช้ CRC-16 ถือว่ามีความถูกต้อง 100 %
การแก้ไขความผิดเพี้ยน
1.การแก้ไขแบบไม่ส่งข้อมูลซ้ำ (Hamming code)
2.การแก้ไขแบบส่งข้อมูลซ้ำ (Error Detection With Retransmission) เช่น แบบหยุดคอย, แบบส่งย้อนกลับ, แบบต่อเนื่อง