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

תוכן שנמחק תוכן שנוסף
←‏מבוא: תיקון שגיאת כתיב
אירי (שיחה | תרומות)
שורה 10:
אפיון של קוד CRC דורש הגדרה של מה שנקרא [[קוד פולינומי]]. הפולינום הזה נעשה מחלק של ה [[polynomial long division]], אשר לוקח את ההודעה כמחולקת ומחסיר את המנה והיתרה היא התוצאה. האזהרה החשובה היא כשאר ה[[מקדם (מתמטיקה)|מקדם]] הפולינומי שחושב בהתאם ל[[שדה סופי|שדה הסופי]] האריתמטי, כך שפעולה נוספת יכולה לממש רוחב בתים מקבלים (אין משיכה בין ספרות). הגודל של השארית הוא תמיד נמוך מהגודל של המחולל הפולינומי, אשר ממחיש כמה גדולה התוצאה יכולה להיות.{{הערה|{{צ-מאמר|מחבר = Peterson, W. W. and Brown, D. T|שם = Cyclic Codes for Error Detection|כתב עת = Proceedings of the IRE 49|כרך = 49(1)|עמ = 228-235}}}}
 
למעשה, כל השימושים הנפוצים בCRC משתמשים ב'''[[Galoisשדה fieldסופי|G]]'''[[Galoisשדה fieldסופי|alois '''f''']][[Galois field|ield]] של שני אלמנטים. שני האלמנטים בדרך כלל נקראים 1 ו 0, שבאופן נוח ביותר תואם לארכיטקטורה של המחשב.
 
CRC נקרא n-bit  כאשר ערך הבדיקה בגודל n-bit. לn נתון, יש מספר CRC אפשריים, כל אחד כזה בפולינום שונה לפולינום כזה יכול להיות n כמעלה הגבוהה ביותר, כלומר n+1 ביטויים. במילים אחרות, לפולינום בגודל של n+1 , הקידוד שלו דורש n+1  בתים. רוב הפולינומים מאפיינים ירידה בביט של הMSB  או LSB , מכיוון שהם תמיד 1. לCRC והפולינום המקושר יש שם במבנה הזה  CRC-''n''-XXX.