• No results found

เทคน คการตรวจสอบความถ กต องของ ข อม ล. Error Detection and Correction

N/A
N/A
Protected

Academic year: 2021

Share "เทคน คการตรวจสอบความถ กต องของ ข อม ล. Error Detection and Correction"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

เทคนิคการตรวจสอบความถูกตองของ

ขอมูล

(2)

กลาวนํา

การรับสงขอมูลสิ่งที่เปนหัวใจในการดําเนินการคือ ความถูกตองตรงกัน ของขอมูล ซึ่งในวิธีการรับสงไมวาจะเปนแบบแอนะล็อกหรือแบบดิจิตอล ตาง ก็ใหความสําคัญตอสิ่งนี้เชนเดียวกัน แตในการรับสงขอมูลแบบดิจิตอลจะมี ขอดีในเรื่องของการตรวจสอบความถูกตองของขอมูล

(3)

วิธีที่ใชในการตรวจสอบความถูกตอง

… Parity Error Detection

… Data Correction Using LRC/VRC … Cyclic Redundancy Check (CRC) … Checksum Error Detection

(4)

Parity Error Detection

เปนกระบวนการตรวจสอบความถูกตองที่ใชในวิธีการสงแบบไมเขา จังหวะ(Asynchronous) โดยวิธีการทํางานคือจะมีบิตขอมูลเพิ่มขึ้นมาอีก 1 บิต ซึ่งจะเรียกวา พาริตี้บิต(Parity Bit) เปนตัวตรวจสอบ โดยจําเปนตองมีการตก ลองกันกอนจะทําการใหจํานวนของลอจิก 1 เมื่อรวมกันกับพาริตี้บิตแลวจะให จํานวนลอจิก 1 เปนจํานวนคู(Even) หรือจํานวนคี่(Odd)
(5)

รูปแบบการทํางานของ

Even Parity Error Detection

1 0 0 1 1 0 1 0

1 0 0 1 1 0 1 0

LSB MSB Even Odd

0

Parity Bit
(6)

รูปแบบการทํางานของ

Odd Parity Error Detection

1 0 0 1 1 0 1 0

1 0 0 1 1 0 1 0

LSB MSB Even Odd

1

Parity Bit
(7)

แบบฝกหัดประกอบความเขาใจ

ใหนักศึกษาทําการคํานวณหาคาพาริตี้บิตแบบลอจิก 0 แบบจํานวนคู (Even Parity Error Detection) พรอมแสดงวิธีทํา

1. 0100 0011 2. 1100 1111 3. 0101 0101 4. 0110 1100 5. 0000 0000

(8)

คําถามชวนคิด

เมื่อมีการสงขอมูลออกไปคือ 0010 1100 แตเมื่อผูรับไดรับขอมูล 1000 1100 และมีกระบวนการตรวจสอบโดยใชวิธี Even Parity Error Detection

นักศึกษาคิดวาผลลัพธที่ไดจะเปนอยางไร ระบบการตรวจสอบจะสามารถทําได ถูกตองหรือไม เพราะเหตุใดพรอมใหเหตุผลประกอบ

(9)

Data Correction Using LRC/VRC

เปนเทคนิคที่ใชรูปแบบผสมผสานแบบ 2 มิติ โดยนํากระบวนการ Even Parity Check Detection ในการหาคา Vertical Redundancy Check(VRC) เพื่อ หาคาความถูกตองของแตกลุมขอมูล จากนั้นนําขอมูลทั้งหมดมาทําการหาคา ความถูกตองดวยเทคนิค XOR เพื่อใหไดคา Longitudinal Redundancy

Check(LRC) เมื่อไดคาทั้งสองก็นําไป LRC ทําการ XOR กับคาที่ทําการสงออก ไปถาไดคําตอบเปน 0 ก็แสดงวาขอมูลที่ไดรับถูกตอง

(10)

ตารางความจริงของลอจิก

Excusive-OR (XOR)

INPUT A

INPUT B

Result

0

0

0

0

1

1

1

0

1

(11)

รูปแบบการทํางานของ

LRC/VRC

ตัวอยาง ใหทําการคํานวณหาคา LRC/VCR พรอมทั้งตรวจสอบความถูกตองของ คําตอบ เมื่อทําการสงขอมูล Help! ออกไป โดยขอมูลตัวอักษรจะตรงกับคาใน ตารางแอสกี(ASCII Table)

(12)

Solution(1)

แปลงขอมูลที่ไดแลวทําการหาคา VRC ดวยวิธี Even Parity Check

ASCII

Code

VRC MSB

LSB

H

0

1

0

0

1

0

0

0

e

0

1

1

0

0

1

0

1

l

0

1

1

0

1

1

0

0

p

1

1

1

1

0

0

0

0

!

0

0

1

0

0

0

0

1

(13)

Solution(2)

ใชเทคนิค XOR กับกลุมขอมูลทั้งหมดรวมทั้ง VRC บิตดวย **เทคนิค ถาจํานวนลอจิก 1 ไดเปนจํานวนคี่ ผลลัพธที่ไดคือ 1 **

(14)

ASCII

Code

VRC MSB

LSB

H

0

1

0

0

1

0

0

0

e

0

1

1

0

0

1

0

1

l

0

1

1

0

1

1

0

0

p

1

1

1

1

0

0

0

0

!

0

0

1

0

0

0

0

1

LRC

1

0

0

1

0

0

0

0

(15)

วิธีการตรวจคําตอบ

ผลลัพธที่นําขอมูลที่ทําการสงทั้งหมด มาทําการ XOR กับคา LRC ผลลัพธที่ไดจะตองไดลอจิก 0 ทั้งหมด

(16)

ASCII

Code

VRC MSB

LSB

H

0

1

0

0

1

0

0

0

e

0

1

1

0

0

1

0

1

l

0

1

1

0

1

1

0

0

p

1

1

1

1

0

0

0

0

!

0

0

1

0

0

0

0

1

LRC

1

0

0

1

0

0

0

0

Result 0 0 0 0 0 0 0 0
(17)

แบบฝกหัดประกอบความเขาใจ

ใหทําการคํานวณหาคา LRC/VRC พรอมทั้งตรวจสอบความถูกตองของ คําตอบ เมื่อทําการสงขอมูลดังตอไปนี้ 1. Hello 2. Net 3. Work 4. Map 5. Pop

คา ASCII Code : H = 0x48 M = 0x4D N = 0x4E P = 0x50 W = 0x57 a = 0x41 e = 0x65 k = 0x6B l = 0x6C o = 0x6F p = 0x70 t = 0x74

(18)

CRC

วิธีการ Cyclic Redundancy Check(CRC) เปนวิธีการตรวจสอบที่ไดรับ ความนิยมในการใชงานสําหรับการรับสงขอมูลแบบเขาจังหวะ(Synchronous) ซึ่งไดรับการพัฒนาโดย IBM ขั้นตอนการทํางานคือ จะทําการสรางตัวหาร

(divisor)ขึ้นมาตามจํานวนบิตที่ตองการ ตัวอยางเชน CRC-16 จะใชจํานวนบิตที่ เปนตัวหารจํานวน 17 บิต สวน CRC-4 จะใชจํานวนบิตที่เปนตัวหารจํานวน 5 บิต และใชกระบวนการ XOR ในการหาผลลัพธของคําตอบ

(19)

ขั้นตอนการทํางานของ

CRC

… กําหนดคาตัวหาร(divisor) ตามรูปแบบ CRC ที่ใชในการตรวจสอบโดยตองมี จํานวนบิตเพิ่มขึ้นมาอีก 1 บิต … ทําการเพิ่มลอจิก 0 ทายของลําดับขอมูลตามจํานวนบิตที่ตกลงตามรูปแบบ CRC … นําคาขอมูลที่เพิ่มลอจิก ทําการ XOR กับคาตัวหาร(divisor) ผลลัพธที่ไดเราจะ เรียกวา คา CRC character … นําคา CRC character ที่ไดแทนคาลอจิก 0 ที่ใสในตอนแรก … เมื่อนําคาขอมูลที่เพิ่มคา CRC character แลวกับการ XOR กับคาตัวหาร ถา ผลลัพธที่ไดเปนศูนยแสดงวาขอมูลที่สงมีความถูกตอง
(20)

รูปแบบการทํางานของ

CRC

ตัวอยาง ใหทําการคํานวณคา CRC โดยใชกระบวนการ CRC-4 โดยมีคาตัวหาร (divisor) เทากับ 10011 และมีคาขอมูลคือ 1100 0110 1011 01 จงแสดงวิธีการ คํานวณ พรอมทั้งตรวจสอบผลลัพธที่ได วิธีการคํานวณ ทําการเพิ่มลอจิก 0 ตามจํานวนบิตตามรูปแบบการตรวจสอบ(ในที่นี้คือ CRC-4) คาตั้งตนของขอมูล 1100 0110 1011 01 0000
(21)

นําคาขอมูลที่เพิ่มลอจิก 0 มาทําการ XOR กับ คาตัวหาร 10011 | 11000 11010 11010 000 10011 1011 1 1001 1 10 010 10 011 11011 10011

(22)

เมื่อตามวิธีการขั้นตน จนกระทั่งเสร็จสิ้นจะได CRC Character = 1001 ดังนั้นขอมูลที่ทําการสงจากเดิม 1100 0110 1011 01 0000 ขอมูลใหม 1100 0110 1011 01 1001 คาตัวหาร(divisor) จะเทากับ 10011

(23)

แบบฝกหัดประกอบความเขาใจ

ใหทําการคํานวณหาคา CRC-4 และมีคาตัวหาร(divisor) 10011 พรอมทั้ง ตรวจสอบความถูกตองของคําตอบ เมื่อทําการสงขอมูลดังตอไปนี้ 1. 1100 0100 2. 0011 1100 3. 1100 1100 4. 0110 0011 5. 1010 1010
(24)

คําถามชวนคิด

ทําไมคาตัวหาร(divisor) ตองใชจํานวนบิตเพิ่มขึ้น 1 บิต เมื่อกําหนดคา CRC ที่ กําหนด ตัวอยางเชน CRC-4 ทําไมถึงใชตัวหาร(divisor)จํานวน 5 บิต

(25)

Checksum Error Detection

เปนวิธีการตรวจสอบขอผิดพลาด ที่นิยมเพื่อตรวจสอบความตรงกันของ ขอมูล 2 ชุด ซึ่งมีขอดีในเรื่องความเร็วในการตรวจสอบแตวิธีนี้ก็ไมสามารถ รับประกันความถูกตองตรงกันได 100 เปอรเซ็นต โดยมีวิธีการตรวจสอบได 2 แบบคือ 1.นําคาขอมูลทั้งหมดมาบวกกันแลวทําการตัดบิตทด(Carry-Flag) ออกแลวนํา ผลลัพธที่ไดมาทําการทดสอบ 2.นําคาขอมูลทั้งหมดมาทําการ XOR กันเพื่อหาผลลัพธ
(26)

ตารางสรุปการใชงานรูปแบบการตรวจจับขอผิดพลาด

Error Method Summary

Error Method Data Type Detection Corrections

Number of Errors Detectable

Parity Asynchronous Detection One per Character LRC/VRC Asynchronous Correction One per Message

CRC Either Detection Unlimited

(27)

ขนาดขอมูลเพิ่มเติม

(Overhead)

ของแตละวิธี

Error Method Overhead

Parity One bit per Character

LRC/VCR One bit per Character plus LRC Character

CRC CRC Bytes at end of Message

References

Related documents

One of the biggest challenges in personalized medicine is how to convert clinical research and product development into a financially sustainable business strategy which can project

The postcolonial education system in Zimbabwe is still based on structures established during the colonial period and perpetuates the colonial view that school knowledge must

The main objective of this study was to determine the effect of tied ridges, fertilizers and cropping systems on soil moisture content, organic carbon, pH and

*Corresponding Author 1 PREDICT SURVIVAL OF PATIENTS WITH LUNG CANCER USING AN ENSEMBLE FEATURE SELECTION ALGORITHM AND CLASSIFICATION METHODS IN DATA MINING1.

and Expanded Academic ASAP databases for studies published between January 1995 and October 2012, using subject headings and free-text search terms (in UK and US

Young British designers enjoy an excellent reputation internationally and all too often are “poached” from Britain by the international fashion houses, e.g.. Stella McCartney at

This behavior indicates that the error rates estimated during the learning phase of a kNN classifier are a good estimates of the errors on never seen before examples, in the case

This Part 380 contains terms and regulations adopted by the Copyright Royalty Judges (Judges) in the context of a rate determination proceeding, Determination of Royalty Rates and