chevron_left
chevron_right

Verstehen und Demodulieren von LTE-Signalen

Dieser Artikel erläutert, wie ein LTE-Signal strukturiert ist und wie Entwickler Informationen aus dem Signal abrufen können. Dann folgt ein Workflow, der mithilfe der LTE System Toolbox ein LTE-Downlink-Signal erfasst und demoduliert – von der Erstsynchronisierung zur Extraktion von LTE-Parametern und -Daten.

 

Long Term Evolution (LTE) ist bei Mobiltelefonen und Tablets inzwischen allgegenwärtig und auch für Unternehmen ausserhalb des ursprünglichen Mobilfunkmarktes interessant. LTE bietet wesentlich höhere Übertragungsgeschwindigkeiten als 3G-Technologien. 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.

Die Demodulation von LTE-Signalen und das Extrahieren von Informationen aus dem Rohsignal erfordern fundierte Kenntnisse über die LTE-Signalstruktur sowie komplexe Algorithmen. Jedoch erschweren solche Algorithmen, Normen und Technologien die Entwicklung eines LTE-Produkts. Die Analyse eines erfassten Signals, die Überprüfung der internen Implementierung eines Systems und die Generierung eines Signals erfordern einen beachtlichen Arbeitsaufwand, eine gewissenhafte Überprüfung, einen stetigen Entwicklungsprozess und eine konstante Entwicklungsumgebung.

Charakteristika des LTE-Basisbands

LTE ist prädestiniert, um Informationspakete mit kurzen Latenzzeiten (ein paar Millisekunden) effizient zu senden. Es basiert auf OFDM-Modulation und erfordert MIMO-Methoden. Ein LTE-Signal gliedert sich in Frames von 10 ms, jedes Frame wiederum in Subframes von 1 ms und jeweils 14 OFDM-Ziffern. Die Struktur eines Subframes wird normalerweise als 2D-Ressourcen-Gitter für Zeiten und Frequenzen dargestellt. Wenn ein LTE-Gerät, zum Beispiel ein Mobiltelefon, eingeschaltet wird, muss es zuerst das LTE-Netz erkennen und sich mit diesem verbinden. LTE kann mit Bandbreiten von 1,4 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ört Folgendes:

  • Primäre und sekundäre Synchronisations­signale (PSS und SSS), die das Frame-­Timing und die Zellidentifizierung bestimmen. Diese Signale treten bei allen fünf Subframes auf
  • Der Broadcast Channel (BCH), der den Master Information Block (MIB) trägt. Der MIB enthält Informationen, wie z. B. die tatsächliche Bandbreite der Zelle (von 1,4 bis 20 MHz). Der BCH tritt bei allen 10 Subframes auf

Nun enthält also jeder 14 OFDM-Ziffern, wovon die ersten Ziffern den Steuerungsbereich darstellen, weitere Ziffern die Nutzdaten. 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
  • Der Physical Downlink Control Channel (PDCCH) überträgt z. B. Informationen, welcher Teil des Gitters einem bestimmten Benutzer zugewiesen ist und welches Modulations- bzw. Kodierungsschema verwendet wird
  • Der Physical Downlink Shared Channel (PDSCH) überträgt den Datenverkehr

LTE-Signal mit Matlab demodulieren

Wenn ein Mobiltelefon eingeschaltet wird, führt es in der Regel die nachfolgenden Aufgaben durch:

  • Ein Signal auf einer vorhandenen LTE-­Trägerfrequenz erfassen
  • Die Frame-Synchronisation und die Zell­identifikation (Zellsuchvorgang) basierend auf dem PPS und SSS bestimmen
  • Den Master Information Block entschlüsseln, um die Bandbreiteninformation zu erhalten
  • Für jeden zu entschlüsselnden Subframe muss das Telefon Folgendes ausführen: Den PCFICH entschlüsseln, um die Grösse des Steuerungsbereichs zu bestimmen. Und dann die Steuerungsinformationen (PDCCH) lokalisieren, um die zugehörigen Daten (PDSCH) zu entschlüsseln

Frame-Timing und Zellidentifikation

Die Zellsuche wird in zwei Schritten ausgeführt:

  • Die Durchführung einer laufenden 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, Ausführen einer Korrelation mit 31 möglichen SSS im Subframe 0 und Subframe 5, um eine von 168 möglichen Kombinationen von zwei SSS zu finden

Das Ergebnis dieser zwei Schritte ist die Zell­identifikationsnummer, eine Zahl zwischen 0 und 3 × 168 – 1 = 503 (in unserem Beispiel 17) und das Frame-Timing. Der Entwickler führt diese Schritte in der LTE-System-Toolbox aus. lteCellSearch berechnet alle Korrelationen mit möglichen PSS und SSS und gibt die Zellen-ID und das Frame-Timing zurück.

% Zelle in der Eingangswellenform suchen

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

% Eingabesignal synchronisieren, wenn das Frame-Timing bekannt ist

Wellenform = Wellenform (1+ TimingOffset:end);

Nächste Aufgabe ist das Entschlüsseln des Master-Information-Block und Festlegen der Bandbreite. Wenn 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 erfolgt eine Kanalschätzung basierend auf den bekannten Referenzsignalen (CRS), die über die Basisstation übermittelt wurden.

% OFDM-Demodulation ausführen, einschliesslich der Entfernung eines Cyclic-Prefix

rxgrid = lteOFDMDemodulate(enb, waveform);

% Kanal auf mittleren 6 RBs schätzen

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

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:

% 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: NDLRB: 50, NCellID: 17, NSubframe: 0, CellRefP: 2, PHICHDuration: «Normal», Ng: «One», NFrame: 404

Das Ergebnis lautet, dass die Zellenbandbreite 50 Ressourcenblöcke (NDLRB) umfasst oder 10 MHz. Dazu kommen weitere Informationen aus dem MIB, darunter die Anzahl der Antennen (zwei), die Frame-Anzahl (404) und die PHICH-Konfiguration.

Abrufen von Systeminformationen

Folgende Schlüsselparameter sind bestimmt und können weiter verarbeitet werden:

  • Zellenidentität
  • Frame-Timing
  • Zellenbandbreite
  • Anzahl der Antennen in der Zelle
  • PHICH-Konfiguration

Vor dem Kontaktieren der Basisstation sind noch mehr Informationen zur Zelle nötig, etwa ob der Anbieter dieser Zelle auch derjenige ist, bei dem wir unter Vertrag sind. Diese zusätzlichen Informationen sind in den verschiedenen Systeminformationsblöcken (SIB) enthalten, weshalb der Systeminformationsblock vom Typ 1 (SIB1) noch zu demodulieren ist. 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 System Information RNTI genannt). Dadurch wird allen UEs – auch den nicht zugehörigen – ermöglicht, nach SIB1 suchen und ihn dekodieren zu können.

Dekodieren von SIB1-Steuerungsinfo

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.

Daher ist nach dem Extrahieren aller Ziffern, die dem PDCCH entsprechen, eine Blindsuche nach einer DCI-Nachricht nötig, die durch den SI-RNTI verschlüsselt wurde. Die LTE-System-Toolbox enthält alle nötigen Funktionen. Der unten stehende Code zeigt, wie der PCFICH zu entschlüsseln ist, um die Grösse des Steuerungsbereichs zu bestimmen. Der Entwickler extrahiert den PDCCH, führt für SI-RNTI eine Blindsuche im PDCCH-Raum durch und entschlüsselt SIB1.

Dekodieren der SIB1-Daten

Sobald die dem SIB1 zugehörigen Steuerungsinformationen dekodiert sind, lassen sich die eigentlichen SIB1-Daten abrufen und dekodieren. Der Entwickler analysiert die DCI-Nachricht, um die Konfiguration des entsprechenden PDSCH, auf dem der SIB1 versendet wird, anzugeben und den PDSCH zu demodulieren. Die dabei erhaltenen Bits sind für den DL-SCH dekodiert und liefern die SIB1-Bits. 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.

LTE System Toolbox unterstützt auch die Weiterverarbeitung des Signals, einschliesslich Uplink und TDD-Modus sowie Messungen wie etwa der EVM und ACLR und die Konformitätstests. Das alles erlaubt, Simulationen auf Verbindungsebene und Leistungssimulationen durchzuführen, eigene LTE-Implementierung zu überprüfen, LTE-Wellenformen zu generieren und zu analysieren oder – wie hier veranschaulicht – synthetisierte oder Live-Signale zu demodulieren, indem man Matlab mit Test- und Messinstrumenten verbindet. Für Schweizer Firmen, die mit LTE-Signalen arbeiten, kann ein bewährtes 4G-LTE-Referenzmodell in Matlab eine grosse Hilfe darstellen. 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. 

Infoservice

Mathworks GmbH
Murtenstrasse 143, 3008 Bern
Tel. 031 950 60 20, Fax 031 950 60 22
info@mathworks.chwww.mathworks.ch