ผลต่างระหว่างรุ่นของ "Sgt/lecture9"
Tanee (คุย | มีส่วนร่วม) |
Tanee (คุย | มีส่วนร่วม) |
||
แถว 5: | แถว 5: | ||
เราต้องการส่งข้อมูลขนาด m บิท แต่ระหว่างการส่งอาจจะเกิดความผิดพลาดทำให้บางบิทไม่ถูกต้อง | เราต้องการส่งข้อมูลขนาด m บิท แต่ระหว่างการส่งอาจจะเกิดความผิดพลาดทำให้บางบิทไม่ถูกต้อง | ||
− | จึงมีการคิดการส่งเพื่อให้สามารถตรวจจับ / แก้ไขความผิดพลาดได้ | + | จึงมีการคิดการส่งเพื่อให้สามารถตรวจจับ / แก้ไขความผิดพลาดได้ โดยส่งข้อมูลที่ encode แล้วและมีขนาด n บิท นั่นคือ |
− | + | <math>Encode(\{0,1\}^m) \rightarrow \{0,1\}^n</math> | |
+ | |||
+ | [http://en.wikipedia.org/wiki/Hamming_code Hamming Code] คือการ encode ข้อมูลขนาด 4 บิทไปเป็นข้อมูล 7 บิท โดยสามารถรับประกันได้ว่า ถ้าข้อมูลผิดพลาดไปไม่เกิน 1 บิท จะสามารถตรวจจับและแก้ไขได้ โดยให้ข้อมูลอยู่ที่บิทที่ 3,5,6,7 และ ให้ | ||
+ | |||
+ | 1.บิทที่ 4 เป็น XOR ของบิทที่ 5,6,7 | ||
+ | |||
+ | 2.บิทที่ 2 เป็น XOR ของบิทที่ 3,6,7 | ||
+ | |||
+ | 3.บิทที่ 1 เป็น XOR ของบิทที่ 3,5,7 | ||
+ | |||
+ | ให้ <math>b_i</math> แทนบิทที่ i เราสามารถตรวจจับ/แก้ไขความผิดพลาดไม่เกินหนึ่งบิทได้ดังนี้ | ||
+ | |||
+ | a = <math>b_4</math> XOR <math>b_5</math> XOR <math>b_6</math> XOR <math>b_7</math>, | ||
+ | b = <math>b_2</math> XOR <math>b_3</math> XOR <math>b_6</math> XOR <math>b_7</math>, | ||
+ | c = <math>b_1</math> XOR <math>b_3</math> XOR <math>b_5</math> XOR <math>b_7</math> | ||
+ | |||
+ | ถ้า a,b,c ไม่เท่ากับศูนย์ บิทที่ผิดพลาดคือบิทที่ <math>a*4 + b*2 + c</math> | ||
== Random Linear Code == | == Random Linear Code == |
รุ่นแก้ไขเมื่อ 12:06, 16 เมษายน 2558
บันทึกคำบรรยายวิชา Spectral graph theory นี้ เป็นบันทึกที่นิสิตเขียนขึ้น เนื้อหาโดยมากยังไม่ผ่านการตรวจสอบอย่างละเอียด การนำไปใช้ควรระมัดระวัง
Coding Theory
เราต้องการส่งข้อมูลขนาด m บิท แต่ระหว่างการส่งอาจจะเกิดความผิดพลาดทำให้บางบิทไม่ถูกต้อง จึงมีการคิดการส่งเพื่อให้สามารถตรวจจับ / แก้ไขความผิดพลาดได้ โดยส่งข้อมูลที่ encode แล้วและมีขนาด n บิท นั่นคือ
Hamming Code คือการ encode ข้อมูลขนาด 4 บิทไปเป็นข้อมูล 7 บิท โดยสามารถรับประกันได้ว่า ถ้าข้อมูลผิดพลาดไปไม่เกิน 1 บิท จะสามารถตรวจจับและแก้ไขได้ โดยให้ข้อมูลอยู่ที่บิทที่ 3,5,6,7 และ ให้
1.บิทที่ 4 เป็น XOR ของบิทที่ 5,6,7
2.บิทที่ 2 เป็น XOR ของบิทที่ 3,6,7
3.บิทที่ 1 เป็น XOR ของบิทที่ 3,5,7
ให้ แทนบิทที่ i เราสามารถตรวจจับ/แก้ไขความผิดพลาดไม่เกินหนึ่งบิทได้ดังนี้
a = XOR XOR XOR , b = XOR XOR XOR , c = XOR XOR XOR
ถ้า a,b,c ไม่เท่ากับศูนย์ บิทที่ผิดพลาดคือบิทที่