Communications System Toolbox

Hauptmerkmale

  • Algorithmen zur Entwicklung der Bitübertragungsschicht von Kommunikationssystemen, darunter Quellcodierung, Kanalcodierung, Interleaving, Modulation, Kanalmodelle, MIMO, Entzerrung und Synchronisation
  • GPU-aktivierte Systemobjekte für berechnungsintensive Algorithmen wie Turbo-, LDPC- und Viterbi- Decoder
  • Eye Diagram Scope-App und Visualisierungsfunktionen für Konstellationen und Kanalstreuung
  • Bit Error Rate-App zum Vergleich der simulierten Bitfehlerrate eines Systems mit Analyseergebnissen
  • Kanalmodelle wie AWGN, Mehrwege-Rayleigh-Fading, Rice-Fading, MIMO-Mehrwege-Fading und LTE-MIMO-Mehrwege-Fading
  • Typische HF-Störungen wie Nichtlinearitäten, Phasenrauschen, thermisches Rauschen und Phasen- sowie Frequenzoffsets
  • Als MATLAB-Funktionen, MATLAB System Objects und Simulink-Blöcke verfügbare Algorithmen
  • Unterstützung für die Modellierung von Festkomma-Arithmetik sowie die Generierung von C- und HDL-Code

Entwurf, Charakterisierung und Visualisierung von Systemen

Für den Entwurf und die Simulation von Kommunikationssystemen ist die Fähigkeit von entscheidender Bedeutung, das Systemverhalten auch unter realistischen Störeinflüssen analysieren und dies grafisch und quantitativ darstellen zu können. Daneben muss festgestellt werden können, ob die Systemleistung den jeweils gültigen Standards genügt.

Die Communications System Toolbox adressiert eine Reihe typischer Aufgaben, die beim Entwurf und der Simulation von Kommunikationssystemen auftreten. Viele der Funktionen, Apps, System objects und Blöcke der System Toolbox führen Berechnungen für eine ganz bestimmte Komponente eines Kommunikationssystems durch wie etwa den Demodulator oder Equalizer.

Charakterisierung von Systemen

Die Communications System Toolbox enthält verschiedene Standardmethoden zur quantitativen Bewertung der Systemleistung:

  • Berechnung der Bitfehlerraten (BER)
  • APCR-Messungen (Adjacent Channel Power Ratio)
  • EVM-Messungen (Error Vector Magnitude)
  • MER-Messungen (Modulation Error Ratio)

Weil BER-Berechnungen eine zentrale Rolle bei der exakten Bewertung der Leistung eines Kommunikationssystems spielen, enthält die Communications System Toolbox eine breite Auswahl von Tools und Funktionen zur Konfiguration von BER-Testszenarien sowie zur Beschleunigung von BER-Simulationen:

Bit Error Rate Analysis-App: Eine App, mit der Sie die Bitfehlerrate von Kommunikationssystemen analysieren können. Zur Leistungsanalyse können simulationsbasierte, halbanalytische oder theoretische Ansätze eingesetzt werden.

Error Rate Test Console: Ein MATLAB-Objekt, das die Fehlerrate von Kommunikationssystemen durch Simulationen misst. Es unterstützt anwenderdefinierte Testpunkte und die Generierung parametrischer Leistungsdiagramme und -oberflächen. Durch Ausführung auf Mehrkern-Computern lässt sich die Simulation beschleunigen.

Mehrkern- und GPU-Beschleunigung: Eine Funktion der Parallel Computing Toolbox, die die Simulationsleistung durch Nutzung der Ressourcen von Mehrkern-Rechnern und GPU-Hardware erhöht.

Unterstützung für Distributed Computing und Cloud Computing: Diese Funktionen werden von der Parallel Computing Toolbox und dem MATLAB Distributed Computing Server bereitgestellt und ermöglichen die Nutzung von Serverfarmen sowie des Amazon EC2-Webdienstes.

Visualisierung der Systemleistung

Die Communications System Toolbox bietet folgende Funktionen zur Visualisierung der Systemleistung:

Channel Visualization Tool: Visualisiert die Eigenschaften von Fading-Kanälen.

Augendiagramme und Konstellations-Scatterplots: Ermöglichen ein qualitatives, visuelles Verständnis des Systemverhaltens und erleichtern damit die Entscheidung für einen definierten Ausgangsentwurf.

Signaltrajektorien: Bilden die Trajektorie von Signalen zwischen Entscheidungspunkten durchgehend ab.

BER-Diagramme: Visualisieren die quantitative, nach Metriken wie Signal/Rausch-Verhältnis und Festkomma-Wortlängen aufgeschlüsselte BER-Leistung von Entwurfskandidaten.

In der Kommunikationstechnik gebräuchliche Diagramme zur Visualisierung und Analyse von Signalen an beliebigen Punkten oder Schritten im Modell.

In der Kommunikationstechnik gebräuchliche Diagramme zur Visualisierung und Analyse von Signalen an beliebigen Punkten oder Schritten im Modell (im Uhrzeigersinn von links oben beginnend): Impulsantwort eines Kanals, I/Q-Signal-Augendiagramme, Vergleich der theoretischen und simulierten BER-Leistung, Scatterplot des empfangenen Signals.

Analoge und digitale Modulation

Mit analogen und digitalen Modulationsmethoden wird der Informationsstrom in ein für die Übertragung geeignetes Signal kodiert. Die Communications System Toolbox bietet verschiedene Modulationsfunktionen sowie die entsprechenden Demodulationen. Diese Funktionen sind als MATLAB-Funktionen und -Objekte, MATLAB System Objects und Simulink-Blöcke verfügbar.

Die Toolbox enthält folgende Modulationstypen:

Analog: AM, FM, PM, SSB und DSBSC

Digital: FSK, PSK, BPSK, DPSK, OQPSK, MSK, PAM, QAM und TCM

MATLAB-Funktion und Simulink-Modell mit Scatterplot für die 16-QAM-Simulation.

MATLAB-Funktion (links) und Simulink-Modell (rechts) mit Scatterplot für die 16-QAM-Simulation.

Quell- und Kanalcodierung

Die Communications System Toolbox enthält Funktionen für die Quell- und Kanalcodierung, mit deren Hilfe Kommunikationsarchitekturen in kurzer Zeit entwickelt und bewertet werden können. Diese Funktionen ermöglichen What-If-Studien und ersparen es Ihnen, Codierungsfunktionen von Grund auf neu entwickeln zu müssen.

Quellcodierung

Die Quellcodierung, die auch als Quantisierung oder Signalformatierung bekannt ist, verarbeitet Daten so, dass Redundanzen vermieden und Signale für die nachfolgende Weiterverarbeitung aufbereitet werden. Die Communications System Toolbox bietet verschiedene Arten von Algorithmen zur Implementierung der Quellcodierung und -decodierung:

  • Quantisierung
  • Kompandierung (µ-Law und A-Law)
  • DPCM (Differential Pulse Code Modulation)
  • Huffman-Codierung
  • Arithmetische Codierung

Kanalcodierung

Zur Unterdrückung von Rauschen und Kanalstörungen bietet die Toolbox Methoden für die Block- und Faltungscodierung und -decodierung, mit deren Hilfe Mechanismen zur Fehlererkennung und -korrektur implementiert werden können. Für die einfache Fehlerkennung ohne jegliche Korrektur steht außerdem eine CRC-Funktion zur Verfügung. Die Communications System Toolbox enthält folgende Funktionen für die Kanalcodierung:

  • BCH-Encoder und -Decoder
  • Reed-Solomon-Encoder und -Decoder
  • LDPC-Encoder und -Decoder
  • Faltungs-Encoder und Viterbi-Decoder
  • Orthogonaler Raum-Zeit-Block-Code (OSTBC) (Encoder und Decoder für MIMO-Kanäle)
  • Demos für Turbo-Encoder und -Decoder

Zusätzlich hierzu verfügt die Toolbox über Utilities zur Entwicklung eigener Codierungstypen, mit denen Sie Generatorpolynome, Koeffizienten und Syndromdecodierungs-Tabellen sowie Produktparitätsprüfungen und Generatormatrizen erzeugen können.

Zur Reduktion von Datenfehlern, die durch Burstfehler entstehen, enthält die Toolbox Funktionen für das Block- und Faltungsinterleaving und -deinterleaving.

Block: Allgemeiner Blockinterleaver, algebraischer Interleaver, Interleaver für das Schrägspurverfahren, Matrixinterleaver und Zufallsinterleaver

Faltung: Allgemeiner Multiplex-Interleaver, Faltungsinterleaver und Schrägspurinterleaver

Kanalmodellierung und HF-Störungen

Kanalmodellierung

Die Communications System Toolbox enthält Algorithmen und Tools für die Modellierung von Rauschen, Fading, Interferenzen und anderen für Kommunikationskanäle typischen Störungen. Die Toolbox unterstützt folgende Kanalmodelle:

  • Additives weißes gaußsches Rauschen (AWGN, Additive White Gaussian Noise)
  • MIMO-Fading (Multiple Input Multiple Output)
  • SISO- (Single Input Single Output), Rayleigh- und Rice-Fading
  • Binär symmetrisch

MATLAB-Kanalobjekte sind kompakte, konfigurierbare Implementierungen von Kanalmodellen, mit denen sich Parameter definieren lassen wie:

  • Pfadverzögerungen
  • Durchschnittliche Pfadverstärkung
  • Maximale Dopplerverschiebung
  • K-Faktor für Rice-Fading-Kanäle
  • Parameter für Dopplerspektren

Für MIMO-Systeme sind mit dem MATLAB MIMO-Kanalobjekt zusätzlich folgende Parameter verfügbar:

  • Zahl der Sendeantennen (bis zu 8)
  • Zahl der Empfangsantennen (bis zu 8)
  • Sende-Korrelationsmatrix
  • Empfangs-Korrelationsmatrix
Simulink-Modell eines adaptiven MIMO-Systems mit orthogonalen Raum-Zeit-Blockcodes (OSTBC).

Simulink-Modell eines adaptiven MIMO-Systems mit orthogonalen Raum-Zeit-Blockcodes (OSTBC).

HF-Störungen

Zur Modellierung der Auswirkungen eines nicht idealen HF-Front-Ends können folgende Störungen in das Kommunikationssystem eingebracht und so die Leistung unter realen Bedingungen untersucht und bewertet werden:

  • Gedächtnislose Nichtlinearitäten
  • Phasen- und Frequenzoffsets
  • Phasenrauschen
  • Thermisches Rauschen

Mit SimRF lassen sich weitere und komplexere HF-Störungen sowie aufwändigere HF-Schaltkreismodelle in Entwürfe integrieren.

Ein idealer 16-QAM-Scatterplot und seine Störung durch einen Phasen- und einen Frequenzoffset.

Ein idealer 16-QAM-Scatterplot (links) und seine Störung durch einen Phasen- (Mitte) und einen Frequenzoffset (rechts).

Entzerrung und Synchronisation

Die Communications System Toolbox enthält verschiedene Methoden zur Entzerrung und Synchronisation. Diese Methoden sind typischerweise adaptiv, weshalb ihre Entwicklung und Bewertung eine große Herausforderung darstellt. Die Communications System Toolbox bietet daher eine Reihe von Algorithmen und Tools, die die Auswahl der für ein bestimmtes Kommunikationssystem am besten geeigneten Methoden erleichtern und beschleunigen.

Entzerrung

Um eine möglichst breite Auswahl von Entzerrungsmethoden zu ermöglichen, enthält die Toolbox folgende adaptive Algorithmen:

  • LMS-Algorithmus
  • Normalisierter LMS-Algorithmus
  • LMS-Algorithmus mit variabler Schrittweite
  • LMS-Algorithmus mit Vorzeichen
  • MLSE (Viterbi)
  • RLS-Algorithmus
  • CMA-Algorithmus

Diese adaptiven Equalizer sind als nichtlineare DFE-Implementierungen (Decision Feedback Equalizer) sowie als lineare (Symbol- oder Fractionally Spaced-) Equalizer-Implementierungen verfügbar.

Scatterplot eines QPSK-Signals; gezeigt ist das Signal vor und nach der Entzerrung sowie die optimale Signalkonstellation.

Scatterplot eines QPSK-Signals; gezeigt ist das Signal vor und nach der Entzerrung sowie die optimale Signalkonstellation.

Synchronisation

Die Communications System Toolbox enthält Algorithmen, die sowohl zur Synchronisation der Trägerphase als auch der Timingphase geeignet sind.

Zur Synchronisation der Timingphase steht ein MATLAB Timing Phase Synchronizer-Objekt mit folgenden Implementierungsmethoden zur Verfügung:

  • Early-Late-Gate-Timing-Methode
  • Gardner-Methode
  • Nichtlinearität vierter Ordnung
  • Mueller-Muller-Methode
Simulink-Modell zur Wiederherstellung von Timing, Trägerfrequenz und Trägerphase für einen MSK-Empfänger.

Simulink-Modell zur Wiederherstellung von Timing, Trägerfrequenz und Trägerphase für einen MSK-Empfänger.

Scatterplot des empfangenen Signals nach Frequenzwiederherstellung und nach Phasenwiederherstellung.

Scatterplot des empfangenen Signals (links), nach Frequenzwiederherstellung (Mitte) und nach Phasenwiederherstellung (rechts).

Stream-Verarbeitung in MATLAB und Simulink

Die meisten Kommunikationssysteme verarbeiten Streaming- und framebasierte Daten mithilfe einer Kombination aus temporaler Verarbeitung und simultanen Mehrfrequenz- und Mehrkanalmethoden. Diese Art der mehrdimensionalen Stream-Verarbeitung findet man beispielsweise in den Architekturen aktueller OFDM- und MIMO-Systeme. Die Communications System Toolbox unterstützt sowohl die Stream-Verarbeitung als auch framebasierte Simulationen in MATLAB und Simulink und gestattet dadurch die Simulation komplexer Kommunikationssysteme.

In MATLAB wird die Verarbeitung von Streaming-Signalen durch System Objects ermöglicht, die datengetriebene Algorithmen, Quellen und Senken darstellen. Diese System Objects übernehmen für das Streaming typische Aufgaben wie die Datenindizierung, die Pufferung und die Verwaltung von Algorithmenzuständen. System Objects können mit gewöhnlichen MATLAB-Funktionen und -Operatoren gemischt werden. MATLAB-Programme, die System Objects verwenden, lassen sich mithilfe des MATLAB Function-Blocks in Simulink-Modelle integrieren. Für die meisten System Objects sind außerdem Simulink-Blöcke mit identischer Funktionalität vorhanden.

Simulink verarbeitet Streaming-Daten implizit durch Steuerung des Datenflusses durch die im Modell vorhandenen Blöcke. Simulink ist eine interaktive grafische Umgebung für die Modellierung und Simulation dynamischer Systeme, die Systemmodelle mithilfe hierarchischer Diagramme darstellt. Es verfügt über eine Bibliothek vordefinierter, vielseitiger Blöcke, die Algorithmen, Quellen und Senken sowie die Systemhierarchie darstellen.

Implementierung von Kommunikationssystemen

Festkommamodellierung

Viele Kommunikationssysteme basieren auf Hardware, für die ein festkommafähiger Entwurf benötigt wird. Die Communications System Toolbox unterstützt die Festkomma-Modellierung für alle relevanten Blöcke und System Objects durch Tools, mit denen sich Festkommaattribute konfigurieren lassen.

Die Festkommaunterstützung in der System Toolbox umfasst:

  • Wortlängen von 1 bis 128 Bit
  • Beliebige Binärkomma-Position
  • Methoden zur Überlaufbehandlung (Wrap oder Sättigung)
  • Die Rundungsmethoden Ceiling, Convergent, Floor, Nearest, Round, Simplest und Zero

Mit dem Fixed-Point Tool von Fixed-Point Designer™ können außerdem Fließkommadatentypen in Festkommadatentypen umgewandelt werden. Dieses Tool konfiguriert die Festkommaeigenschaften durch Verfolgung von Überläufen sowie Maxima und Minima.

Codegenerierung

Aus fertig entwickelten Algorithmen oder Kommunikationssystemen kann automatisch C-Code generiert und danach zur Verifikation, zum Rapid Prototyping und zur Implementierung genutzt werden. Die meisten System Objects, Funktionen und Blöcke der Communications System Toolbox unterstützen die Generierung von ANSI/ISO-C-Code mit MATLAB Coder, Simulink Coder oder Embedded Coder. Aus einer Teilmenge der System Objects und Simulink-Blöcke kann außerdem HDL-Code generiert werden.

Um bereits vorhandene IP (Intellectual Property) weiter nutzen zu können, stehen Optimierungen für bestimmte Prozessor-Architekturen zur Verfügung und es besteht die Möglichkeit, Legacy C-Code in generierten Code zu integrieren. C-Code kann außerdem sowohl für Fließkomma- als auch für Festkommadatentypen generiert werden.

DSP-Prototyping

DSPs werden bei der Implementierung von Kommunikationssystemen zur Verifikation, zum Rapid Prototyping und zur abschließenden Hardware-Implementierung verwendet. Der Embedded Coder kann PIL- (Processor-in-the-Loop) Simulationen durchführen, wodurch generierter Quellcode und kompilierter Code durch direkte Ausführung des Implementierungscodes auf dem Target-Prozessor verifiziert werden kann.

FPGA-Prototyping

FPGAs werden in Kommunikationssystemen zur Implementierung von Hochgeschwindigkeits-Signalverarbeitungsalgorithmen eingesetzt. Mit der FPGA-in-the-Loop-Funktion (FIL) des HDL Verifier können Sie RTL-Code für jeden vorhandenen HDL-Code auf echter Hardware testen. Dabei ist es unerheblich, ob der HDL-Code manuell geschrieben oder generiert wurde.

Probieren Sie Communications System Toolbox

Testsoftware anfordern

Vom Entwurf zur Implementierung - Signalverarbeitung mit MATLAB

Webinar anzeigen