Software Defined Radio היא שיטה להחלפת עבודת מתכת (שהיא למעשה טובה לבריאותך) בכאב הראש של התכנות. SDR חוזים עתיד גדול והיתרון העיקרי נחשב להסרת הגבלות ביישום פרוטוקולי רדיו. דוגמה לכך היא שיטת אפנון OFDM (Orthogonal frequency-division multiplexing), שמתאפשרת רק בשיטת SDR. אבל ל-SDR יש גם הזדמנות אחת נוספת, הנדסית גרידא - היכולת לשלוט ולדמיין אות בכל נקודה שרירותית במינימום מאמץ.
אחד מתקני התקשורת המעניינים הוא טלוויזיה יבשתית DVB-T2.
בשביל מה? כמובן שאפשר פשוט להדליק את הטלוויזיה בלי לקום, אבל אין ממש מה לראות שם וזו כבר לא דעתי אלא עובדה רפואית.
ברצינות, DVB-T2 תוכנן עם יכולות רחבות מאוד, כולל:
- יישום פנימי
- אפנון מ-QPSK ל-256QAM
- רוחב פס מ-1,7 מגה-הרץ עד 8 מגה-הרץ
יש לי ניסיון בקבלת טלוויזיה דיגיטלית תוך שימוש בעקרון SDR. תקן DVB-T נמצא בפרויקט GNURadio הידוע. יש בלוק gr-dvbs2rx לתקן DVB-T2 (הכל עבור אותו GNURadio), אבל הוא דורש סנכרון אות ראשוני וזה מעורר השראה (תודה מיוחדת לרון אקונמוס).
מה יש לנו.
יש תקן ETSI EN 302 755 שמפרט שידור, אך לא קליטה.
האות נמצא באוויר עם תדר דגימה של 9,14285714285714285714 מגה-הרץ, מאופנן על ידי COFDM עם 32768 נשאים, בפס של 8 מגה-הרץ.
מומלץ לקבל אותות כאלה בתדירות דגימה כפולה (כדי לא לאבד דבר) ובתדר הביניים יותר רוחב פס (קליטה סופרהטרודין), כדי להיפטר מהיסט זרם ישר (DC) ו"דליפה" של המתנד המקומי. (LO) לכניסת המקלט. מכשירים העומדים בתנאים אלה יקרים מדי בשביל סקרנות בלבד.
SdrPlay עם 10Msps 10bit או AirSpy עם מאפיינים דומים הוא הרבה יותר זול. אין כאן עניין של תדירות דגימה כפולה וניתן לעשות קליטה רק בהמרה ישירה (Zero IF). לכן (מסיבות פיננסיות) אנו עוברים לצד של חסידי SDR "טהור" עם מינימום המרת חומרה.
היה צורך לפתור שתי בעיות:
- סִנכְּרוּן. גלה את סטיית ה-RF המדויקת לשלב וסטיית תדר הדגימה.
- כתוב מחדש את תקן DVB-T2 לאחור.
המשימה השנייה דורשת הרבה יותר קוד, אך ניתן לפתור אותה בהתמדה וניתן לאמת אותה בקלות באמצעות אותות בדיקה.
אותות בדיקה זמינים בשרת ה-BBC ftp://ftp.kw.bbc.co.uk/t2refs/ עם הוראות מפורטות.
הפתרון לבעיה הראשונה תלוי מאוד במאפיינים של מכשיר ה-SDR ויכולות הבקרה שלו. השימוש בפונקציות בקרת התדרים המומלצות, כמו שאומרים, לא היה מוצלח, אבל העניק ניסיון רב בקריאת אלה. תיעוד, תכנות, צפייה בסדרות טלוויזיה, פתרון שאלות פילוסופיות... בקיצור, לא ניתן היה לנטוש את הפרויקט.
האמונה ב"SDR טהור" רק התחזקה.
אנחנו לוקחים את האות כמו שהוא, מעבירים אותו כמעט לאנלוג ומוציאים אות בדיד, אבל דומה לזה האמיתי.
דיאגרמת בלוקים של סנכרון:

הכל כאן לפי ספר הלימוד. הבא הוא קצת יותר מסובך. יש לחשב סטיות. יש הרבה ספרות ומאמרי מחקר המשווים בין היתרונות והחסרונות של שיטות שונות. מהקלאסיקה - זה "מייקל ספת, סטפן פכטל, גונאר פוק, היינריך מאייר, עיצוב מקלט אופטימלי עבור שידור פס רחב מבוסס OFDM - חלק I ו-II." אבל לא פגשתי מהנדס אחד שיכול ורוצה לספור, אז נעשה שימוש בגישה הנדסית. תוך שימוש באותה שיטת סנכרון, הוכנס ניתוק לאות הבדיקה. על ידי השוואת מדדים שונים עם סטיות ידועות (הוא הציג אותן בעצמו), נבחרו הטובים ביותר עבור ביצועים וקלות היישום. סטיית תדר הקליטה מחושבת על ידי השוואת מרווח השמירה והחלק החוזר שלו. הפאזה של תדר הקבלה ותדירות הדגימה נאמדת מסטיית הפאזה של אותות הטייס והיא משמשת גם באקולייזר פשוט ולינארי של אות OFDM.
מאפיין אקולייזר:

וכל זה עובד היטב אם אתה יודע מתי המסגרת של DVB-T2 מתחילה. לשם כך, סמל ההקדמה P1 משודר באות. השיטה לזיהוי ופענוח סמל P1 מתוארת במפרט טכני ETSI TS 102 831 (יש גם המלצות שימושיות רבות לקליטה).
קורלציה אוטומטית של האות P1 (הנקודה הגבוהה ביותר בתחילת הפריים):

תמונה ראשונה (נותרו חצי שנה בלבד עד לתמונה הנעה...):

וכאן אנו לומדים מה הם חוסר איזון מנת המשכל, קיזוז DC וזליגת LO. ככלל, פיצוי עבור עיוותים אלה ספציפיים להמרה ישירה מיושם במנהל ההתקן של SDR. לכן, לקח הרבה זמן להבין: הוצאת כוכבים מקבוצת הכוכבים הידידותית QAM64 היא העבודה של פונקציות הפיצוי. הייתי צריך לכבות הכל ולכתוב את האופניים שלי.
ואז התמונה זזה:

אפנון QAM64 עם סיבוב קונסטלציה ספציפי בתקן DVB-T2:

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

כל זה הוא מאבק על חסינות רעש של האות המקודד.
סך הכל
כעת אנו יכולים לראות לא רק את האות עצמו ואת צורתו, אלא גם מידע שירות.
יש שני רבבים באוויר. לכל אחד יש שני ערוצים פיזיים (PLP).
מוזרות אחת הבחינה בריבוי הראשון - ה-PLP הראשון מסומן "מרובה", וזה הגיוני, מכיוון שיש יותר מאחד בריבוב, וה-PLP השני מתויג "יחיד" וזו שאלה.
עוד יותר מעניינת היא המוזרות השנייה בריבוי השני - כל התוכניות נמצאות ב-PLP הראשון, אבל ב-PLP השני יש אות בעל אופי לא ידוע במהירות נמוכה. לפחות נגן ה-VLC, שמבין כחמישים פורמטי וידאו ואודיו זהה, לא מזהה אותו.
.
הפרויקט נוצר במטרה לקבוע את עצם האפשרות לפענח DVB-T2 באמצעות SdrPlay (ועכשיו AirSpy.), כך שזו אפילו לא גרסת אלפא.
נ.ב בזמן שכתבתי את המאמר בקושי, הצלחתי לשלב את PlutoSDR בפרויקט.
מישהו יגיד מיד שיש רק 6Msps לאות IQ ביציאת USB2.0, אבל אתה צריך לפחות 9,2Msps, אבל זה נושא נפרד.
מקור: www.habr.com
