ผลต่างระหว่างรุ่นของ "Sgt/lecture9"
Tanee (คุย | มีส่วนร่วม) |
Tanee (คุย | มีส่วนร่วม) |
||
แถว 37: | แถว 37: | ||
และ code word ขนาด n คือ <math>Q_f(0),Q_f(1),Q_f(2),...Q_f(n-1)</math> | และ code word ขนาด n คือ <math>Q_f(0),Q_f(1),Q_f(2),...Q_f(n-1)</math> | ||
+ | |||
+ | Reed-Solomon code จะ correct error ได้ p หน่วย | ||
+ | |||
+ | สังเกตุว่าหน่วยย่อยของ Reed-Solomon ไม่ใช่บิท เนื่องจาก correct ที่ระดับ element <math>f_i</math> | ||
+ | |||
+ | หากจะใช้หน่วยเป็นบิท จะต้องแทน element <math>f_i</math> ด้วย <math>log_2 p</math> บิท และจะ correct ได้เพียง p บิท | ||
== Expander Code == | == Expander Code == |
รุ่นแก้ไขเมื่อ 15:54, 21 เมษายน 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 คือ
Reed-Solomon code จะ correct error ได้ p หน่วย
สังเกตุว่าหน่วยย่อยของ Reed-Solomon ไม่ใช่บิท เนื่องจาก correct ที่ระดับ element
หากจะใช้หน่วยเป็นบิท จะต้องแทน element ด้วย บิท และจะ correct ได้เพียง p บิท