ผลต่างระหว่างรุ่นของ "Sgt/lecture9"
Tanee (คุย | มีส่วนร่วม) |
Tanee (คุย | มีส่วนร่วม) |
||
แถว 31: | แถว 31: | ||
== Reed-Solomon Code == | == Reed-Solomon Code == | ||
+ | อีกหนึ่งตัวอย่างของการทำ Error Correcting คือ [http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction Reed-Solomon Code] | ||
+ | สำหรับจำนวนเฉพาะ p หนึ่งๆ และ message ขนาด m <math>f_1,f_2,...,f_m \in \mathbb{F}_p</math> | ||
+ | และนิยามฟังก์ชันพหุนาม <math>Q_f(x) = \sum\limits_{i=1}^{m}f_ix^{i-1}</math> | ||
+ | |||
+ | และ code word ขนาด n คือ <math>Q_f(0),Q_f(1),Q_f(2),...Q_f(n-1)</math> | ||
== Expander Code == | == Expander Code == |
รุ่นแก้ไขเมื่อ 13:12, 17 เมษายน 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 ไม่เท่ากับศูนย์ บิทที่ผิดพลาดคือบิทที่
Random Linear Code
Reed-Solomon Code
อีกหนึ่งตัวอย่างของการทำ Error Correcting คือ Reed-Solomon Code
สำหรับจำนวนเฉพาะ p หนึ่งๆ และ message ขนาด m และนิยามฟังก์ชันพหุนาม
และ code word ขนาด n คือ