מהו FEC וכיצד אוכל להשתמש בו?
במערכות תקשורת, תורת האינפורמציה ותורת הקידוד, תיקון שגיאות קדימה (FEC) היא טכניקה המשמשת לשליטה בשגיאות בהעברת נתונים בערוצי תקשורת לא אמינים או רועשים. FEC חייבת את ראשיתה לעבודתו החלוצית של קלוד שאנון בשנת 1948 על תקשורת אמינה בערוצי שידור רועשים. הנושא המרכזי של שאנון היה שאם קצב האיתות של המערכת נמוך מקיבולת הערוץ, ניתן להשיג תקשורת אמינה אם בוחרים בטכניקות קידוד ופענוח נכונות.

איור 1 מציג מודל פשוט יותר של מערכת מקודדת. נתוני השידור הגולמיים מיוצגים כרצף הודעותu. מקודד FEC משנה את ההודעהuלתוך מילת קודvעל ידי הוספת נתונים מיותרים, לפני הזנת הערוץ הלא אמין או הרועש. היתירות הנוספת מאפשרת למפענח המקלט לזהות מספר מוגבל של שגיאות שעלולות להתרחש בהודעה, ולעתים קרובות לתקן שגיאות אלה ללא שידור חוזר, במטרה שרצף ההודעות המקוריuמתאושש בהצלחה בפלט של המפענח.
סוגי קודי FEC
שני סוגים שונים מבחינה מבנית של קודים נמצאים בשימוש נפוץ כיום: קודי בלוקים וקודים קונבולוציוניים. המקודד עבור קוד בלוק מחלק את רצף המידעuלתוך בלוקי הודעות שלkסיביות מידע (סמלים) כל אחת ומשנה כל הודעהuבאופן עצמאי לתוך מילת קוד,n-סיבית (סמלים)v. היחסR=k/nנקרא קצב הקוד. הסיביות המיותרות (סמלים),n-kלספק לקוד את היכולת להילחם ברעש הערוץ.,
פרמטר חשוב של קוד בלוק הוא המרחק המינימלי,dדקותזהו המרחק בין שתי מילות קוד קרובות ביותר, המייצג את המספר המינימלי של שינויי נתונים הנדרשים כדי לשנות מילת קוד חוקית אחת לאחרת., פרמטר זה קובע את יכולות זיהוי השגיאה והתיקון של קוד. בדרך כלל קוד FEC מסוגל לזהותdדקות-1 שגיאות לכל מילת קוד ותיקון עד (dדקות-1)/2 שגיאות לכל מילת קוד. לדוגמה, קוד ריד סולומון, RS (544, 514,t=15,m=10), הוא קוד בלוק עם 514 סמלי מידע ו-30 סמלים מיותרים. לכל סמל יש 10 סיביות. המרחק המינימלי שלה הואdדקות=31 כך שהוא יכול לתקן עד (dדקות-1)/2=15 שגיאות סמל לכל מילת קוד.
המקודד עבור קוד קונבולוציוני מקבל גםk-בלוקי סיביות של רצף המידעuומייצר רצף מקודדvשלn-בלוקי סמלים. עם זאת, כל בלוק מקודד תלוי לא רק בהתאמהk-בלוק הודעה סיבית באותו יחידת זמן אך גם ב-mבלוקי הודעות קודמים. מלבד ביטים מיותרים,n-kיתירות נוספת מתווספת על ידי הגדלת סדר הזיכרון,mשל הקוד כדי להשיג שידור אמין על פני ערוץ רועש.
בהתבסס על תיאוריית שאנון [1], ככל שמילת הקוד ארוכה יותר כך היא מספקת יכולת תיקון שגיאות חזקה יותר. עם זאת, מורכבות הקידוד גדלה גם עם אורך מילת הקוד. כדי להשיג פשרה טובה יותר בין מורכבות לביצועי קידוד, יש כמה טכניקות לבניית קודים ארוכים ורבי עוצמה מקודי רכיבים קצרים, כגון קודי מוצר, קודים משורשרים וקודים משולבים.
איור 2 מציג קוד מכפלה דו-ממדי שנוצר על-ידי שני קודים C1(n1, k1) ו-C2(n2, k2) עם מרחק מינימליdדקות1וdדקה2בהתאמה. כל שורה בקוד המוצר C1x C2היא מילת קוד ב-C1וכל עמודה היא מילת קוד ב- C2. קוד המוצר מסוגל לתקן כל שילוב של (dדקות1dדקה2-1)/2 שגיאות.

איור 3 מציג קוד משורשר ברמה אחת עם קוד חיצוני C1(n1, k1) עם מרחק מינימליdדקות1וקוד פנימי C2(n2, k2) עם מרחק מינימליdדקה2. המרחק המינימלי של השרשור שלהם הוא לפחותdדקות1dדקה2.

איור 4 מראה שידור של קוד שזור. בהינתן קוד בלוק (n,k) C, ניתן לבנות קוד בלוק (λn, λk) על ידי שזירה, כלומר פשוט על ידי סידור λ מילות קוד ב- C לשורות λ של מערך מלבני ולאחר מכן העברת המערך עמודה אחר עמודה. למרות שהמרחק המינימלי של הקוד השזור הוא עדייןdדקותכקוד C בודד, הוא יכול לשבור את שגיאות הפיצוץ הארוכות לתוך λ מילות קוד שונות.

קודי FEC מתקדמים יותר, כגון קודי טורבו וקודי בדיקת זוגיות בצפיפות נמוכה (LDPC), הומצאו על ידי אקדמאים ואומצו על ידי התעשייה בעשורים האחרונים כדי להתקרב למגבלת שאנון (או לקיבולת הערוץ) . עם זאת, רווחי הביצועים המצוינים שלהם משולמים בדרך כלל על ידי מורכבות קידוד/ פענוח גדולה והשהיה.
ישנם ארבעה גורמים קריטיים שיש לקחת בחשבון בעת בחירת קוד FEC וסכמת קידוד מתאימים עבור מערכת תקשורת מסוימת. כדי לשמור על תפוקה גבוהה או להימנע מהגדלה משמעותית של קצב הקישוריםקצב קודצריך להיות גבוה. כדי לפצות על אובדן ערוץ או הרפיה של יחס אות לרעש (SNR) או דרישות קצב שגיאה של סיביות (BER) בחותכי החלטה במקלט, גדולרווח קידודהוא רצוי. עם זאת החסרונות של FEC הםהשהיית קידודוסיבוכיות קידודשיגדיל את זמן ההולכה ואת כוח/עלות המערכת.
יישומי FEC למערכות קישור טורי
הנוף של טכנולוגיית FEC עבור מערכות תקשורת קווית תיל מוצג באיור 5 וכולל גם קישורים חשמליים וגם קישורים אופטיים. עבור קישורים חשמליים, התעשייה שילבה לאחרונה עדכוני פורמט איתות מפורמט איתות דו-מפלסי (NRZ) לפורמט איתות של ארבע רמות (PAM4) במהלך המעבר מקצבי נתונים של 25 Gb/s ל-50 Gb/s של קישורי קישור.
אחד מאתגרי התכנון הגדולים של PAM4 SerDes הוא עונש הזיהוי של PAM4 על פני NRZ, בערך 9.54 dB או אפילו גדול יותר אם לוקחים בחשבון ירידה בשוליים אופקיים עקב מעברי אותות מרובי רמות. לכן, FEC הופך לחלק חשוב מפתרון מערכת PAM4 כדי לקזז את עונש הזיהוי הזה. RS (544, 514, 15) FEC, הידוע גם בשם KP4 FEC, אומץ באופן נרחב בקישורי PAM-4. הוא מספק למערכות Ethernet 200/400G רווח קידוד של עד 7dB, תוך הוספת עונש השהיה של מאות ננו-שניות (ns) כעלות. קודי FEC בעלי רווח גבוה כגון קודי בדיקת זוגיות בצפיפות נמוכה (LDPC) וקודי מוצר טורבו (TPC) נחשבים בדרך כלל למערכות שידור אופטיות למרחקים ארוכים עם עלות של השהיה ומורכבות קידוד גדולות יותר. עבור יישומי השהיה נמוכה, ניתן להשתמש בקודי בלוקים קצרים ופשוטים עם רווח קידוד מתון ומורכבות.















































