חדשות היום

תכנון מערכות אלחוטיות חדשניות בגישת רדיו מוגדר תוכנה (SDR)

Eran Castiel, National Instruments

הדרישה לרוחב סרט גדול יותר מניעה את הצורך להשקיע משאבים רבים במציאת דרכים חדשות להגדלת קיבולות הרשתות. רדיו מוגדר תוכנה – רמ”ת (SDR – Software defined radios) נתפס עתה כגישה מעשית למחקר ופיתוח הדור הבא של מערכות תקשורת אלחוטיות. גישה זו מאפשרת לחוקרים לפתח אבי טיפוס במהירות, לאפיין את הביצועים ולבצע שינויי תכן בהתאם לצורך.

אנליסטים משערים כי קרוב המועד שבו הדרישה לרוחב סרט תעלה על קיבולת הרשתות. החוקרים בוחנים רעיונות חדשים על מנת לתת מענה לאתגר זה. חלקם עוסק באלגוריתמים המיועדים לשכבות הפיסיקלית הנמוכות (PHY) (ואחרים מתמקדים בשכבות גבוהות יותר,
ב- (medium access control). חוקרים אחרים בוחנים טופולוגיות הטרוגניות, המשלבות תאי פיקו, תאי פמטו וממסרים.
ככל הנראה לא ימצא פתרון יחיד לבעיה, והפתרון יתבסס על שילוב של טכנולוגיות. אין חוסר ברעיונות חדשים ובתיאוריות, אך המעבר מקונספט לסימולציה, לאב טיפוס ולהטמעה בעולם הממשי עלול לקחת שנים רבות. מסובך במיוחד הוא המעבר משלב הסימולציה, המבוסס בעיקר על תוכנה, אל אב טיפוס ממשי העובד עם אותות אמיתיים. המעבר לשלב זה דורש השקעה גדולה של זמן וכסף, ולפיכך הוא המעכב את אימוץ הטכנולוגיות החדשות הנחוצות לצורך הפתרון.

פיתוח מהיר של אבי טיפוס בעזרת SDR
רדיו מוגדר תוכנה – רמ”ת () מסתמן ככלי מעשי במחקר מערכות תקשורת של הדור הבא, והוא מאפשר לחוקרים לתכנן במהירות אבי טיפוס של מערכות תקשורת, לאפיין את ביצועיהן ולבצע שינויים בתכנון בהתאם לצורך. כיום החוקרים נסמכים בעיקר על סימולציות תוכנה על מנת לבחון את התיאוריות שלהם, תוך שימוש במודלים פשוטים של ערוצי תקשורת למשל (AWG).יכולת מודלים אלה לשלב אמולציה של התנאים הקיימים בעולם הממשי – למשל מודלים של תופעת הדעיכה מסוג Rayleigh או Ricean היא די חלשה. קשה מאוד לסמלץ מערכות MIMO רבות משתתפים
() ומערכות CoMP בצורה מדויקת.
SDR יכול להאיץ את תהליך פיתוח אבי הטיפוס היות והוא מאפשר לחוקרים לשנות את הגדרות המערכת באמצעות התוכנה, ועל ידי כך להתאימה לדרישותיהם. החוקרים יכולים לפתח, להטמיע, לשנות אלגוריתמים, תוכנות, צורות אות בקלות ולבצע בדיקות לאחר כל שינוי. SDR יכול לשקף את העולם המציאותי של מערכות ניידות ותאי בסיס של מערכות סלולריות על ידי שילוב של ארכיטקטורות עיבוד מקבילי עם ייצוגי RF Front end. אך יש תשלום ליכולת של
ה-SDR לרה-קונפיגורציה. ישנו קושי, ואפילו סכנה מסוימת בביצוע חישוב מקבילי של עיבוד אות המתבצע במכלולי המערכת. חייבים להבין לעומק את תהליכי עיבוד האות, את ההשהיות הנסתרות ואת אותות המוצא של כל דרגה במערכת. אחרת החוקרים עלולים להיקלע ללולאות מיותרות של ניסוי ושגיאה. בחירה קפדנית של כלים, ו-SDR יכולה לקצר את תהליך המעבר מסימולציה לאב טיפוס. השימוש במעבדי GPP מעמיד לרשות מפתחי SDR עושר אפשרויות, הן לצורך יצירת אבי טיפוס של PHY ואף שכבות תוכנה גבוהות יותר.
גם בתחום ה-GPP השיטה המועדפת היא ריבוי ליבות על פני האצת מהירות השעון. הדבר מביא לשיפור הביצועים באופן אקספוננציאלי. עבודה עם מעבד מרובה ליבות מחייבת את החוקר לפצל את שלבי עיבוד האות בין ליבות שונות ולאחר מכן לשלב ביחד את התוצאות. בגישה זו ניתן להימנע מרבות מהמלכודות האורבות למתכן במערכות הפועלות בארכיטקטורת עיבוד הטרוגניות. באופן אידיאלי, SDR יכול להיעזר במעבד מרובה ליבות יחיד מסוג GPP יחיד. באופן מעשי קשה להתגבר על בעיית ההשהיות () בעזרת מעבד יחיד ומערכת הפעלה רגילה. השילוב העדיף הוא של GPP יחד עם FPGA, שילוב המאפשר ביצוע עיבודי אות בזמן אמת.
גישה מפושטת לתכנון ויצור אבי טיפוס של PHY למרות ש-SDR צופן בחובו הבטחה לקיצור תהליכי פיתוח, הזמן האמיתי של הפיתוח והאינטגרציה יכול להתארך במיוחד במערכות תכן בהן התיאום בין התוכנה והחומרה הוא רופף. לנקודות הבאות יש חשיבות רבה: אינטגרציה הדוקה של החומרה ויכולת הפשטה; כלי תכן המאפשרים סימולציה, אמולציית מטרות יעד ותאימות בין מודלים חישובים שונים, ובין כלים ושפות שונות; יכולות עיבוד מרובה הטרוגניות המקלות על הטמעת אלגוריתמים בין מכונות חישוב שונות.
ייצוג חומרה
סביבות תוכנה הפועלות בשילוב הדוק עם חומרה מאפשרות ייצוג מפושט של החומרה. הדבר מקל על המעבר מסימולציה לאב טיפוס, ועל הבנת ה-API המשולבים בכלי התכן. אבל לייצוג המפושט יש מחיר. לכאורה הגדלת רמת ההפשטה תאפשר ביצוע מהיר יותר של אב הטיפוס אך הדבר בא על חשבון האופטימיזציה של משאבי המערכת. כלי תכן המציעים רמות רבות של הפשטה, מרמה גבוהה עד רמה נמוכה, מאפשרים לבחור בין העדפת קיצור זמן הפיתוח לבין אופטימיזציה.

סביבת פיתוח תוכנה מקיפה
כלי פיתוח ל-SDR צריכים לכלול לא רק אלמנטי חישוב הטרוגניים אלא גם מודלי חישוב שונים ושפות תכן שונות על מנת לאפשר פיתוח גישות שונות של פתרון. הכלי צריך לשלב ליבות IP עם כלים שונים, קודים שנוצרו בשפות שונות ולשלב אובייקטים בינאריים קישורים לספריות – ex Dynamic ,VHDL וכו’. על ידי הכלה של מודלי חישוב שונים, שפות תכן שונות. סביבת פיתוח תוכנה כוללנית וכלי תכן מערכתיים מאפשרים לשפר את רמת הקוד ושימוש חוזר. כלי תכן המציעים ספריות תקשורת ועיבוד אותות מקלים על תהליך יצירת אב הטיפוס. למשל, חוקר מעוניין ביצירת אלגוריתם PHY יחיד, למשל לצורך פיתוח טכניקת אפנון חדשה או סכימת קידוד. לצורך יצירת אב טיפוס העובד עם אותות אמתיים יש צורך בשאר הבלוקים של המערכת, וזאת על מנת לבחון את האלגוריתם החדש. הספריה מעמידה לרשות החוקר את כל הבלוקים הדרושים לו, מבלי שיצטרך לפתח אותם מאפס – דבר שהוא מאוד יקר וגוזל זמן רב. מערכת כוללנית תקל על ביצוע הסימולציות. זהו שלב קריטי בתהליך הפיתוח והתכנון, כיון שההעברה לאב טיפוס מבוסס חומרה לוקחת זמן גם אם התכנון עבר אופטימיזציה. במיוחד העברה ל-FPGA, הסובלת מתהליכי קומפילציה וסינתיזה ממושכים, שכן היא מחייבת לחזור על תהליכי מיקום וניווט, ולמצוא פתרונות לבעיות הנובעות מזמני השהיה, דבר שעלול לחייב איטרציות רבות.
המעבר ממודל נקודה צפה לנקודה קבועה צריך להיות מוכר לחוקרים, וזאת על מנת שיוכלו לבטוח בהטמעת מודל הנקודה הקבועה עוד בטרם הטמעתו ב-FPGA. סביבות תוכנה המספקות כלים לביצוע איטרציה על פי סוגי נתונים וביצוע הערכת אלגוריתמים ברמה של ביט אחרי ביט יכולים לשפר את הפיתוח בכך שהם מאפשרים “להציץ” לתוך התכנון. כלים כאלו מספקים גם אפשרויות מדידה של איכות תוצאת הפיתוח (QOR), ביצוע מדידות השוואתיות ואישוש הפונקציונליות. סימולציות ואפילו אמולציות בהן ניתן לסמלץ גם את סביבות החומרה והאלגוריתמים חשובות במיוחד לצורך האצת פיתוח אבי טיפוס. כלים אשר מאפשרים באופן מיטבי ביצוע סימולציה על GPP מארח הם בעלי חשיבות קריטית לחוקרים.

מולטי – פרוססינג הטרוגני
רוב כלי פיתוח תוכנת SDR מתמקדים בחומרת מטרה ומקיפים טווח רחב של מעבדי GPP, של FPGA ושל DSP. על מנת לקצר את עקומת הלמידה יש צורך בתהליך תכנון משותף, עם יכולות מולטי-פרוססינג הטרוגני וזאת בהשוואה לעקומות למידה של מערכות הנסמכת על שימוש במספר רב של כלים שונים. הדבר נחוץ גם לצורך יצירת תזרים תכנון מאוחד, במטרה להקל על שלב האינטגרציה.
הגישה המתבססת על שימוש בכלי תכן רבים גורמת להארכה משמעותית של תהליך האינטגרציה.
כל אחד מכלי התכן ממקד במטלה מסוימת ובליבה מסוימת, והמשתמש חייב לשלב את המרכיבים הבדידים למערכת ממשית ומתפקדת. לשם כך עליו להיעזר בקשת רחבה של תהליכי בדיקת שגיאות שכל כלי מציע. לעומת זאת מערכת רבת מעבדים הטרוגנית אמיתית (ראה איור 4) מאפשרת
למשתמש לבנות מערכות תקשורת תוך שימוש בשפה פשוטה ותכנון עבור מטרות רבות, יכולה לקצר את עקומת הלימוד הדרושה לשם השגת שליטה במערכת ולהקל על תהליכי האינטגרציה. בנוסף למולטי-פרוססינג הטרוגני השילוב של ביצוע חישובים מקביליים, pipelining וזרימת נתונים מרובת ערוצים הולם במיוחד את הפרדיגמה העומדת בבסיס ה-SDR. שפות עוקבניות ומהדרים לא חושפות את המשתמש לחישוב מקבילי ואף לא מציעות שיטות לחישוב מקבילי אמיתי, ולא משנה אם הפיתוח מיועד ל-FPGA ,DSP או מעבד מרובה ליבות. כלי תכן למערכות תקשורת בעל תהליך תכנון כללי, המשלב בתוכו יכולות הפשטת חומרה מאפשר למומחים בתחום התקשורת ועיבוד האותות להגיע במהירות לאב טיפוס, לבצע באופן מהיר את תהליכי האיטרציה הדרושים, ולהקטין את זמני ועלויות הפיתוח.
LabVIEW הינה סביבה גרפית לפיתוח תוכנה של חברת NI – National Instruments. תוכנה זו כוללת את התכונות שצויינו לעיל כדרושות לצורך פיתוח יעיל ומהיר בגישת SDR. האינטגרציה ההדוקה בין LabVIEW ופלטפורמות SDR, כגון ™USRP מפשטת את סיבוכיות החומרה ברמה הנמוכה ומאפשרת לחוקר להתמקד בשיפור ופיתוח אלגוריתמים, ובחלוקת המערכת למקטעי חישוב מקבילי. LabVIEW מאפשרת שימוש בריבוי ליבות, עבודה עם נימים ומטרות ומספקת תהליכי פיתוח תוכנה “נטולי תפר”
שניתן להעבירה מהמחשב המארח אל המעבד המשובץ ול-FPGA. המפתחים יכולים לשלב את הקודים שלהם בסביבת LabVIEW ולבצע אמולציה מלאה על המחשב המארח, ולאחר מכן להעביר את האלגוריתמים למטרה מהירה יותר או
ל-GPP מרובה ליבות על מנת לענות על אילוצי התזמון.
ארכיטקטורת NI USRP SDR מספקת יכולות של GPP (דרך מחשב מארח המחובר דרך חיבור ג’יגביט אתרנט) ובנוסף גם יכולות חישוב של FPGA. ה-FPGA מבצע חישובים בסיסים של החלוקה לערוצים,
עיצוב דפקים, דגימה מעלה/מטה בזמן אמת, ומספר אופציות להרצה. המפתח יכול להריץ קודי PHY על ה-GPP המארח ולבצע איטרציות מהירות תוך שימוש ביכולות המובנות לחישוב נקודה צפה.
לגישה זו יש יתרונות וחסרונות. היתרונות כוללים שימוש במטרה יחידה – GPP מרובה ליבות, המקטין את רמת הסיבוכיות של המערכת; נמנעת ההמרה של נקודה צפה לנקודה קבועה; רמת אינטגרציה גבוהה בין החומרה לתוכנה, פלטפורמת פיתוח פשוטה עבור תוכנה למעבדים מרובי ליבות, והטמעת פתרונות מתוך ספריות תקשורת עשירות. כל הגורמים הללו יכולים לתרום להאצת הפיתוח, ולשיפור התאימות עם כלי תכן אחרים ועם שפות אחרות.
החיסרון הוא מגבלת יכולת חישובי זמן אמת של ה-FPGA.
השילוב של NI USRP עם LabVIEW ועם מעבדי GPP מרובי ליבות (איור 5) מציע יתרונות למפתחי מערכות SDR על הנובעים ממכונת מולטי פרוססינג שרצה באופן מקבילי, דבר המגדיל באופן משמעותי את יכולות העיבוד מעבר למה שניתן להשיג רק באמצעות העלאת תדר השעון. המפתח יכול לחלק את תהליכי עיבוד האות בין ליבות שונות העומדות לרשותו, כך שהקוד רץ באופן מקבילי.
למעשה הגדלת מספר הליבות משפיע ישירות על היכולות של אב הטיפוס. ארכיטקטורה זו מאפשרת להריץ חלקים גדולים יותר של הקוד על ה-GPP. לרוע המזל, הרצת קוד שנכתב במקור עבור מערכת הפעלה רגילה מן המדף על מעבד מרובה ליבות לא תמיד מתבצעת על פי המצופה או באופן דטרמיניסטי. כפי שמפתחים רבים נוכחו לדעת, טכנולוגיות ה-GPP ממשיכות להתפתח ולהתגבר על ההשהיות החבויות ולהציע פתרונות לעוד ועוד תכנוני ויישומי SDR אלחוטים. בנוסף, ככל שה-GPP משלבים יותר ליבות, מכלולים מהירים יותר, קצבי שעון מהירים יותר, זיכרונות מטמון משוכללים יותר, אזי תוכנות פיתוח SDR כמו זו של NI – NI USRP, הופכות להיות חזקות יותר.

עיבוד הטרוגני של SDR
לצורך פיתוח מערכות תקשורת נדרשת יכולת חישוב חזקה, הכוללת יכולות ייעודיות לחישובי אותות בזמן אמת. על הדרישה הזו ניתן לענות בעזרת שימוש
ב-FPGA או GPP, ולעתים אפילו בכמה רכיבים מסוג זה. (ראה איור 6). כפי שנאמר לעיל, פיתוח תוכנה לאבי טיפוס של מערכות מולטי-פרוססינג הטרוגניות הוא מאתגר ולא אחת נדרש מומחה מיוחד לצורך השימוש בכלי הפיתוח על להטמיע את התוכנה והאלגוריתמים במעבד היעד. לאחר פיתוח והרצת קוד PHY על ה-GPP המארח יש לבצע חלוקה של שרשראות Rx או Tx בין האלמנטים המבצעים את העיבוד. לגישה זו יש יתרונות וחסרונות. בין היתרונות – סביבת עיבוד עשירה העונה על דרישות כבדות של מערכות אלחוט; אינטגרציה הדוקה ורמת הפשטה גבוהה של תוכנה וחומרה; פלטפורמת פיתוח משוכללת לפיתוח והטמעה של מערכות המבוססות על מעבדים מרובי ליבות; ספריות עשירות של תוכנות תקשורת המאפשרות האצת הפיתוח; תאימות עם כלי תכן תוכנה אחרים ועם שפות תכן נוספות. המגרעת היא הגדלת רמת סיבוכיות המערכת.
LabVIEW, שהיא סביבת פיתוח גרפית לתוכנה מאפשרת למשתמש לפתח תוכנה עבור כל התקן מטרה, תוך שימוש בשפה כללית. את האלגוריתמים ניתן לפתח על GPP מארח, בסביבת סימולציה ואז לייצא אותם להתקני עיבוד שונים על פי צרכי המערכת. בדיאגרמה המובאת כדוגמא, כמות כוח החישוב הזמין הוא מרשים ביותר: מחשב PC עם מעבד מרובה ליבות, GPP מרובה ליבות העובד בזמן אמת, ומספר רכיבי FPGA הכלולים במודולי FlexRIO FPGA. ובכל זאת כל האספקטים הקשורים לאינטגרצית המערכת הם פשוטים בשל פישוט תהליכי האינטגרציה של התוכנה והחומרה. אמנם ניתן להגיע למערכות שניתן לבצע בהן רה-קונפיגורציה גם בדרכים אחרות, אך כלי התכן המשולבים כגון זה של NI מציעים נתיב קצר יותר לאב טיפוס.

סיכום
הדרישות לרוחב סרט במערכות ויירלס עומדות לעקוף את היכולות הקיימות של תקשורת בספקטרום הזמין. לכן יש צורך בטכנולוגיות המאפשרות למצות מכל יחידת רוחב פס יותר ביטים.
ככל שאנשי הפיתוח נאבקים במימוש הרעיונות שלהם והפיכתם למוצרים תקניים להטמעה המונית עולה החשיבות של מערכות SDR מציעות תוכנה הניתנת להגדרה מחדש. השימוש ב-SDR משפר את תהליכי העברת רעיונות משלב הסימולציה אל העולם האמיתי, אל אבי טיפוס אמיתים העובדים במציאות, עם אותות אמיתיים ועם יכולת לבצע איטרציות. פלטפורמות SDR המסתמכות על כלי תכן גרפיים כמו LabVIEW מספקות נתיב מהיר להגעה לתוצאות ממשיות ולתיקוף רעיונות חדשים
המיועדים לענות על אתגרי רוחב הפס בעולם התקשורת.

תגובות סגורות