Die LTE-System-Toolbox unterstützt die Entwicklung von LTE-System und ermöglicht in Verbindung mit anderen Mess- und Testgeräten eine LTE-Signalgenerierung und -analyse.

Die LTE-System-Toolbox unterstützt die Entwicklung von LTE-System und ermöglicht in Verbindung mit anderen Mess- und Testgeräten eine LTE-Signalgenerierung und -analyse. Mathworks

Die vierte mobile Internet-Generation LTE verhalf dem mobilen Internet endgültig zum Durchbruch. Die meisten der mobilen Geräte sind inzwischen LTE-fähig, auch für Unternehmen ist die hohe Übertragungsgeschwindigkeit außerhalb des ursprünglichen Mobilfunkmarktes relevant. Diese Verbesserung bringt jedoch eine erhöhte Entwicklungs- und Implementierungskomplexität mit sich, was unter anderem daran liegt, dass die physikalische LTE-Schicht fortgeschrittene Kommunikationstechnologien wie MIMO (Multiple Input Multiple Output) und Turbo-Codes verwendet.

Eckdaten

LTE-Signale sind komplexaufgebaut. Für ihre Demodulation sind fundierte Kenntnisse über die Signalstruktur sowie komplexe Algorithmen erforderlich. Mithilfe der LTE-System-Toolbox von Mathworks können Entwickler Informationen aus dem Rohsignal extrahieren, Simulationen auf Verbindungsebene und Leistungssimulationen durchführen, oder ihre eigene LTE-Implementierung überprüfen. Auch lassen sich LTE-Wellenformen generieren und analysieren sowie synthetisierte oder Live-Signale demodulieren.

Für die Demodulation von LTE-Signalen sind fundierte Kenntnisse über die LTE-Signalstruktur sowie komplexe Algorithmen erforderlich, um Informationen aus dem Rohsignal zu extrahieren. Aufgrund der Komplexität der Normen sowie der beteiligten Algorithmen und Technologien ist die Entwicklung eines LTE-Produkts sehr anspruchsvoll. Die Analyse eines erfassten LTE-Signals, die Überprüfung der internen Implementierung eines LTE-Systems und die Generierung eines LTE-Signals sind Aufgaben, die einen beachtlichen Arbeitsaufwand und eine gewissenhafte Überprüfung erfordern und von einem stetigen Entwicklungsprozess sowie einer konstanten Entwicklungsumgebung profitieren.

In diesem Artikel wird erläutert, wie ein LTE-Signal strukturiert ist und wie Informationen aus dem Signal abgerufen werden. Anschließend wird ein Workflow vorgestellt, der mithilfe der LTE-System-Toolbox ein LTE-Downlink-Signal erfasst und demoduliert – von der Erstsynchronisierung zur Extraktion von LTE-Parametern und -Daten.

Signalcharakteristika des LTE-Basisbands

Bild 1: LTE-Frame- und -Subframe-Struktur

Bild 1: LTE-Frame- und -Subframe-Struktur Mathworks

LTE wurde dazu entwickelt, Informationspakete mit kurzen Latenzzeiten (ein paar Millisekunden) effizient zu senden. Es basiert auf OFDM-Modulation (Orthogonal Frequency-Division Multiplexing ) und erfordert die Verwendung von MIMO-Methoden. Das LTE-Signal ist in Frames von 10 ms gegliedert, ein Frame besteht wiederum aus zehn 1-ms-Subframes (Bild 1).

Jeder Subframe besteht aus 14 OFDM-Ziffern. Die Struktur eines Subframes wird normalerweise als 2D-Ressourcen-Gitter für Zeiten und Frequenzen dargestellt. In Bild 2 wird das Ressourcen-Gitter für einen einzelnen Subframe angezeigt, der aus 14 OFDM-Ziffern besteht. Das Gitter enthält zwischen 72 und 1200 Sub-Trägerfrequenzen. Jede Zelle im Gitter wird als Ressourcen-Element bezeichnet. Ein Ressourcen-Block ist ein Set aus 12 mal 7 Ressourcen-Elementen.

Bild 2: Leeres Ressourcen-Gitter und ein Ressourcen-Block.

Bild 2: Leeres Ressourcen-Gitter und ein Ressourcen-Block. Mathworks

Wenn ein LTE-Gerät, zum Beispiel ein Mobiltelefon, eingeschaltet wird, muss es zuerst das LTE-Netz erkennen und sich mit diesem verbinden. Der Mobilfunkstandard kann mit Bandbreiten von 1,4 MHz bis 20 MHz (entspricht den zuvor erwähnten 72 bis 1200 Sub-Trägerfrequenzen) bereitgestellt werden. Beim LTE-Standard werden deshalb sämtliche Informationen, die für die Verbindung des Telefons mit dem Netz erforderlich sind, auf die schmalste Bandbreite gesetzt. Diese liegt innerhalb der mittleren 72 Sub-Trägerfrequenzen. Zu diesen Informationen gehören primäre und sekundäre Synchronisationssignale (PSS und SSS), die das Frame-Timing und die Zellidentifizierung bestimmen. Diese Signale treten bei allen fünf Subframes auf. Ein weiterer Bestandteil ist der Broadcast-Channel (BCH), der den Master Information Block (MIB) trägt. Der MIB enthält Informationen, wie beispielsweise die tatsächliche Bandbreite der Zelle (zwischen 1,4 MHz und 20 MHz). Der BCH tritt bei allen 10 Subframes auf. Bild 3 zeigt die Position von PSS, SSS und BCH innerhalb des Subframe 0 eines Frames an.

Bild 3: Subframe 0 für 1,4 MHz Bandbreite, zeigt den BCH (rot), das PSS (grün) und das SSS (blau) an.

Bild 3: Subframe 0 für 1,4 MHz Bandbreite, zeigt den BCH (rot), das PSS (grün) und das SSS (blau) an. Mathworks

Wie bereits erwähnt, enthält jeder Subframe 14 OFDM-Ziffern. Die ersten Ziffern stellen den Steuerungsbereich dar. Sie sind den Steuerungsinformationen vorbehalten und die Nutzdaten werden mit den übrigen Ziffern dargestellt. Die  Anzahl der Regelungsziffern variiert von einem Subframe zum anderen und wird über den Physical Control Format Indicator Channel (PCFICH) mitgeteilt.

Zum Netz gehören drei zusätzliche Kanäle:  Der Physical Hybrid Indicator Channel (PHICH) überträgt Bestätigungen von Daten, die zuvor an die Basisstation gesendet wurden. Weiterhin überträgt der Physical Downlink Control Channel (PDCCH) zum Beispiel Informationen darüber, welcher Teil des Gitters einem bestimmten Benutzer zugewiesen ist und welches Modulations- oder Kodierungsschema verwendet wird. Schließlich überträgt der Physical Downlink Shared Channel (PDSCH) den Datenverkehr.

In Bild 4 sind die verschiedenen Kanäle für Subframe 0 mit einer Bandbreite von 3 MHz angezeigt. Die zellspezifischen Referenzsignale (CRS) sind weiß markiert. Es sind Pilotziffern, die für eine einheitliche Demodulation verwendet werden.

Demodulation mit der LTE-System-Toolbox

Bild 4: Gitter von Subframe 0 mit allen Kanälen und physikalischen Signalen bei einer Bandbreite von 3 MHz.

Bild 4: Gitter von Subframe 0 mit allen Kanälen und physikalischen Signalen bei einer Bandbreite von 3 MHz. Mathworks

In diesem Beispiel wird simuliert, was passiert, wenn ein Mobiltelefon eingeschaltet wird. Zur Verbindung mit dem  Funknetz (Bild 5) muss das Gerät ein Signal auf einer vorhandenen LTE-Trägerfrequenz erfassen, dann die Frame-Synchronisation und die Zellidentifikation (Zellsuchvorgang) basierend auf dem PPS und SSS bestimmen und im weiteren den Master-Information-Block entschlüsseln, um die Bandbreiteninformation zu erhalten.

Für jeden zu entschlüsselnden Subframe muss das Telefon den PCFICH entschlüsseln, um die Größe des Steuerungsbereichs zu bestimmen. Zudem muss es die Steuerungsinformationen (PDCCH) lokalisieren, um die zugehörigen Daten (PDSCH) zu entschlüsseln.

In diesem Beispiel wird davon ausgegangen, dass das Signal erfasst und in einer Datei gespeichert wurde.

Frame-Synchronisation und Zellidentifikation

Bild 5: Erforderliche Schritte zur Erfassung und Demodulation eines LTE-Signals.

Bild 5: Erforderliche Schritte zur Erfassung und Demodulation eines LTE-Signals. Mathworks

Die Zellsuche wird in zwei Schritten ausgeführt: Zunächst erfolgt eine laufende Korrelation mit drei möglichen PSS und die Erkennung einer Signalspitze in einem der drei Korrelatoren. Die Position der Signalspitze liefert ein Frame-Timing mit einer Ungenauigkeit von fünf Subframes, da das PSS sowohl in Subframe 0 als auch in Subframe 5 auftritt.

Sobald eine Signalspitze erkannt wurde, wird eine Korrelation mit 31 möglichen SSS im Subframe 0 und Subframe 5 ausgeführt, um eine von 168 möglichen Kombinationen von zwei SSS zu finden.

Das Ergebnis dieser zwei Schritte ist die Zellidentifikationsnummer, eine Zahl zwischen 0 und 3 · 168 – 1 = 503 (in unserem Beispiel 17) und das Frame-Timing.

Wir führen diese Schritte mit der Funktion lteCellSearch in der LTE-System-Toolbox aus. Die Funktion berechnet alle Korrelationen mit möglichen PSS und SSS und gibt die Zellen-ID und das Frame-Timing zurück.

Code

% Zelle in der Eingangswellenform suchen

[NCellID, TimingOffset] = lteCellSearch(enb, waveform);

% Eingabesignal synchronisieren, wenn das Frame-Timing bekannt ist

Wellenform = Wellenform (1+ TimingOffset:end);

Bild 6 zeigt das erhaltene Korrelationsergebnis an, nachdem über die Funktion lteCellSearch die Zellen-ID für das Eingabesignal bestimmt wurde.

Den Master-Information-Block entschlüsseln (Bandbreite festlegen)

Bild 6: Absolutbetrag der Korrelatorausgabe für das PSS/SSS der Zellen-ID = 17.

Bild 6: Absolutbetrag der Korrelatorausgabe für das PSS/SSS der Zellen-ID = 17. Mathworks

Nachdem nun das Frame-Timing und die Zellidentifikation bekannt sind, kann die OFDM-Demodulation auf dem Signal ausgeführt werden, um die OFDM-Gitterwerte zu extrahieren. Daraufhin kann eine Kanalschätzung basierend auf den bekannten Referenzsignalen (CRS), die über die Basisstation übermittelt wurden, durchgeführt werden. In LTE ist die Basisstation auch als eNodeB bekannt.

Um die OFDM-Modulation durchzuführen, werden die Funktionen lteOFDMDemodulate und lteDLChannelEstimate in der LTE System Toolbox aufgerufen:

Code

% OFDM-Demodulation ausführen, einschließlich der Entfernung eines Cyclic-Prefix

rxgrid = lteOFDMDemodulate(enb, waveform);

% Kanal auf mittleren 6 RBs schätzen

[ChannelEst, noiseEst] = lteDLChannelEstimate(enb,cec,rxgrid);

Bild 7 zeigt das Gitter nach der OFDM-Demodulation an. Das Signal ist aufgrund von Übertragungsstörungen und Geräuschen stark beeinträchtigt.

Nun müssen die Gitterpositionen berechnet werden, denen der MIB zugeordnet wurde. Diese Informationen müssen demoduliert, der MIB entschlüsselt und der Inhalt der binären Felder gedeutet werden. Alle diese Aufgaben können mit nur vier Matlab-Befehlen ausgeführt werden:

Code

% Ressourcen-Elemente, die zum PBCH gehören, aus dem ersten

% Subframe aus allen Empfängerantennen und Kanalschätzungen extrahieren

pbchIndices = ltePBCHIndices(enb);

[pbchRx, pbchHest] = lteExtractResources( ...

pbchIndices, rxgrid(:,1:L,:), hest(:,1:L,:,:));

% Dekodieren des PBCH

[bchBits, pbchSymbols, nfmod4, mib, enb.CellRefP] = ltePBCHDecode( ...

enb, pbchRx, pbchHest, nest);

% Analyse der MIB-Bits

enb = lteMIB(mib, enb);

Und enb, die Struktur, die die Basisstationsparameter (oder eNodeB) enthält, lautet wie folgt:

Code

NDLRB: 50

NCellID: 17

NSubframe: 0

CellRefP: 2

PHICHDuration: „Normal“

Ng: „One“

NFrame: 404

Aus den Funktionsaufrufen ergibt sich eine Zellenbandbreite die 50 Ressourcenblöcke (NDLRB) umfasst oder 10 MHz breit ist. Zusätzlich sind im MIB weitere Informationen erhalten, darunter die Anzahl der Antennen (zwei), die Frame-Anzahl (404) und die PHICH-Konfiguration (wird in diesem Artikel nicht behandelt).

Bild 7: Absolutbetrag des wiederhergestellten OFDM-Gitters.

Bild 7: Absolutbetrag des wiederhergestellten OFDM-Gitters. Mathworks

Abrufen von Systeminformationen

Folgende Schlüsselparameter sind jetzt bekannt: die Zellenidentität, das Frame-Timing, die Zellenbandbreite, die Anzahl der Antennen in der Zelle und die PHICH-Konfiguration.

Bevor sich nun die Basisstation kontaktieren lässt, sind jedoch noch weiter Informationen zur Zelle (beispielsweise, ob der Anbieter dieser Zelle auch derjenige ist, bei dem der Mobilfunknutzer unter Vertrag steht). Diese zusätzlichen Informationen sind in den verschiedenen Systeminformationsblöcken (SIB) enthalten. Als nächstes muss der Systeminformationsblock vom Typ 1 (SIB1) demoduliert werden.

Obwohl SIB1 innerhalb eines festgelegten Zeitplans übertragen wird, ist die Ressourcenzuteilung des PDSCH, auf dem der SIB1 versendet wird, dynamisch. Darauf wird in einer zugehörigen Nachricht aus der Downlink-Control-Information (DCI) hingewiesen, die auf dem PDCCH versendet wird.

Die Basisstation verschlüsselt alle DCI-Nachrichten mit einem Radio Network Identifier (RNTI), der den betreffenden Empfänger bezeichnet. SIB1 ist für alle Benutzer von Interesse. Sein RNTI ist 65535 (SI-RNTI oder Systeminformation RNTI genannt). Dadurch wird allen UEs – auch den nicht zugehörigen – ermöglicht, nach SIB1 suchen und ihn dekodieren zu können.

Dekodieren der SIB1-Steuerungsinformation

Das Identifizieren des PDCCH ist eine anspruchsvolle Aufgabe, da er im Vergleich zum BCH über eine komplexe Struktur verfügt: Der PDCCH versendet eine variable Anzahl von DCI-Nachrichten mit unterschiedlichen Längen, die an verschiedenen Orten innerhalb des PDCCH-Raumes beginnen können.

Nachdem alle Ziffern extrahiert sind, die dem PDCCH entsprechen muss nun eine Blindsuche nach einer DCI-Nachricht starten, die durch den SI-RNTI verschlüsselt wurde.

Die LTE-System-Toolbox enthält alle nötigten Funktionen zur Signalextraktion, einschließlich der Möglichkeit, eine Blindsuche im PDCCH-Raum durchzuführen. Der nachfolgende Code zeigt, wie der PCFICH zu entschlüsseln ist, um die Größe des Steuerungsbereichs zu bestimmen. Abschließend extrahiert man den PDCCH, führt für SI-RNTI eine Blindsuche im PDCCH-Raum durch und entschlüsselt SIB1.

Code

% Dekodieren des PCFICH

cfiBits = ltePCFICHDecode(enb, pcfichRx, pcfichHest, nest);

enb.CFI = lteCFIDecode(cfiBits);       % Get CFI

% PDCCH-Demodulation Der PDCCH wird nun demoduliert und dekodiert.

% Dabei werden ähnliche Ressourcenextraktionen und Dekodierungsfunktionen verwendet wie die, die bereits beim BCH- und CFI-Empfang erläutert wurden.

pdcchIndices = ltePDCCHIndices(enb); % Get PDCCH indices

[pdcchRx, pdcchHest] = lteExtractResources(pdcchIndices, rxgrid, hest);

% Dekodieren des PDCCH

[dciBits, pdcchSymbols] = ltePDCCHDecode(enb, pdcchRx, pdcchHest, nest);

% PDCCH-Blindsuche nach Systeminformationen (SI) und DCI-Dekodierung Mit der

% LTE System Toolbox kann eine vollständige Blindsuche auf dem PDCCH durchgeführt werden, um

% alle DCI-Nachrichten mit einer RNTI-Angabe (in diesem Fall mit einer SI-RNTI-Angabe) zu finden.

pdcch = struct('RNTI', 65535);

dci = ltePDCCHSearch(enb, pdcch, dciBits); % Search PDCCH for DCI

Bild 8 zeigt die Konstellation entsprechend des PDCCH. Die Steuerungsinformation wird nach einem QPSK-Schema moduliert.

Bild 8: Erhaltene PDCCH-Konstellation

Bild 8: Erhaltene PDCCH-Konstellation Mathworks

Dekodieren der SIB1-Daten

Da nun die dem SIB1 zugehörigen Steuerungsinformationen dekodiert sind, können jetzt die eigentlichen SIB1-Daten abgerufen und dekodiert werden.

Durch Analyse der DCI-Nachricht lässt sich die Konfiguration des entsprechenden PDSCH, auf dem der SIB1 versendet wird, ermitteln und damit der PDSCH demodulieren. Die dabei erhaltenen Bits sind für den DL-SCH dekodiert und liefern die SIB1-Bits:

Code

pdschIndices = ltePDSCHIndices(enb, pdsch, pdsch.PRBSet);

[pdschRx, pdschHest] = lteExtractResources(pdschIndices, rxgrid, hest);

% Dekodieren des PDSCH

dlschBits = ltePDSCHDecode(enb, pdsch, pdschRx, pdschHest, nest);

% Dekodieren des DL-SCH

[sib1, crc] = lteDLSCHDecode(enb, pdsch, trblklen, dlschBits);

Der Bitvektor sib1 ist nun zum Export aus Matlab zu einem ASN.1-Dekoder bereit, um die Nachricht des Systeminformationsblocks vom Typ 1 zu dekodieren.

Zusammenfassung

Dieses Beispiel hat gezeigt, wie sich mithilfe der LTE-System-Toolbox Systeminformationen aus einem live gesendeten LTE-Signal extrahieren lassen. Die Software unterstützt auch die Weiterverarbeitung des Signals, einschließlich Uplink und TDD-Modus sowie Konformitätstests und Messungen wie etwa der EVM und ACLR.

Entwickler können mit der Toolbox Simulationen auf Verbindungsebene und Leistungssimulationen durchführen, ihre eigene LTE-Implementierung überprüfen, LTE-Wellenformen generieren und analysieren oder – wie hier veranschaulicht – synthetisierte oder Live-Signale demodulieren, indem sie Matlab mit Test- und Messinstrumenten verbinden.

Für Firmen, die mit LTE-Signalen arbeiten, kann ein bewährtes 4G-LTE-Referenzmodell in Matlab eine große Hilfe sein. Darüber hinaus können auf Basis eines solchen Referenzmodells sowohl neue LTE-Systeme als auch zukünftige 5G- oder IoT-Systeme entwickelt werden, die derzeit im Fokus der Forschung liegen.