תוֹכֶן
קודי Hamming משמשים להכנסת מידע לתיקון שגיאות לזרמי נתונים. הקודים מתוכננים כך ששגיאה לא רק מזוהה, אלא גם מתוקנת. הוספת מידע לתיקון שגיאות מגדילה את כמות הנתונים, אך היא גם מגדילה את מהימנות התקשורת על מדיה עם שיעורי שגיאה גבוהים.
קידוד דפיקות יכול להיות מסובך ליישום, אך ניתן לעשות זאת במהירות רבה באמצעות טריקים אריתמטיים ברמת הסיביות. זה מאפשר ליצור מערכת שימושית ומהירה לתיקון שגיאות, לשימוש ביישומים מוטבעים.
שלב 1
צור את מילת הנתונים. יש לשמור כל ביט עם מיקום שהוא כוח של שניים (ראשון, שני, רביעי וכו ') למידע זוגי. השתמש כל עוד יש צורך במילה כדי לקבל את הנתונים המקוריים ואת סיביות הזוגיות.
דוגמא:
1 1 0 1 0 0 1 0 הופך ל _ _ 1 _ 1 0 1 _ 0 0 1 0
הסיביות המקוריות נשארות באותו סדר, אך נפרשו כדי להכניס את סיביות הזוגיות.
שלב 2
חשב את החלק הזוגי הראשון. החל מהסיבית הראשונה, קוראים קצת ואז מדלגים על קצת וההליך חוזר על עצמו עד הסוף. בינתיים נספר מספר הממצאים שנמצאו. סיביות זוגיות אינן נחשבות בתהליך זה.
אם מספר אלה שווה, הגדר את הביט הראשון לאפס. אחרת, הגדר אותו לאחד.
דוגמא:
ביטים 1, 3, 5, 7, 9 ו -11 של _ _ 1 _ 1 0 1 _ 0 0 1 0, _11101, מכילים ארבעה. זה אחיד, ולכן הביט הראשון מוגדר לאפס: 0 _ 1 _ 1 0 1 _ 0 0 1 0
שלב 3
חשב את סיביות הזוגיות הנותרות. החל מהביט השני, קוראים שני ביטים ואז מדלגים על שני ביטים וההליך חוזר על עצמו עד הסוף. הביט הרביעי קורא ארבע ביטים, מדלג על ארבע נוספות, החל מסיבית ארבע. לאותו דפוס מתבצעות כל סיביות הזוגיות, עד שכולן מחושבות.
דוגמא:
ביט 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 בודק _1, 01, 01, המכילים שלושה כאלה, כך שסיבית 2 מוגדרת לאחת. ביט 4: _ 0 1 1 1 0 1 _ 0 0 1 0 בודק _101, 0, המכיל שניים, כך שסיבית 4 מוגדרת לאפס. ביט 8: 0 1 1 0 1 0 1 _ 0 0 1 0 בודק _0010, שמכיל רק אחד, ולכן סיבית 8 מוגדרת לאחת.
המילה מקודדת לכן כ- 011010110010.
שלב 4
אשר את המילה. אם מילה מושחתת, סיביות הזוגיות לא יתאימו למצופה. כדי לאשר שהמילה אינה פגומה, פשוט חישב את סיביות השוויון באמצעות שלבים שתיים ושלוש. אם הביטים אינם זהים, רשום את מיקומם.
שלב 5
תקן את החלק הלא נכון. אם אתה מוצא ביטים זוגיים שגויים, פשוט הוסף את מיקומי הביטים. ערך הסכום הוא המיקום של הסיבית השגויה. שנה את ערך הסיביות במיקום זה.
לדוגמא, אם סיביות הזוגיות השגויות הן אחת וארבע, שינוי ערך הביט החמישי יתקן את השגיאה.