בדיקת יתירות מחזורית – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Matanyabot (שיחה | תרומות)
מ בוט החלפות: תאור\1, \1-\2
מ הסבת תג ref לתבנית:הערה*
שורה 8:
CRC מבוסס על תאוריה של קוד למחזור שגיאות מתוקנות. השימוש במחזור קוד שיטתי, אשר מקודד הודעות על ידי הוספה של ערך בדיקה עם גודל מתוקן, בשביל איתור שגיאות בתקשורת רשתות. CRC הוצג לראשונה על ידי [[וו. ווסלי פטרסון]] ב-1961. קודים ממוחזרים הם לא רק דוגמה להטמעה, אלא הם גם טובים במיוחד לאיתור burst errors בהודעות עם נתונים אשר נשלחות ברצף. זה חשוב בגלל שburst errors הם בעיות העברה נפוצות ב[[ערוץ תקשורת|ערוצי תקשורת]], אשר כוללים התקני אחסון מגנטיים ואופטיים. n bit CRC טיפוסי אשר מוצמד לבלוק מידע עם אורך שרירותי יאתר כל שגיאת פתע אשר לא גדולה יותר מ n bits  ויאתר 1 − 2<sup>−''n''</sup> מהburst errors הגדולות מn bits.
 
אפיון של קוד CRC דורש הגדרה של מה שנקרא [[קוד פולינומי]]. הפולינום הזה נעשה מחלק של ה [[polynomial long division]], אשר לוקח את ההודעה כמחולקת ומחסיר את המנה והיתרה היא התוצאה. האזהרה החשובה היא כשאר ה[[מקדם (מתמטיקה)|מקדם]] הפולינומי שחושב בהתאם ל[[שדה סופי|שדה הסופי]] האריתמטי, כך שפעולה נוספת יכולה לממש רוחב בתים מקבלים (אין משיכה בין ספרות). הגודל של השארית הוא תמיד נמוך מהגודל של המחולל הפולינומי, אשר ממחיש כמה גדולה התוצאה יכולה להיות.<ref>{{הערה|{{צ-מאמר|מחבר = Peterson, W. W. and Brown, D. T|שם = Cyclic Codes for Error Detection|כתב עת = Proceedings of the IRE 49|כרך = 49(1)|עמ = 228-235}}</ref>}}
 
למעשה, כל השימושים הנפוצים בCRC משתמשים ב'''[[Galois field|G]]'''[[Galois field|alois '''f'''ield]] של שני אלמנטים. שני האלמנטים בדרך כלל נקראים 1 ו 0, שבאופן נוח ביותר תואם לארכיטקטורה של המחשב.