Schulungsübersicht
• Lernziele dieses Kurses
Nach Abschluss dieses Kurses sollte der Studierende in der Lage sein, viele der aktuell offenen Forschungsprobleme im Bereich der Kommunikationstechnik anzugehen, da er/sie mindestens folgende Fähigkeiten erworben haben wird:
‥ Karten und Manipulieren komplexer mathematischer Ausdrücke, die in der literatur zur Kommunikationstechnik häufig auftreten
• Fähigkeit, die von MATLAB angebotenen Programmierfunktionen zu nutzen, um die Simulationsergebnisse anderer Forschungsarbeiten nachzubilden oder sich diesen zumindest anzunähern.
• Erstellung von Simulationsmodellen für eigene Konzepte.
• Effiziente Anwendung der erworbenen Simulationsfähigkeiten in Kombination mit den leistungsfähigen MATLAB-Funktionen, um optimierte MATLAB-Codes hinsichtlich der Ausführungszeit bei gleichzeitiger Minimierung des Speicherverbrauchs zu entwickeln.
• Identifikation der Schlüsselfor Simulationsparameter gegebener Kommunikationssysteme, deren Extraktion aus dem Systemmodell und Untersuchung ihrer Auswirkungen auf die Leistung des betrachteten Systems.
• Kursstruktur
Das in diesem Kurs bereitgestellte Material ist extrem eng miteinander verknüpft. Es wird nicht empfohlen, eine Stufe zu besuchen, es sei denn, der Studierende hat die vorangehende Stufe besucht und deren Inhalte tiefgreifend verstanden, um die Kontinuität des erworbenen Wissens sicherzustellen. Der Kurs ist in drei Stufen unterteilt, beginnend mit einer Einführung in die MATLAB-Programmierung bis hin zum Niveau einer vollständigen System simulation wie folgt.
Stufe 1: Kommunikationsmathematik mit MATLAB
Sitzungen 01-06
Nach Abschluss dieses Teils wird der Studierende komplexe mathematische Ausdrücke auswerten und mühelos die geeigneten Graphen für verschiedene Datenrepräsentationen wie Zeit- und Frequenzbereichsdiagramme, BER-Diagramme, Antennenausstrahlungsmuster usw. erstellen können.
Grundlegende Konzepte
1. Das Konzept der Simulation
2. Die Bedeutung der Simulation in der Kommunikationstechnik
3. MATLAB als Simulationsumgebung
4. Zur Matrix- und Vektordarstellung skalarer Signale in der Kommunikationsmathematik
5. Matrix- und Vektordarstellungen komplexer Basisbandsignale in MATLAB
MATLAB-Desktop
6. Symbolleiste
7. Befehlsfenster
8. Arbeitsbereich
9. Befehlshistorie
Deklaration von Variablen, Vektoren und Matrizen
10. MATLAB-vordefinierte Konstanten
11. Vom Benutzer definierte Variablen
12. Arrays, Vektoren und Matrizen
13. Manuelle Matrixeingabe
14. Intervalldefinition
15. Linearer Raum
16. Logarithmischer Raum
17. Regeln für die Benennung von Variablen
Spezielle Matrizen
18. Die Eins-Matrix
19. Die Null-Matrix
20. Die Einheitsmatrix
Elementweise und matrixweise Manipulation
21. Zugriff auf bestimmte Elemente
22. Ändern von Elementen
23. Selektive Elimination von Elementen (Matrix-Abschneiden)
24. Hinzufügen von Elementen, Vektoren oder Matrizen (Matrix-Konkatenation)
25. Finden des Index eines Elements in einem Vektor oder einer Matrix
26. Umformen der Matrix
27. Abschneiden der Matrix
28. Konkatenation der Matrix
29. Spiegeln von links nach rechts und von rechts nach links
Unäre Matrixoperatoren
30. Der Summenoperator
31. Der Erwartungswertoperator
32. Min-Operator
33. Max-Operator
34. Der Spur-Operator
35. Die Determinante der Matrix |.|
36. Inverse der Matrix
37. Transponierte der Matrix
38. Hermitesche der Matrix
39. …usw.
Binare Matrixoperationen
40. Arithmetische Operationen
41. Relationale Operationen
42. Logische Operationen
Komplexe Zahlen in MATLAB
43. Komplexe Basisbanddarstellung von Bandpasssignalen und RF-Upkonversion, eine mathematische Übersicht
44. Erstellen komplexer Variablen, Vektoren und Matrizen
45. Komplexe Exponentialfunktionen
46. Der Realteiloperator
47. Der Imaginärteiloperator
48. Der Konjugationsoperator (.)*
49. Der Betragoperator |.|
50. Der Argument- oder Phasenoperator
In MATLAB integrierte Funktionen
51. Vektoren von Vektoren und Matrix von Matrizen
52. Die Quadratwurzelfunktion
53. Das Vorzeichen der Funktion
54. Die "Aufrunden zur ganzen Zahl"-Funktion
55. Die "Aufrunden zur nächsten unteren ganzen Zahl"-Funktion
56. Die "Aufrunden zur nächsten oberen ganzen Zahl"-Funktion
57. Die Fakultätsfunktion
58. Logarithmische Funktionen (exp, ln, log10, log2)
59. Trigonometrische Funktionen
60. Hyperbolische Funktionen
61. Die Q(.)-Funktion
62. Die erfc(.)-Funktion
63. Besselfunktionen Jo (.)
64. Die Gamma-Funktion
65. Befehle diff, mod
Polynome in MATLAB
66. Polynome in MATLAB
67. Rationale Funktionen
68. Ableitungen von Polynomen
69. Integration von Polynomen
70. Multiplikation von Polynomen
Diagramme mit linearer Skala
71. Visuelle Darstellungen kontinuierlicher Zeit-kontinuierlicher Amplitude-Signale
72. Visuelle Darstellungen treppenstufenapproximierter Signale
73. Visuelle Darstellungen diskreter Zeit-– diskreter Amplitude-Signale
Diagramme mit logarithmischer Skala
74. dB-Dekaden-Diagramme (BER)
75. Dekaden-dB-Diagramme (Bode-Diagramme, Frequenzantwort, Signal spektrum)
76. Dekade-Dekade-Diagramme
77. dB-lineare Diagramme
2D-Polardiagramme
78. (Planare Antennenausstrahlungsmuster)
3D-Diagramme
79. 3D-Ausstrahlungsmuster
80. Kartesische parametrische Diagramme
Optionaler Abschnitt (wird auf Anfrage der Lernenden bereitgestellt)
81. Symbolische Differentiation und numerische Differenzierung in MATLAB
82. Symbolische und numerische Integration in MATLAB
83. MATLAB-Hilfe und Dokumentation
MATLAB-Dateien
84. MATLAB-Skriptdateien
85. MATLAB-Funktionsdateien
86. MATLAB-Datendateien
87. Lokale und globale Variablen
Schleifen, Bedingungsflusssteuerung und Entscheidungsfindung in MATLAB
88. Die for-Ende-Schleife
89. Die while-Ende-Schleife
90. Die if-Ende-Bedingung
91. Die if-else-Ende-Bedingungen
92. Die switch-case-Ende-Anweisung
93. Iterationen, konvergierende Fehler, mehrdimensionale Summenoperatoren
Befehle zur Eingabe und Ausgabeanzeige
94. Der input(' ')-Befehl
95. disp-Befehl
96. fprintf-Befehl
97. Nachrichtenbox msgbox
Stufe 2: Signal- und Systemoperationen (24 Std.)
Sitzungen 07-14
Die Hauptziele dieses Teils sind wie folgt:
‥ Generieren von Zufallstestsignalen, die erforderlich sind, um die Leistung verschiedener Kommunikationssysteme zu testen.
‥ Kombinieren vieler elementarer Signaloperationen, die zu einer einzelnen Kommunikationsverarbeitungsfunktion wie Encodern, Randomisierern, Interleaver, Spread-Code-Generatoren …usw. am Sender sowie deren Gegenstücken am Empfangsende integriert werden können.
‥ Richtiges Verknüpfen dieser Blöcke, um eine Kommunikationsfunktion zu erreichen.
‥ Simulation von deterministischen, statistischen und semi-zufälligen Kanälen für Indoor- und Outdoor-Kleinbandsysteme.
Erzeugung von Kommunikationstestsignalen
98. Erzeugung einer zufälligen binären Sequenz
99. Erzeugung von zufälligen ganzzahligen Sequenzen
100. Importieren und Lesen von Textdateien
101. Lesen und Abspielen von Audiodateien
102. Importieren und Exportieren von Bildern
103. Bild als 3D-Matrix
104. RGB-zu-Graustufen-Transformation
105. Serieller Bitstrom eines 2D-Graustufenbildes
106. Unterunterteilung von Bildsignalen und Rekonstruktion
Signalvorbereitung und Manipulation
107. Amplitudenskalarisierung (Verstärkung, Dämpfung, Amplituden-Normalisierung …usw.)
108. Verschieben des Gleichspannungspegels
109. Zeitskalierung (Zeitskompression, Dehnung)
110. Zeitverschiebung (Zeitverzögerung, Zeitvorsprung, links- und rechtskreisförmige Zeitverschiebung)
111. Messen der Signalleistung
112. Energie- und Leistungsnormalisierung
113. Energie- und Leistungsskalierung
114. Serial-zu-Parallel- und Parallel-zu-Serial-Konvertierung
115. Multiplexing und Demultiplexing
Digitalisierung analoger Signale
116. Zeitchriffkontinuierlicher Zeit-Basisbandsignale in MATLAB
117. Amplitudenquantisierung analoger Signale
118. PCM-Codierung quantisierter analoger Signale
119. Dezimal-zu-Binär- und Binär-zu-Dezimal-Konvertierung
120. Pulsformung
121. Berechnen der geeigneten Pulsbreite
122. Auswählen der Anzahl der Abtastwerte pro Puls
123. Faltung unter Verwendung der Befehle conv und filter
124. Die Autokorrelation und Kreuzkorrelation zeitbegrenzter Signale
125. Der Fast Fourier Transform (FFT) und IFFT-Operationen
126. Anzeigen des Spektrums eines Basisbandsignals
127. Auswirkung der Abtastrate und des geeigneten Frequenzfensters
128. Beziehung zwischen Faltung, Korrelation und FFT-Operationen
129. Filterung im Frequenzbereich, nur Tiefpassfilterung
Hilfs-Kommunikationsfunktionen
130. Randomizer und De-Randomizer
131. Puncturer und De-Puncturer
132. Encoder und Decoder
133. Interleaver und De-Interleaver
Modulatoren und Demodulatoren
134. Digitale Basisbandmodulationsschemata in MATLAB
135. Visuelle Darstellung digital modulierter Signale
Kanalmodellierung und Simulation
136. Mathematische Modellierung der Kanalwirkung auf das übertragene Signal
‥ Addition – additive white Gaussian noise (AWGN)-Kanäle
‥ Multiplikation im Zeitbereich – Langsamfading-Kanäle, Dopplerverschiebung in Fahrzeugkanälen
‥ Multiplikation im Frequenzbereich – Frequenzselektive Fading-Kanäle
‥ Faltung im Zeitbereich – Kanalsignalverarbeitung
Beispiele für deterministische Kanalmodelle
137. Freiraumdämpfung und umgebungsabhängige Pfadverluste
138. Periodische Blockade-Kanäle
Statistische Charakterisierung gängiger stationärer und quasi-stationärer Multipath-Fading-Kanäle
139. Erzeugen einer gleichverteilten Zufallsvariablen (RV)
140. Erzeugen einer reellwertigen Gauß-verteilten RV
141. Erzeugen einer komplex Gauß-verteilten RV
142. Erzeugen einer Rayleigh-verteilten RV
143. Erzeugen einer Ricean-verteilten RV
144. Erzeugen einer logarithmisch-normalverteilten RV
145. Erzeugen einer beliebig verteilten RV
146. Approximieren einer unbekannten Wahrscheinlichkeitsdichtefunktion (PDF) einer RV durch ein Histogramm
147. Numerische Berechnung der kumulativen Verteilungsfunktion (CDF) einer RV
148. Reelle und komplexe additive white Gaussian noise (AWGN)-Kanäle
Kanalcharakterisierung durch ihr Power-Delay-Profil (PDP)
149. Kanalcharakterisierung durch ihr Power-Delay-Profil
150. Leistungsnormierung des PDP
151. Extrahieren der Kanalsignalverarbeitung aus dem PDP
152. Abtasten der Kanalsignalverarbeitung mit einer beliebigen Abtastrate, abgestimmte Abtastung und Verzögerungsquantisierung
153. Das Problem der nicht passenden Abtastung der Kanalsignalverarbeitung von Schmalbandkanälen
154. Abtasten eines PDP mit einer beliebigen Abtastrate und Bruchteilverzögerungskompensation
155. Implementierung mehrerer IEEE-standardisierter Indoor- und Outdoor-Kanalmodelle
156. (COST – SUI - Ultra Wide Band Kanalmodelle…usw.)
Stufe 3: Link-Level-Simulation praktischer Kommunikationssysteme (30 Std.)
Sitzungen 15-24
Dieser Teil des Kurses befasst sich mit dem wichtigsten Thema für Forschungsstudenten, nämlich wie die Simulationsergebnisse anderer veröffentlichter Arbeiten durch Simulation nachgebildet werden können.
Bitfehlerrate-Leistung von Basisband-Digitalmodulationsschemata
1. Leistungsvergleich verschiedener Basisband-Digitalmodulationsschemata in AWGN-Kanälen (Umfassende vergleichende Studie via Simulation zur Verifizierung theoretischer Ausdrücke); Streudiagramme, Bitfehlerrate
2. Leistungsvergleich verschiedener Basisband-Digitalmodulationsschemata in verschiedenen stationären und quasi-stationären Fading-Kanälen; Streudiagramme, Bitfehlerrate (Umfassende vergleichende Studie via Simulation zur Verifizierung theoretischer Ausdrücke)
3. Auswirkung von Dopplerverschiebungskanälen auf die Leistung von Basisband-Digitalmodulationsschemata; Streudiagramme, Bitfehlerrate
Hubschrauber-zu-Satelliten-Kommunikation
4. Arbeit (1): Low-Cost Real-Time Voice and Data System for Aeronautical Mobile Satellite Service (AMSS) – Problemstellung und Analyse
5. Arbeit (2): Pre-Detection Time Diversity Combining with Accurate AFC für Helicopter-Satellitenkommunikation – Der erste vorgeschlagene Lösungsweg
6. Arbeit (3): An Adaptive Modulation Scheme for Helicopter-Satellite Communications – Ein Ansatz zur Leistungsverbesserung
Simulation von Spread-Spectrum-Systemen
1. Typische Architektur von auf Spread-Spectrum basierenden Systemen
2. Direkte Sequenz Spread-Spectrum basierende Systeme
3. Pseudo-Zufällige Binärsequenz (PBRS)-Generatoren
‥ Erzeugung maximaler Längen-Sequenzen
‥ Erzeugung von Gold-Codes
‥ Erzeugung von Walsh-Codes
4. Zeithopping Spread-Spectrum basierende Systeme
5. Bitfehlerrate-Leistung von auf Spread-Spectrum basierenden Systemen in AWGN-Kanälen
‥ Auswirkung der Codier-rate r auf die BER-Leistung
‥ Auswirkung der Code-Länge auf die BER-Leistung
6. Bitfehlerrate-Leistung von auf Spread-Spectrum basierenden Systemen in Multipath-Slow-Rayleigh-Fading-Kanälen mit Null-Dopplerverschiebung
7. Analyse der Bitfehlerrate-Leistung von auf Spread-Spectrum basierenden Systemen in Hochgeschwindigkeits-Fading-Umgebungen
8. Analyse der Bitfehlerrate-Leistung von auf Spread-Spectrum basierenden Systemen bei Vorhandensein von Mehrbenutzer-Störungen
9. Übertragung von RGB-Bildern über Spread-Spectrum-Systeme
10. Optisches CDMA (OCDMA)-Systeme
‥ Optische orthogonale Codes (OOC)
‥ Leistungsgrenzen von OCDMA-Systemen; Bitfehlerrate-Leistung synchroner und asynchroner OCDMA-Systeme
Ultrabreite Bandbreiten-SS-Systeme
OFDM-basierte Systeme
11. Implementierung von OFDM-Systemen unter Verwendung der Fast Fourier Transform
12. Typische Architektur von auf OFDM basierenden Systemen
13. Bitfehlerrate-Leistung von OFDM-Systemen in AWGN-Kanälen
‥ Auswirkung der Codier-rate r auf die BER-Leistung
‥ Auswirkung des zyklischen Präfixes auf die BER-Leistung
‥ Auswirkung der FFT-Größe und Subcarrier-Abstand auf die BER-Leistung
14. Bitfehlerrate-Leistung von OFDM-Systemen in Multipath-Slow-Rayleigh-Fading-Kanälen mit Null-Dopplerverschiebung
15. Bitfehlerrate-Leistung von OFDM-Systemen in Multipath-Slow-Rayleigh-Fading-Kanälen mit CFO (Carrier Frequency Offset)
16. Kanalschätzung in OFDM-Systemen
17. Frequenzbereichsgleichrichter in OFDM-Systemen
‥ Zero Forcing Equalizer
‥ MMSE-Gleichrichter
18. Weitere gängige Leistungskennzahlen in auf OFDM basierenden Systemen (Peak-to-Average Power Ratio, Carrier-to-Interference Ratio …usw.)
19. Leistungsanalyse von auf OFDM basierenden Systemen in Hochgeschwindigkeits-Fading-Umgebungen (als Simulationsprojekt bestehend aus drei Arbeiten)
20. Arbeit (1): Inter-Carrier-Interferenz-Minderung
21. Arbeit (2): MIMO-OFDM-Systeme
Optimierung eines MATLAB-Simulationsprojekts
Ziel dieses Teils ist es, zu lernen, wie man ein MATLAB-Simulationsprojekt erstellt und optimiert, um den gesamten Simulationsprozess zu vereinfachen und zu organisieren. Darüber hinaus werden Speicherraum und Verarbeitungsgeschwindigkeit berücksichtigt, um Speicherüberlaufprobleme in Systemen mit begrenztem Speicher oder lange Laufzeiten aufgrund langsamer Verarbeitung zu vermeiden.
1. Typische Struktur von kleinen Simulationsprojekten
2. Extraktion von Simulationsparametern und Abbildung von Theorie auf Simulation
3. Aufbau eines Simulationsprojekts
4. Monte-Carlo-Simulationstechnik
5. Ein typisches Verfahren zum Testen eines Simulationsprojekts
6. Speicherraumverwaltung und Techniken zur Reduzierung der Simulationszeit
‥ Basisband vs. Bandpass-Simulation
‥ Berechnen der geeigneten Pulsbreite für abgeschnittene beliebige Pulsformen
‥ Berechnen der geeigneten Anzahl von Abtastwerten pro Symbol
‥ Berechnen der notwendigen und hinreichenden Anzahl von Bits zum Testen eines Systems
GUI-Programmierung
Einen MATLAB-Code ohne Fehler zu haben, der ordnungsgemäß funktioniert und korrekte Ergebnisse liefert, ist eine große Errungenschaft. Allerdings steuern eine Reihe von Schlüsselparametern in einem Simulationsprojekt die [Funktionalität]. Aus diesem Grund und weiteren Gründen wird ein zusätzlicher Vortrag über "Graphical User Interface (GUI) Programming" gehalten, um die Kontrolle über verschiedene Teile Ihres Simulationsprojekts direkt in Ihre Hände zu legen, anstatt sich in langen Quellcode-Listen voller Befehle zu verlieren. Darüber hinaus hilft das Maskieren Ihres MATLAB-Codes mit einer GUI dabei, Ihre Arbeit auf eine Weise darzustellen, die das Kombinieren mehrerer Ergebnisse in einem Master-Fenster erleichtert und den Vergleich von Daten vereinfacht.
1. Was ist ein MATLAB-GUI
2. Struktur der MATLAB-GUI-Funktionsdatei
3. Hauptkomponenten des GUI (wichtige Eigenschaften und Werte)
4. Lokale und globale Variablen
Hinweis: Die in jeder Stufe dieses Kurses behandelten Themen umfassen, sind aber nicht beschränkt auf diejenigen, die in jeder Stufe angegeben sind. Darüber hinaus können die Elemente jedes bestimmten Vortrags je nach den Bedürfnissen der Lernenden und ihren Forschungsinteressen geändert werden.
Voraussetzungen
Um das in diesem Kurs vermittelte umfangreiche Wissen zu erwerben, sollten die Teilnehmer über allgemeine Grundlagenkenntnisse gängiger Programmiersprachen und -techniken verfügen. Ein tiefgreifendes Verständnis von undergraduate-Kursen in der Kommunikationstechnik wird dringend empfohlen.
Erfahrungsberichte (2)
Die vielen Beispiele und das Schreiben des Codes von Anfang bis Ende.
Toon - Draka Comteq Fibre B.V.
Kurs - Introduction to Image Processing using Matlab
Maschinelle Übersetzung
Viele nützliche Übungen, gut erklärt
Helene Meadows - European Investment Bank
Kurs - MATLAB Programming
Maschinelle Übersetzung