Software Defined Radio (softwaredefinierte Funktechnik) ist eine Methode, die Metallbearbeitung (was grundsätzlich gesundheitsfördernd ist) durch das Kopfzerbrechen des Programmierens zu ersetzen. SDR wird eine große Zukunft vorhergesagt, und das Hauptvorteil ist die Aufhebung von Einschränkungen bei der Implementierung von Funkprotokollen. Ein Beispiel ist die OFDM-Modulationsmethode (Orthogonal Frequency-Division Multiplexing), die nur durch die SDR-Methode möglich wurde. SDR bietet jedoch auch eine weitere, rein technische Möglichkeit: die Kontrolle und Visualisierung des Signals an jedem beliebigen Punkt mit minimalem Aufwand.
Einer der interessanten Kommunikationsstandards ist das terrestrische DVB-T2-Fernsehen.
Warum? Natürlich könnte man einfach den Fernseher einschalten, ohne aufzustehen, aber es gibt absolut nichts zu sehen, und das ist nicht nur meine Meinung, sondern ein medizinischer Fakt.
Im Ernst, DVB-T2 wurde mit sehr umfangreichen Möglichkeiten entwickelt, darunter:
- Indoor-Anwendung
- Modulation von QPSK bis 256QAM
- Bandbreite von 1,7 MHz bis 8 MHz
Es gibt Erfahrungen beim Empfang von digitalem Fernsehen nach dem SDR-Prinzip. Der DVB-T-Standard ist im bekannten Projekt GNURadio vorhanden. Es gibt ein Block gr-dvbs2rx für den DVB-T2-Standard (alles für dasselbe GNURadio), der jedoch eine vorherige Signalsynchronisation erfordert und inspiriert (ein separates Dankeschön an Ron Economos).
Was haben wir.
Es gibt den Standard ETSI EN 302 755, der die Übertragung im Detail beschreibt, aber nicht den Empfang.
Das Signal im Äther hat eine Abtastrate von 9,14285714285714285714 MHz und wird mit COFDM mit 32768 Trägersignalen in einem 8 MHz-Band moduliert.
Empfang solcher Signale wird mit einer verdoppelten Abtastrate empfohlen (um nichts zu verlieren) und auf einer Zwischenfrequenz, die höher als die Bandbreite ist (Superhet-Empfang), um eine DC-Verschiebung und das 'Durchdringen' des lokalen Oszillators (LO) am Empfangseingang zu vermeiden. Geräte, die diese Bedingungen erfüllen, sind zu teuer für einfache Neugier.
SdrPlay mit 10 Msps 10 Bit oder AirSpy mit ähnlichen Eigenschaften sind deutlich günstiger. Hier ist nicht von verdoppelter Abtastrate die Rede, und der Empfang kann nur mit direkter Umwandlung (Zero IF) erfolgen. Daher wenden wir uns (aus finanziellen Gründen) der Seite der Befürworter des „reinen“ SDR mit minimaler Hardwareumwandlung zu.
Es mussten zwei Aufgaben gelöst werden:
- Synchronisation. Die genaue Abweichung der Funkfrequenz mit Phasen-genauer Genauigkeit und die Abweichung der Abtastrate ermitteln.
- Schreiben Sie den DVB-T2-Standard umgekehrt.
Die zweite Aufgabe erfordert viel mehr Code, ist aber mit Geduld lösbar und kann leicht anhand von Testsignalen überprüft werden.
Testsignale sind auf dem Server der BBC verfügbar ftp://ftp.kw.bbc.co.uk/t2refs/ mit einer detaillierten Anleitung.
Die Lösung der ersten Aufgabe hängt stark von den Eigenschaften des SDR-Geräts und den Steuerungsmöglichkeiten ab. Die empfohlenen Steuerungsfunktionen für die Frequenz zu verwenden, war, wie man so sagt, nicht erfolgreich, hat aber viel Erfahrung im Lesen der technischen Dokumentation, Programmieren, Serien schauen, philosophische Fragen lösen … kurz gesagt, das Projekt konnte nicht aufgegeben werden.
Der Glaube an „pure SDR“ hat nur zugenommen.
Wir empfangen das Signal, wie es ist, interpolieren es praktisch bis zur analogen Form und extrahieren dann ein diskretes, aber ähnliches Signal.
Synchronisationsblockschema:

Hier ist alles nach Buch. Später wird es etwas komplizierter. Es müssen Abweichungen berechnet werden. Es gibt viele Literaturstellen und Forschungspapiere, die die Vor- und Nachteile verschiedener Methoden vergleichen. Aus der Klassiker — „Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission – Teil I und II“. Nur habe ich keinen Ingenieur getroffen, der es kann und bereit ist zu rechnen, daher wurde ein ingenieurmäßiger Ansatz verwendet. Mit derselben Synchronisationsmethode wurden Abweichungen in das Testsig nal eingeführt. Durch den Vergleich verschiedener Metriken mit bekannten Abweichungen (ich selbst war beteiligt) wurden die besten für Leistung und Implementierung ausgewählt. Die Empfangsfrequenzabweichung wird durch den Vergleich des Schutzintervalls und seines sich wiederholenden Teils berechnet. Die Phase der Empfangsfrequenz und die Abtastfrequenz werden anhand der Abweichung der Phasen der Pilotsignale bewertet und werden auch im einfachen, linearen Equalizer des OFDM-Signals verwendet.
Equalizer-Eigenschaft:

Und all dies funktioniert gut, wenn man weiß, wann der DVB-T2-Rahmen beginnt. Zu diesem Zweck wird im Signal das Präambelsymbol P1 übertragen. Die Methode zur Erkennung und Dekodierung des Symbols P1 ist in der technischen Spezifikation ETSI TS 102 831 beschrieben (dort gibt es viele nützliche Empfehlungen für den Empfang).
Autokorrelation des Signals P1 (der obere Punkt ist der Beginn des Rahmens):

Das erste Bild (bis zum bewegten Bild sind es nur noch sechs Monate…):

Und genau hier erfahren wir, was IQ-Imbalance, DC-Offset und LO-Leckage sind. Normalerweise wird die Kompensation dieser für die direkte Umwandlung spezifischen Verzerrungen im Treiber des SDR-Geräts implementiert. Daher hat es lange gedauert zu verstehen: Das Entfernen von Sternchen aus dem harmonischen QAM64-Sternbild ist die Arbeit der Kompensationsfunktionen. Ich musste alles ausschalten und mein eigenes Rad neu erfinden.
Und so begann das Bild sich zu bewegen:

QAM64-Modulation mit spezifischer Sternverschiebung im DVB-T2-Standard:

Kurz gesagt, das ist das Ergebnis des Rückführens von Hackfleisch durch die Fleischwolf. Der Standard sieht vier Arten des Mischen vor:
- bit interleaving (bitweises Mischen mit Verdrillung der Spalten)
- cell interleaving (Mischen der Zellen im Kodierungsblock)
- time interleaving (auch in der Gruppe der Kodierungsblöcke)
- frequency interleaving (Mischen der Frequenzen im OFDM-Symbol)
Am Ende haben wir ein solches Signal am Eingang:

All dies ist ein Kampf um die Störfestigkeit des kodierten Signals.
Fazit
Jetzt können wir nicht nur das Signal und seine Form sehen, sondern auch die Steuerinformationen.
Im Rundfunk sind zwei Multiplexe. In jedem zwei physische Kanäle (PLP).
Eine Eigenheit, die im ersten Multiplex aufgefallen ist – der erste PLP hat das Label „multiple“, was logisch ist, da er im Multiplex nicht allein ist, während der zweite PLP das Label „single“ hat, was ein Problem ist.
Noch interessanter ist die zweite Eigenheit im zweiten Multiplex – alle Programme befinden sich im ersten PLP, während im zweiten PLP bei niedriger Geschwindigkeit ein Signal unbekannter Herkunft vorhanden ist. Zumindest erkennt der VLC-Player, der etwa fünfzig Videoformate und ebenso viele Audioformate versteht, es nicht.
.
Das Projekt wurde ins Leben gerufen, um die Möglichkeit zu überprüfen, DVB-T2 mit SdrPlay (und jetzt auch mit AirSpy) zu dekodieren, daher ist dies nicht einmal eine Alpha-Version.
P.S. Während der mühsamen Arbeit an diesem Artikel ist es gelungen, PlutoSDR in das Projekt zu integrieren.
Einige werden sofort sagen, dass es nur 6Msps für das IQ-Signal über USB2.0 gibt, und dass es mindestens 9,2Msps benötigt, aber das ist ein anderes Thema.
Quelle: habr.com
