Pmcdsp v5

1.611 Aufrufe

Veröffentlicht am

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.611
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
6
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Pmcdsp v5

  1. 1. Prof. Dr.-Ing. habil. K. Dostert Praktikum: „Mikrocontroller und digitale Signalprozessoren“ Versuch 5 Simulation eines Systems zur Nachrichtenübertragung mit Matlab / Simulink
  2. 2. Versuch 5 Einleitung Das Ziel dieses Praktikumsversuches ist es, Ihnen die Funktionsweise eines einfachen digitalen Datenübertragungssystemes, bestehend aus Sender, Kanal und Empfänger, zu verdeutlichen. Hierzu wird mit einem Softwaretool zur Simulation digitaler Signal- verarbeitungssysteme ein Datenübertragungssystem aufgebaut und durch Simulation untersucht. In der Simulation lässt sich der Weg der digitalen Daten verfolgen, die zunächst im Sender in eine zur Übertragung über den physikalischen Kanal geeignete Form „moduliert“ werden. Bei der Übermittlung über den Kanal werden die Datenströme durch Rauschen oder Kanalverzerrungen gestört. Der Empfänger muss nun anhand der gestörten Eingangsdaten entscheiden, welche Daten gesendet wurden. Im Verlaufe der Versuchsdurchführung werden Sie verschiedene Modulationsverfahren auf ihre Leistungsfähigkeit hin untersuchen. Zuerst erfolgt eine allgemeine Einführung zur Theorie der digitalen Nachrichtenübertragung. Im zweiten Kapitel wird das Simulationswerkzeug MATLAB / Simulink kurz vorgestellt, mit dem in diesem Versuch gearbeitet werden soll. Das dritte Kapitel enthält schließlich Aufgaben zur Vorbereitung des Versuches, sowie Aufgaben, die am Versuchsnachmittag gelöst werden sollen. 2
  3. 3. Simulation eines Datenübertragungssystems Nachrichtentechnische Grundlagen Komponenten eines Datenübertragungssystems Der grundsätzliche Aufbau eines Systems zur Übertragung digitaler Daten über einen analogen Kanal sieht wie folgt aus: digitale analoge analoge digitale Daten Daten Daten Daten analoger Empfänger Sender Kanal Bild 1: Datenübertragung auf einem analogen Kanal Durch den Sender und Empfänger wird das physikalische, analoge Übertragungsmedium, z.B. Fernsprech- oder Funkkanal, zum digitalen Kanal ergänzt. Der Sender soll die Daten in eine zur Übertragung über einen physikalischen Kanal möglichst geeignete Darstellungsform bringen. Da die Signalübertragung meist im Bandpaßbereich (ein begrenztes Frequenzband, welches die Frequenz 0 ausschließt) stattfindet, werden die Signale in einem Modulator oder Mischer aus dem Tiefpaß-/Basisbandbereich (ein Frequenzband welches die Frequenz 0 einschließt) in den Bandpaßbereich transformiert. Der Empfänger mischt die empfangenen Signale wieder in den Tiefpaßbereich und rekonstruiert möglichst fehlerfrei die gesendeten Daten. Der genauere Aufbau eines solchen Systems sieht vereinfacht (ohne Entzerrer, Takt- und Trägersynchronisation) aus nachrichtentechnischer Sicht wie folgt aus: Impuls- Daten Zeichencodierer Former Modulator ∞ ∑δ k =−∞ 0 (t − kT ) Kanal Entscheider / Daten Matched Filter Demodulator Zeichendecoder Bild 2: Aufbau eines Datenübertragungssystems (Einfache Linien stehen hier für reelle, doppelte Linien für komplexe Signale. Zeitdiskrete Signale sind gestrichelt dargestellt.) 3
  4. 4. Versuch 5 Im Zeichencodierer werden den als Binärzeichen/-symbole vorliegenden Daten Impulspaare (komplexe Signalvektoren) b(k) zugeordnet. Diese Folge von komplexen Zahlen (zeitdiskret) wird durch die Multiplikation mit einem Impulskamm in ein zeitkontinuierliches Signal umgesetzt, welches dann aus den mit den Signalvektoren gewichteten Impulsen im Abstand T = 1 (mit r als Symbolrate) besteht. Man kann sich das etwa so vorstellen: r Im Re t Bild 3: Eingangssignal des Impulsformers Diese Impulse werden im Impulsformfilter/Sendefilter mit der Impulsantwort des Impulsformers gefaltet, um eine zur Übertragung geeignete Impulsform zu erzeugen. Es folgt ein Modulator/Mischer zur Anpassung an den Kanal. Mit dem Demodulator wir das Empfangssignal wieder zurück in das komplexe Basisband umgesetzt. Das Matched Filter ist ein Empfangsfilter, das an die Signalform des Basisbandimpulses angepaßt ist und entspricht dem Impulsformer im Sendeteil. Nach der Abtastung wird dem empfangenen, gestörten Signalvektor im Entscheider der Signalvektor zugeordnet, von dem er am wahrscheinlichsten ausging. Der gewählte Signalvektor wird im Zeichendecoder wieder in die zugehörigen Binärzeichenfolge umgesetzt. Modulationsverfahren Wie bei analogen Modulationsverfahren unterscheidet man bei den digitalen zwischen Amplituden-, Phasen-, und Frequenzmodulation. Für das mit dem Träger der Frequenz f C modulierte Signal gilt grundsätzlich: z (t ) = Re{A ⋅ m(t ) ⋅ exp( j 2πf C t )} Je nach Modulationsverfahren ergibt sich ein anderes m(t), welches als modulierendes Signal eine Funktion des komplexen Basisbandsignals s(t) am Ausgang des Impulsformers hS (t ) ist: ∞ s( t ) = ∑ b( k ) ⋅ h (t − kT ) s k =−∞ Wir beschränken uns hier auf lineare Modulationsverfahren, die dadurch gekennzeichnet sind, dass sie nur die Amplitude und die Phasenlage des modulierten Signals z(t) beeinflussen. Dann gilt m(t)=s(t) (reellwertige Signale) und für das Sendesignal folgt: z (t ) = s1 (t ) ⋅ cos(2πf C t ) + s 2 (t ) ⋅ sin( 2πf C t ) mit s1 (t ) = Re{s (t )} und s 2 (t ) = Im{s (t )} Dabei bezeichnet man s1 (t ) als Inphasen- und s 2 (t ) als Quadraturkomponente des Signals. Die in Bild 2 als Modulator und Demodulator gekennzeichneten Blöcke sind dann sog. Mischer, welche das Eingangssignal lediglich auf eine andere Frequenz umsetzen. 4
  5. 5. Simulation eines Datenübertragungssystems Der Sender sieht also wie folgt aus: Seriell/ Signalraum Parallel Zuordnung Filter Mischer hS(t) a(k) z(t) Bitstrom b(k) b(t) s(t) sin(2pfCt) hS(t) Bild 4: Realisierung des Senders Der Empfänger ist entsprechend aufgebaut: Signalraum Parallel/ Mischer Filter Abtaster Entscheider Zuordnung Seriell hE(t) ^ r(t) a(k) cos(2π fCt) ^ sin(2πfCt) rE(t) rE(k) b(k) Bitstrom hE(t) sE(t)+nE(t) Bild 5: Realisierung des Empfängers Die Zuordnung der komplexen Signalvektoren b(k) zu den Binärzeichen/-symbolen a(k) im Zeichencodierer kann auf verschiedene Weise erfolgen und hat unterschiedliche Vor- und Nachteile. Veranschaulicht wird die Zuordnung im sog. Signalraumdiagramm. Grundsätzlich werden die Binärkombinationen im Sinne des Gray-Codes zu den Signalvektorpunkten zugeordnet: Gray: 0000 0001 0011 0010 0110 0111 0101 0100 Wert: 0 1 3 2 6 7 5 4 Gray: 1100 1101 1111 1110 1010 1011 1001 1000 Wert: 12 13 15 14 10 11 9 8 Beim Gray-Code unterscheiden sich benachbarte Binärkombinationen nur in einer Binärstelle. Dadurch wird die Zahl der fehlerhaft empfangenen Bits minimiert, weil davon auszugehen ist, dass Störungen mit kleiner Amplitude wahrscheinlicher sind als solche mit großer Amplitude und damit Fehlentscheidungen zuerst auf Nachbarpunkte fallen. Desweiteren versucht man die Signalpunkte möglichst weit voneinander weg zu legen. Gleichzeitig steigt aber die Energie pro Signalvektor quadratisch mit der Entfernung zum Nullpunkt an. 5
  6. 6. Versuch 5 Puls-Amplituden-Modulation (PAM) Bei der PAM, im Englischen Amplitude-Shift-Keying (ASK) genannt, werden die binären Zeichen a(k) unterschiedlichen Amplitudenstufen zugeordnet. Die entstehenden Signalpunkte liegen mit konstantem Abstand d zum Nachbarn um den Nullpunkt verteilt: m= 000 001 011 010 110 100 101 111 1 Amplitude d Am 0 Bild 6: Signalraumdiagramm eines 8-ASK Systems Da die Koeffizienten b(k) reell sind, vereinfacht sich die Signalverarbeitung stark, allerdings ist dadurch die Bandbreiteneffizienz nur halb so groß wie bei den folgenden Verfahren. Nachteilig ist auch, dass die Spitzenleistung hoch ist im Vergleich zur mittleren Ausgangsleistung und somit der Sendeverstärker in einem weiten Dynamikbereich betrieben wird. In Bild 6 wurde die maximale Amplitude von b(k) auf 1 normiert. Phase-Shift-Keying (PSK) Bei der Phasenmodulation liegen die Signalvektorpunkte in der komplexen Ebene und unterscheiden sich nur durch ihre Phasenlage: Im 1 101 111 100 110 000 0 1 Re 010 001 011 d Bild 7: Signalraumdiagramm eines 8-PSK Systems Die mittlere Signalleistung ist hier gleich der Spitzenleistung. Da alle Punkte gleiche Amplituden haben, können die Sendeverstärker bis an ihre Aussteuerungsgrenze betrieben werden. Auch beim Empfänger bietet dieses Verfahren Vorteile und ist sehr robust. Für eine große Anzahl Zeichen rücken die Signalvektoren allerdings immer weiter zusammen, so dass die Fehlerwahrscheinlichkeit steigt oder die Sendeleistung stark erhöht werden muss. 6
  7. 7. Simulation eines Datenübertragungssystems ASK / PSK Um diesen Nachteil auszugleichen kann man PSK dahingehend erweitern, daß man zusätzlich Amplitudenabstufungen einführt. Dabei verteilen sich die Signalvektoren gleichmäßig in den durch die Signalamplituden bestimmten Kreisen: Im 010 1 011 000 111 001 0 1 Re 110 101 100 Bild 8: Signalraumdarstellung eines ASK/PSK-Systems Der Vorteil des Verfahrens liegt hauptsächlich in der Möglichkeit des einfachen Zurückschaltens auf niederstufigere Modulationsverfahren bei sich verschlechterndem Kanal, indem man einfach einen Kreis weglässt, die Amplitude nachregelt und somit die Fehlerwahrscheinlichkeit erniedrigt. 7
  8. 8. Versuch 5 Quadratur-Amplituden-Modulation (QAM) Beim QAM-Verfahren verteilt man die Signalpunkte gleichmäßig orthogonal in der Ebene: Im M=16 0000 0001 0011 0010 1 d 0100 0101 0111 0110 0 1 Re 1100 1101 1110 1000 1001 1011 1010 Bild 9: Signalraumdarstellung eines 16-QAM Systems Man erhält so eine hohe Packungsdichte und der Entscheider vereinfacht sich. Allerdings sind die Anforderungen an das Gesamtsystem hier am höchsten, da es am empfindlichsten gegen Abweichungen ist. Kanal Der physikalische Kanal ist prinzipiell nicht ideal, d.h. er verändert die Signale bei der Übertragung. Dies geschieht durch nichtlineare Amplituden- und Phasengänge, Verzerrungen, Störungen durch Rauschen, Übersprechen, etc. Beim Kanal kann es sich dabei um drahtgebundene Übertragung, terrestrische Funkkanäle, Satellitenstrecken oder auch Speichern und Lesen handeln. Allen gemeinsam ist, dass in der Regel nur reelle Signale übertragen werden und nur ein begrenzter Frequenzbereich nutzbar ist. Kanäle werden durch Modelle beschrieben, die den Sinn haben, wesentliche Eigenschaften von physikalischen Systemen aufzuzeigen, diese zu simulieren, sowie Voraussagen über deren Verhalten zu machen. Eines der einfachsten Modelle, das trotzdem die für die Übertragungsqualität wichtigsten Eigenschaften abdeckt, ist folgendes: n(t) HK(f) Bild 10: Lineares Modell des Übertragungskanals mit additiven Störungen 8
  9. 9. Simulation eines Datenübertragungssystems Die Übertragungsfunktion H K ( f ) beschreibt dabei die linearen Eigenschaften des Kanals, also die frequenzabhängige Dämpfung und Gruppenlaufzeit. Das Störquellenmodell N beschreibt die Störungen, welche sich additiv dem Nutzsignal überlagern. Wir betrachten im folgenden solch einen Kanal, der zusätzlich die Eigenschaft hat, dass das Rauschen durch einen weißen Prozess mit Gaußscher Wahrscheinlichkeitsdichtefunktion beschrieben wird. Solange keine sog. ISI (Inter-Symbol-Interferenz, also gegenseitige Beeinflussung der zu übertragenden Symbole) durch die Gesamtübertragungsfunktion (Gesamtsystem aus Sende-, Kanal-, und Empfangsfilter) auftritt, folgt aus diesen zwei Voraussetzungen außerdem, dass die Einzelfehler statistisch unabhängig sind („Kanal ohne Gedächtnis“), was das Rechnen erleichtert. Man bezeichnet solch einen Kanal als AWGN-Kanal (Additive White Gaussian Noise). Die Kanalverzerrungen seien im folgenden der Einfachheit halber nicht vorhanden (HK=1). Wie schon erwähnt, besitzen reale Kanäle eine begrenzte Bandbreite. Da folglich auch das Gesamtsystem, bestehend aus Sendefilter, Kanal und Empfangsfilter, bandbegrenzt ist, ist die Impulsantwort dieses Systems theoretisch unendlich lang. Es ist also nicht zu vermeiden, dass sich aufeinander folgende Impulse, die jeweils einem Symbol zugeordnet sind, gegenseitig überlappen. Da man aber wie erwähnt keine gegenseitige Beeinflussung der Symbole (ISI), wünscht, ergibt sich eine Bedingung für die Impulsantwort des Gesamtsystems, die sog. erste Nyquistbedingung: 1 k = 0 h(t ) |t =kT = h(kT ) =  mit h(t ) = hS (t ) ∗ hK (t ) ∗ hE (t ) 0 k ≠ 0 Das bedeutet, daß die Impulsantwort des Gesamtsystems nur zu ihrem zugehörigen Abtastzeitpunkt (k=0) einen Betrag liefert. Zu allen anderen Abtastzeitpunkten ist sie Null. Ein System, das dieser Bedingung genügt, nennt man auch ideales Impulssystem. Dadurch bekommt man beim Abtasten einen Signalvektor, der nur von einem Sendesymbol abhängt. Transformiert man die obige Formel in den Frequenzbereich, erhält man: ∞ ∑H( f − n n = −∞ 1 T )=T 1 Dies bedeutet, dass die Summe der um das Vielfache von T verschobenen Frequenzgänge des idealen Impulssystems eine Konstante ergibt: Bild 11: Frequenzgang des idealen Impulssystems 9
  10. 10. Versuch 5 Solche Frequenzgänge sind dadurch gekennzeichnet, daß sie Symmetrieeigenschaften zur Bandgrenze f 1 = 1 ⋅ T = 1 r besitzen. Da h(t) außerdem reell ist, muß der Amplitudengang 2 1 2 gerade sein. |H(f)| |H(f)| f1 f f1 f Bild 12: Beispiele für Amplitudengänge idealer Impulssysteme Am einfachsten läßt sich diese Bedingung erfüllen, indem man für die Übertragungsfunktion r einen idealen Tiefpaß mit der Grenzfrequenz 2 wählt. Dies stellt auch die minimal erreichbare Bandbreite dar, nämlich B = 2 2 = r = T : r 1 p(t) P(f) -1 r t r f 2 Bild 13: idealer Tiefpaß im Zeit- und Frequenzbereich Weil der ideale Tiefpaß nicht realisierbar ist (unendliche Flankensteilheit bzw. unendliche Impulsdauer), stellt er keine in der Praxis einsetzbare Lösung dar. Man approximiert daher bei der Datenübertragung ein Filter, das einen cosinusförmigen Übergang zwischen Durchlaß- und Sperrbereich besitzt und deshalb auch nach der englischen Bezeichnung Raised Cosine Filter heißt. Der Parameter ρ , der sog. Roll-off-Faktor, bestimmt dabei die Steilheit und die Bandbreite des Filters und damit auch die Länge der Impulsantwort. Dieser geht von ρ = 0 (idealer Tiefpaß) bis zu ρ = 1 , ein im Frequenzbereich cosinusförmiges Filter, das die doppelte Bandbreite gegenüber dem idealen Tiefpaß benötigt: Bild 14: Roll-off-Filter bei verschiedenen Roll-off-Faktoren im Zeit- und Frequenzbereich 10
  11. 11. Simulation eines Datenübertragungssystems Neben der einfachen Realisierbarkeit gibt es in der Praxis noch weitere Wünsche bzgl. des Impulssystems. Hierzu gehören eine möglichst robuste Taktrückgewinnung sowie ein möglichst weit geöffnetes Augendiagramm: Bild 15: Augendiagramme von Roll-off-Impulsen für ρ = 0,25 (links) und ρ = 0,95 (rechts) Das Augendiagramm ist die Darstellung des Signals im Empfänger vor dem Abtasten durch taktsynchrone Überlagerung des um Vielfache von T verschobenen Signals. Dadurch bildet sich die typische Augenform des Diagramms. Damit lässt sich beurteilen, wie gut man aus dem Empfangssignal die übertragenen Daten zurückgewinnen kann. Ein in vertikaler und horizontaler Richtung möglichst weit geöffnetes Auge bedeutet geringe Empfindlichkeit bezüglich Abtastzeitfehler und damit Entscheidungsfehler. Bezüglich dieser Eigenschaften weisen Roll-off-Impulse mit großem Wert von ρ Vorteile auf, die jedoch durch den um den Faktor 1 + ρ erhöhten Bandbreitenbedarf (und damit auch zusätzlicher Störeinfluss) gegenüber dem idealen Tiefpass erkauft werden müssen. Filter Bis jetzt wurde nur gezeigt, wie die Kettenschaltung aus Sende- und Empfangsfilter aussehen sollte, aber nicht, wie die Gesamtübertragungsfunktion auf diese aufgeteilt wird. Man kann zeigen, daß für ein maximales Signal- zu Rauschverhältnis am Entscheidereingang folgende Bedingung gelten muß: ! ! hS (t ) = c ⋅ hE (−t ) HS ( f )=c⋅ HE ( f ) * bzw. Wegen dieser Anpassung der Impulsformen von Sende- und Empfangsfilter spricht man von angepassten Filtern, was der englischen Bezeichnung Matched Filter entspricht. Zusammen mit der Bedingung, dass die Kettenschaltung aus Sende- und Empfangsfilter ein ideales Impulssystem H sein soll, ergibt sich für den Frequenzgang von Sende- und Empfangsfilter: HS ( f ) = c ⋅ HE ( f ) = c ⋅ H( f ) * Der Sendefilter ist wie schon erwähnt gleichbedeutend mit dem Impulsformer. Da der Frequenzgang des Gesamtsystems einem Raised-Cosine-Filter entsprechen soll, ergibt sich jeweils für das Sende- und das Empfangsfilter ein Wurzel-Cosinus-Roll-Off-Filter (engl. Root-Raised-Cosine Filter). Das Matched-Filter filtert das Eingangssignal so, dass das Signal möglichst ungehindert passiert, während Störungen möglichst gut unterdrückt werden. 11
  12. 12. Versuch 5 Entscheider Der Detektor soll sich für das Symbol entscheiden, welches am wahrscheinlichsten gesendet wurde. Bei Annahme gleicher A-priori-Wahrscheinlichkeit aller Symbole folgt daraus, dass sich der Empfänger für den Signalvektor entscheidet, welcher bei vorgegebener Störverteilung der Wahrscheinlichste ist. Man nennt dies auch das ML-Kriterium (Maximum Likelihood). Die additiven Störungen auf dem Kanal werden, wie erwähnt, als weiß und gaußverteilt angenommen. Da sich bei der Addition zweier Signale (hier Nutz- und Störsignal) deren Wahrscheinlichkeitsdichtefunktionen falten, ergibt sich für die Dichtefunktion des Abtastwerts am Ausgang des Empfangsfilters eine Summe von Gaußverteilungen, die an den Stellen der Sendesignalpunkte stehen (Bild 16): Bild 16: Dichteverteilung am Eingang des Entscheiders bei einer 4-PSK Da alle 4 Gaußglocken gleichartig sind (Störungen unabhängig vom Signal) wird hier sehr anschaulich, dass die Fehlerwahrscheinlichkeit zum Minimum wird, wenn sich der Empfänger für den Signalvektor mit dem kleinsten euklidischen Abstand zum Empfangsvektor entscheidet. Man kann folglich das Signalvektordiagramm in Entscheidungsräume einteilen, deren Grenzen die Mittelsenkrechten zwischen den Signalpunkten sind. 12
  13. 13. Simulation eines Datenübertragungssystems Beim QAM-Verfahren sehen die Entscheidungsbereiche dann wie folgt aus: Im 0000 0001 0011 0010 2-1/2 0100 0101 0111 0110 -2 -1/2 0 2 -1/2 Re 1100 1101 1110 A B 1000 1001 -1/2 1011 1010 -2 Bild 17: optimale Entscheidungsbereiche bei QAM (AWGN / ML) Eine Fehlentscheidung im Empfänger tritt also dann auf, wenn der Empfangsvektor in einem anderen Gebiet liegt als der Sendevektor. Die Verhältnisse sollen am Beispiel von 2-ASK verdeutlicht werden: Z0 Z1 f(r) f(r ∩ Z1) f(r) P(Z1) s0 Entscheidungs- s1 s grenze Bild 18: Wahrscheinlichkeitsverteilungen bei 2-ASK Während in Bild 16 nur die Dichteverteilung der Empfangsvektoren f(r) dargestellt wird, kann man in Bild 18 auch die Einzeldichten f(r und Zi) erkennen. Die Dichte f(r) entsteht aus der Addition der Einzeldichten f(r und Zi). Betrachtet man nun den Symbolpunkt s1, so tritt ein Fehler auf, wenn r über die Entscheidungsgrenze fällt. Die markierte Fläche, also das Integral über die Wahrscheinlichkeitsdichte, entspricht also der Fehlerwahrscheinlichkeit, wenn Z1 gesendet wurde. Um die Gesamtfehlerwahrscheinlichkeit zu erhalten, muß die Summe dieser Flächen über alle Zeichen gebildet werden. 13
  14. 14. Versuch 5 Aspekte der Simulation Äquivalente Basisbanddarstellung Bei der an den Rechner gebundenen Simulation nachrichtentechnischer Systeme müssen die im Modell analogen Signale zeitdiskret darstellt werden. Damit ein zeitkontinuierliches Signal fehlerfrei als zeitdiskrete Folge dargestellt werden kann, muss bekanntlich das Abtasttheorem erfüllt sein. Nun wäre es unökonomisch, einen Bandpasskanal direkt abzutasten, da die höchste vorkommende Frequenz, welche ja die halbe Abtastfrequenz bestimmt, um einiges größer ist als die Signalbandbreite: |H(f)| B 0 fC f Bild 19: reales Betragsspektrum bei der Übertragung Da der Übertragungsweg aber bandbegrenzt ist, könnte man den gesamten Übertragungsweg in der Frequenz nach unten legen (auf f C ' = B ) und die Übertragung dort betrachten: 2 |HTP(f)| 0 fC’ f Bild 20: in den Tiefpassbereich gemischtes Signal Dazu muss natürlich der Kanal in der Frequenz nach unten transformiert werden, damit sich die Eigenschaften des Kanals in Bezug auf das Signal nicht ändern. Dann aber lässt sich der Übertragungskanal mit einer Abtastrate von mind. 2B simulieren. Der Kanal ist nach wie vor reell. Man kann jedoch noch einen Schritt weiter gehen und den Kanal ganz in die Frequenznullage bringen. Ein reelles Bandpasssignal kann immer als äquivalentes (komplexes) Tiefpasssignal darstellt werden: |HTP(f)| 0 f Bild 21: Darstellung als äquivalentes Tiefpaßsignal 14
  15. 15. Simulation eines Datenübertragungssystems Die gesamte Übertragungsstrecke einschließlich Modulation und Demodulation kann also durch einen komplexen Tiefpasskanal ersetzt werden: Impuls- Former Modulator äqui- valenter Tiefpaß Kanal Kanal Matched Filter Demodulator Bild 22: Darstellung der Übertragungsstrecke als äquivalenter Tiefpasskanal Diese Darstellungsweise werden auch wir in der Simulation verwenden. Umsetzung Wie bereits erwähnt, werden in der Rechnersimulation auch analoge Signale digital dargestellt. Das bedeutet aber, dass die mathematische Umsetzung der zeitdiskreten in zeitkontinuierliche Signale (durch Multiplikation mit Impulskamm) bzw. umgekehrt (durch Abtastung) bei einer digitalen Simulation nichts anderes ist als eine Ratenumsetzung von der Datenrate r in eine Abtastrate fa, die so gewählt sein muss, dass das Signal am Ausgang des Impulsformfilters überfaltungsfrei dargestellt werden kann. Durch die Verwendung des Raised-Cosine-Filters ist die Ausgangsbandbreite auf max. 2 ⋅ 2 = r begrenzt, so dass eine r Abtastrate größer 2r notwendig ist. Es ergibt sich also ein Umsetzfaktor (Oversamplingfaktor) von mindestens 2. 15
  16. 16. Versuch 5 Berechnungen Signalleistung Die Berechnung der mittleren Signalleistung am Ausgang des Senders kann im Zeit- oder Frequenzbereich erfolgen. Es zeigt sich jedoch, dass letzteres einfacher ist. Die mittlere Signalleistung kann durch ein Integral über das Leistungsdichtespektrum im Basisband (Signal s(t) bzw. Prozess S) berechnet werden: ∞ PS = φ SS (0) = E S { }= ∫ Φ2 ss ( f ) df −∞ Das Signal s(t) am Ausgang des Sendefilters entsteht aber durch Multiplikation des Signalprozesses B mit dem Impulskamm und Filterung mit dem Sendefilter, was sich wie bereits beschrieben als Summe der mit den Signalvektoren gewichteten Impulsantworten darstellen lässt: ∞ s (t ) = ∑ b( k ) ⋅ h k = −∞ S (t − kT ) Für die zugehörigen Leistungsdichtespektren gilt dann: ∞ Φ SS ( f ) = T Φ BB (e j 2πfT ) ⋅ H S ( f ) Φ BB (e j 2πfT ) = ∑φ (k ) e − j 2πfkT 1 2 mit BB k = −∞ Nimmt man an, dass die Signalvektoren b(k) mit gleicher Wahrscheinlichkeit auftreten und einem weißen Zufallsprozess entstammen, so folgt für die Autokorrelationsfunktion: φ BB (k ) = E{B 2 }⋅ δ 0 (k ) und damit { } Φ BB (e j 2πfT ) = E B 2 { } wobei E B 2 wiederum der Erwartungswert der Leistung der Signalvektoren ist, der aus den M Signalvektoren des Signalraumdiagramms berechnet wird. Bei Gleichverteilung ergibt sich: { } M E B2 = ∑b 1 2 M i i =1 Da es sich hier um einen idealen Kanal handelt, besteht die Übertragungsfunktion des Gesamtsystems H ( jω ) nur aus Sende- und Empfangsfilter. Diese bilden aber gerade einen Cos-Roll-Off-Filter, dessen Übertragungsfunktion bzw. Impulsantwort bekannt ist:  1 f < f1 (1 − ρ ) 1 H ( f ) =  2 (1 − sin( 2πρ ( ff1 − 1))) f1 (1 − ρ ) ≤ f < f1 (1 + ρ )  0 f1 (1 + ρ ) ≤ f  cos(2πf1t ) h(t ) = 2 f1 si (2πf1t ) mit si ( x) = sin( x ) 1 − (4 ρf1t ) 2 x Das Sendefilter besitzt dabei, wie im Kapitel Filter beschrieben, die Übertragungsfunktion: HS ( f ) = H( f ) Die Leistungsberechnung sieht also jetzt so aus: 16
  17. 17. Simulation eines Datenübertragungssystems ∞ PS = E B1 T { }∫ H 2 S 2 ( f ) df −∞ Das Integral über die quadratische Übertragungsfunktion des Sendefilters entspricht der Energie der Impulsantwort des Sendefilters und ergibt: ∞ ∞ ∫ H S ( f ) df = ∫ hS (t ) dt = E F 2 2 in unserem Fall: −∞ −∞ ∞ ∞ ∫ H S ( f ) df = ∫ H ( f ) df =T 2 1 −∞ −∞ Zusammenfassend ergibt sich für die mittlere Sendeleistung somit: PS = T ⋅ E{B 2 }⋅ E F E {B 2 } = M 1 ∑b und E F = 1 1 2 mit M i i =1 T Für die mittlere Symbolenergie ergibt sich mit E C = PS ⋅ T : { } EC = E B 2 ⋅ E F Fehlerwahrscheinlichkeit Die Bitfehlerwahrscheinlichkeit bzw. bit error rate (BER) ist gebräuchlichste Maß, um verschiedene Übertragungsverfahren in ihrer Leistungsfähigkeit zu vergleichen. Im folgenden soll die BER unter den bisher getroffenen Voraussetzungen berechnet werden. Ein Symbolfehler (Detektor entscheidet sich für ein falsches Symbol) tritt auf, wenn der Empfangsvektor r außerhalb des korrekten Entscheidungsgebietes liegt (Bild 17 und 18). Die Fehlerwahrscheinlichkeit des Systems lässt sich durch die Fehlerwahrscheinlichkeiten der einzelnen Zeichen ausdrücken: M M P( F ) = ∑ P ( F ∩ S i ) = ∑ P( F | S i ) ⋅ P( S i ) i =1 i =1 Wegen Gleichverteilung der Symbole gilt P ( S i ) = M . Außerdem gilt P ( F ) = 1 − P (C ) , wobei 1 P(C) die Wahrscheinlichkeit für eine korrekte Entscheidung ist. Insgesamt also: M P( F ) = 1 − 1 M ∑ P(C | S ) i =1 i Die Wahrscheinlichkeit für eine korrekte Entscheidung bei einem bestimmten Zeichen lässt sich durch das Integral über die bedingte Wahrscheinlichkeitsdichte in dem Bereich der zur korrekten Entscheidung führt berechnen: P(C S i ) = ∫ f R Z i (r si ) dr ACi Setzt man ein additives Störmodell voraus (r=s+n) und von dem Signal unabhängige Störungen, so lässt sich die bedingte Wahrscheinlichkeitsdichte vereinfachen: f R| S i ( r | s i ) = f N | S i ( r − s i | s i ) = f N ( r − s i ) 17
  18. 18. Versuch 5 Bei Annahme von weißem Gaußschen Rauschen mit gleicher Störleistung in beiden Dimensionen ist:  r − si 2 1  f N (r − si ) = exp −  2πσ N ²  2σ N ²    Um die Fehlerwahrscheinlichkeit einfach berechnen zu können, vor allem wenn die Gebiete geometrisch recht kompliziert ausfallen (z.B. bei ASK/PSK), kann man für eine Abschätzung der Fehlerwahrscheinlichkeit den Entscheidungsgebieten für korrekte Entscheidungen Kreisflächen einbeschreiben, die deren Grenze an mindestens einem Punkt berühren. Man nennt diese Methode Kreisflächenverfahren oder spherical bound:  ρ ²  P(C S i ) ≥ 1 − exp − i   2σ ²  mit ρ i als Kreisradius beim Signalvektor i  N  Meist ist der minimale Abstand d zum nächsten Nachbar für jeden Signalpunkt gleich. Die Kreisradien sind dann gerade ρ i = d . Für die Symbolfehlerwahrscheinlichkeit ergibt sich 2 dann: M  ( d )²   d²  P( F ) ≤ 1 M ∑  2σ ²  exp − 2  = exp − 4 2   2σ  i =1  N   N  Die Varianz der Störung ist gleich der Rauschleistung am Entscheidereingang PN E = σ n ² (Real- und Imaginärteil rauschen jeweils mit σ n ² ). Für die durch das Empfangsfilter verminderte Störleistung gilt: ∞ PN E = ∫Φ ω = −∞ ne ne ( f ) df Φ ne ne ( f ) = Φ nn ( f ) ⋅ H E ( f ) 2 mit Φ nn ( f ) = 1 N 0 2 [Hz ] W ∞ ∞ PN E = 1 N 0 ⋅ ∫ H E ( f ) df = 1 N 0 ∫H ( f ) df = 1 N 0 E F 2 2 2 2 S 2 ω = −∞ f = −∞ Somit folgt:   2 d P ( F ) ≤ exp  − 4   N 0 EF    Um die Fehlerwahrscheinlichkeit in Abhängigkeit vom Signal- zu Rauschverhältnis angeben zu können, muss der Zusammenhang zwischen den Abständen der Signalpunkte d und der mittleren Leistung des Signals ermittelt werden. Sind Ai die Beträge der einzelnen Signalpunkte, so gilt bei Gleichverteilung der Symbole: M PS E = ∑A Ai = f (d ²) aus Signalraumdiagramm 1 2 2 M i mit i =1 18
  19. 19. Simulation eines Datenübertragungssystems Bei PSK gelten z.B. folgende Verhältnisse: A q π M d Bild 23: Abstände bei M-PSK Man liest ab: d = 2 A ⋅ sin M π und damit PS E = A 2 = d² 4 (sin M )−2 π Es ergibt sich also:  PS E  P( F ) ≤ exp − sin ² M  π   N 0 EF   Da das ideale Impulssystem H die Symbole b(k) mit h(0) = E F = T verstärkt, ist Ai = E F bi . 1 Für die mittlere Leistung der Symbole am Entscheidereingang ergibt sich somit: { } PSE = E A2 = E F E B 2 2 { } Wie wir bereits aus dem letzten Kapitel wissen, gilt aber: E F E {B 2 } = E C und damit { } PS E = E A 2 = E F EC Für die Fehlerabschätzung bei PSK ergibt sich also:  E  P( F ) ≤ exp − sin ² M C   π  N0   Auf Grund der Gray-Codierung der Signalvektoranordnung entspricht die berechnete Symbolfehlerwahrscheinlichkeit zumindest bei kleinen Fehlerraten in etwa der Bitfehlerwahrscheinlichkeit ⋅ log 2 M , wenn man davon ausgeht, daß die Störungen so klein sind, dass meistens auf einen Nachbarpunkt entschieden wird und somit nur ein Bit des Zeichens verfälscht wird. Die Bitfehlerwahrscheinlichkeit ist also etwa: 1  E  Pb ( F ) = exp − sin ² M ⋅ C   π log 2 M  N0   19
  20. 20. Versuch 5 MATLAB / Simulink MATLAB wurde in den 70er Jahren an der University of New Mexico und der Stanford University entwickelt um Kurse aus Lineare Algebra und Numerische Analysis zu unterstützen. Der Name ("Matrix Laboratory") erinnert noch daran. Heute ist MATLAB ein universelles Werkzeug, das in weiten Bereichen der angewandten Mathematik eingesetzt wird. Für spezielle Anwendungen gibt es verschiedene Toolboxes. Das sind Bibliotheken mit m-Files zu bestimmten Aufgabenbereichen. Es existieren hier unter anderem auch spezielle Communication – Toolboxes, welche eine effiziente Bearbeitung von nachrichtenüber- tragungstechnischen Problemen und Berechnungen erlauben. Um Matlab – Befehle sequentiell, also aufeinander folgend ablaufen zu lassen, wird ein sog. m-file erstellt. Man unterscheidet dabei prinzipiell zwei Arten von m-Files: Script-Files und Function-Files. Beide werden mit der Endung *.m abgespeichert. Ein Script-File (auch: Script m-File oder kurz Script) ist eine Aneinanderreihung von MATLAB-Anweisungen, die in einen Texteditor eingegeben und abgespeichert werden. Wird der Filename im Commandfenster nach dem Prompt eingegeben, so werden die Befehle im Script-File der Reihe nach ausgeführt, in der Art, als ob sie einzeln nach dem Prompt eingegeben wurden. Bei einem Aufruf stehen dem Script-File alle im Workspace gespeicherten Variablen zur Verfügung. Umgekehrt sind alle Variablen, die im Script-File definiert werden, nach dessen Ablauf noch im Workspace definiert (dh., die Variablen des Script-Files sind global). Im Workspace werden die Variablen verwaltet und angezeigt. Über Function-Files (auch: Function m-Files) kann man in MATLAB neue Funktionen definieren. Ein Function-File wird, wie auch ein Script-File, mit der Endung *.m abgespeichert. Der Unterschied zu einem Script-File besteht darin, dass die im Function-File definierten Variablen lokal sind. Beim Aufruf eines Function-Files wird ihm ein Wert (oder mehrere) als Argument übergeben (wie bei sin(x), hier wird der Wert von x übergeben). Nach Auswertung der Befehle im Function- File wird ein Wert (oder auch mehrere Werte), der zuvor im Funktionsaufruf spezifiziert werden muss (y = sin(x)) zurückgegeben. Die während einer Funktion benutzten lokalen Variablen stehen nach dem Rücksprung (Ende der Funktion und Übergabe des Ergebnisses) nicht mehr zur Verfügung. Der Funktionsname (Name in der ersten Zeile des Function-Files) muss immer gleich sein, wie der Name, unter dem das File abgespeichert wurde. Zur Dokumentation der Befehle und Unterstützung bei der Programmierung bietet MATLAB eine sehr gut ausgearbeitete Hilfe – Funktion an, welche sich als Referenz sehr gut eignet. Simulink ist ein Software-Paket zur Simulation dynamischer Systeme, wobei sowohl kontinuierliche als auch zeitdiskrete Systeme sowie Mischformen modelliert werden können. Die Erstellung eines Modells geschieht grafisch, indem man mit der Maus Funktionsblöcke aus einer Block-Bibliothek holt und verbindende Signalleitungen dazwischen legt. Zusätzlich zu einer großen Anzahl vordefinierter Blöcke kann man auch eigene Blöcke definieren. Simulink bietet dabei auch eine große Anzahl vordefinierter Blöcke aus dem Bereich der Nachrichtentechnik und der digitalen Signalverarbeitung an, weshalb sich dieses Tool sehr gut für die in diesem Praktikumsversuch durchzuführenden Simulationen eignet. Simulink ist ein Zusatzpaket zu dem Programm Matlab. Es basiert intern auf Matlab-Funktionen und erlaubt, zusätzlich zur grafisch orientierten Bedienung, Modelle von Matlab aus zu steuern und zu analysieren. Simulink kann ohne Matlab-Kenntnisse verwendet werden, allerdings bieten Matlab-Funktionen zum Teil erweiterte Möglichkeiten. 20
  21. 21. Simulation eines Datenübertragungssystems Versuchsdurchführung Vorbereitende Aufgaben Die folgenden Aufgaben sollten Sie schon vor dem Versuchsnachmittag erledigt haben. Sie beziehen sich vor allem auf das Verständnis der nachrichtentechnischen Grundlagen. V1 Skizzieren Sie folgende Signale aus Bild 4 und 5 im Zeitbereich sowie das zugehörige Leistungsdichtespektrum: b(t), s(t), z(t), r(t), rE(t). Nehmen Sie an, dass die Filter hs(t) und hE(t) Wurzel-Kosinus-Roll-Off-Filter sind. V2 Warum wird ein äquivalentes Tiefpassmodell eingeführt? V3 Warum sind die Signale des äquivalenten Tiefpassmodells komplex? V4 Wie werden analoge Signale in der Rechnersimulation digital dargestellt? V5 Berechnen Sie die Signalvektoren für 16-QAM und 16-PAM in Abhängigkeit vom Parameter d. Versuchen Sie die Gray-Codierung zu beachten (nebeneinander liegende Signalpunkte sollten sich nur in einem Bit unterscheiden). V6 Berechnen Sie den Erwartungswert der Leistung der Signalvektoren der eben betrachteten Modulationsverfahren in Abhängigkeit von d. Wie groß muss d sein, damit die mittlere Leistung gleich 1 wird? V7 Berechnen Sie die Bitfehlerrate des QAM Modulationsverfahrens in Abhängigkeit von der Signal- zu Rauschleistung. Benutzen Sie dabei das Kreisflächenverfahren und Ihre Ergebnisse aus V6. V8 Welches Modulationsverfahren würden Sie für einen Kanal mit stark schwankender Empfangsleistung vorziehen, PSK oder QAM? Warum? V9 Welche Folge hat eine Zunahme der Stufenzahl des Übertragungsverfahrens auf die Übertragungsqualität? V10 Welche Eigenschaften sollte das Pulsformfilter aufweisen? V11 Was ist ein Matched-Filter? V12 Wie würde sich eine nicht gleichmäßige Auftrittswahrscheinlichkeit der Symbole in Bild 16 bemerkbar machen? Ändern sich dadurch die Entscheidungsbereiche? Was folgt daraus für den oben beschriebenen ML-Empfänger bei nicht gleichverteilten Daten? V13 Wie erscheint eine Phasenverschiebung und wie ein Frequenzoffset am Empfänger im Signalraumdiagramm? V14 Tritt beim Abtasten des Ausgangssignals eines Cos-Roll-Off-Filters ( ρ = 0.5 ) mit T = 1 Aliasing (also Überfaltung aufgrund Nicht-Einhaltung des Abtasttheorems) auf? r Wenn ja, ist das nicht schlecht für die Übertragung? Sie sollten sich auch die folgenden Abschnitte schon zu Hause durchlesen, um eine Vorstellung und einen Überblick davon zu bekommen, was Sie am Versuchsnachmittag bearbeiten werden. Es wird Ihnen helfen, mit der knappen Zeit besser zurecht zu kommen. 21
  22. 22. Versuch 5 Versuchsaufgaben Simulink anhand eines Beispiels Dieses Kapitel beschreibt im Wesentlichen einige, für diesen Praktikumsversuch wichtige Funktionen der Simulink-Arbeitsumgebung. Der Umgang mit Simulink soll einleitend mit einem einfachen Beispiel erläutert werden. Das zu erstellende System verzögert ein sinusförmiges Signal und zeigt anschließend beide Signale (Originalsignal und verzögertes Signal) grafisch an. Das Blockdiagramm des Systems sieht wie folgt aus: Abbildung 1: Ein einfaches Simulink-Modell Im Folgenden wird nun Schritt für Schritt erklärt, wie man dieses Modell aufbaut und anschließend eine Simulation durchführt. Da Simulink auf MATLAB basiert, beginnt man mit dem Start des Programms MATLAB. Um ein Simulink-Modell zu erstellen, gibt man den Befehl simulink im Matlab Befehlfenster (command window) ein. Nach einer kurzen Startzeit erscheint folgendes Fenster (Simulink Library Browser): Abbildung 2: Simulink Library Browser Auf der linken Seite des Browsers sind die Haupt- bzw. Unterbibliotheken zu sehen. Auf der rechten Seite findet man einzelne Funktionen in einer hierarchischen Struktur angeordnet. Um nun ein neues Modell zu erstellen, klicken Sie auf File>New>Model. Simulink erstellt anschließend ein neues Fenster, wo Modellkomponenten hinzugefügt und eine Simulation durchgeführt werden kann. Für das obige einfache Beispiel müssen folgende Systemkomponenten ausgewählt, platziert und konfiguriert werden: 22
  23. 23. Simulation eines Datenübertragungssystems Modul Ort Sine Wave Simulink>Sources Bibliothek Integer Delay Simulink>Discrete Bibliothek Bus Creator Simulink>Signal Routing Bibliothek Scope Simulink>Sinks Bibliothek Die einzelnen Module befinden sich in dem unter „Ort“ beschriebenen Bereich im Simulink Library Browser. Klickt man nun z.B. die Simulink>Sources Bibliothek an, so findet man im rechten Feld des Library Browsers den Block Sine Wave. Die Blöcke lassen sich nun mittels „drag and drop“ in das Modellfenster kopieren. Um das Beispiel nun umzusetzen, fügen Sie die notwendigen Blöcke aus obiger Tabelle in das Modellfenster gemäß Abbildung 1 ein. Um die platzierten Module zu verknüpfen, müssen Sie mit Hilfe der Maus die Ein- und Ausgänge der Module verbinden. Bei erfolgreich verbundenem Ein- und Ausgangsport verschwinden die dreieckförmigen Symbole der Ports und die Verbindungslinien färben sich durchgängig schwarz. Um Abzweige zu erstellen und die Module mit Leitungen zu verbinden, führen Sie einfach eine neue Leitung vom Eingangsport des Moduls zur gewünschten Leitung hin. Eine markierte Leitung läst sich durch Betätigen der Entf Taste auf der Tastatur löschen. Nachdem das Simulink-Modell nun erstellt wurde, müssen die einzelnen Blöcke konfiguriert werden. Durch Doppelklicken der jeweiligen Blöcke lassen sich deren individuelle Parameter festlegen. Dies soll anhand des Sine Wave Moduls exemplarisch dargestellt werden (Abbildung 3). Abbildung 3: Properties von Sine Wave Unter Parameters lassen sich die Eigenschaften des zu erzeugenden Signals einstellen. In diesem Fall soll ein zeitdiskretes Sinussignal ausgegeben werden, weshalb die Option Sine type auf Sample based zu stellen ist. Die Amplitude soll zu 5 Einheiten, der Bias zu Null gewählt werden. Samples per period gibt die Anzahl der Abtastschritte pro Periode an und wird hier zu 100 gewählt. Die Abtastzeit Sample Time wird auf eine Zeiteinheit festgelegt. Nach Bestätigung der eingegebenen Parameter mittels der Taste OK werden die eingegebenen Werte übernommen. Gemäß untenstehender Tabelle sind nun alle Blöcke des Modells zu konfigurieren. 23
  24. 24. Versuch 5 Modul Parameter Wert Sine Wave Sine Type Sample based Time (t) Use simulation time Amplitude 5 Bias 0 Samples per period 100 Number of offset samples 0 Sample time 1 Integer Delay Number of delays 5 Initial Condition 0 Sample Time -1 Bus Creator Parameters Inherit bus signal names from input ports Number of inputs 2 Tabelle 1:Blockparameter Anstatt die Werte der Parameter direkt als Konstanten einzutragen, können auch Variablen als Parameterwerte eingetragen werden. Diese Variablen müssen bei der Simulation des Modells im Workspace definiert sein. Bevor die Simulation gestartet werden kann, müssen noch die Simulationsparameter eingestellt werden. Abbildung 4: Festlegung der Simulationsparameter Um die Laufzeit der Simulation (Simulation Time) zu definieren, klicken Sie in der Menüleiste von Simulink auf Simulation>Configuration parameters. Setzen Sie den Parameter 'Stop Time' auf 300. Es handelt sich dabei nicht um die Zeit, die Matlab für die Simulation des Systems benötigt, sondern um das zu modellierende Zeitintervall, in welchem die Simulation stattfinden soll. Nachdem nun das Modell generiert und die Blöcke konfiguriert wurden, kann die Simulation gestartet werden. Um die Simulation zu starten, ist einfach das ISO Start-Icon „►“ in der Menüleiste zu wählen. 24
  25. 25. Simulation eines Datenübertragungssystems Die Simulation dieses einfachen Beispiels verläuft sehr schnell. Nach wenigen Millisekunden kann mittels eines Doppelklicks auf den entsprechenden Block „Scope“ das Ergebnis grafisch betrachtet und ausgegeben werden: Abbildung 5: Simulationsergebnis Selbstverständlich spiegelt diese Einführung nur einen sehr kleinen Bereich der Möglichkeiten von MATLAB / Simulink wieder. Um eine umfangreiche Einführung zu erhalten sei an dieser Stelle auf die gängige Fachliteratur sowie den etlichen in diesem Zusammenhang ent- standenen Tutorials verwiesen. Im Folgenden soll nun ein Nachrichtenübertragungssystem mit MATLAB / Simulink aufgebaut und simuliert werden. Es wurden dazu bereits im Vorfeld Vorlagen erstellt, die lediglich noch, entsprechend der jeweiligen Aufgabe, um individuelle Blöcke zu erweitern sind. Simulation eines Datenübertragungssystems In diesem Kapitel soll nun das anfangs vorgestellte Datenübertragungssystem modelliert und mit verschiedenen Modulationsverfahren simuliert werden. Man „baut“ dazu das Modell aus Sender, Kanal und Empfänger im Simulator nach und schickt dann zufällig generierte Daten über das simulierte Datenübertragungssystem. Anschließend vergleicht man die empfangenen Daten Bit für Bit mit den Ursprungsdaten und berechnet daraus die Bit-Fehlerrate (BER) bei einem bestimmten Verhältnis von Signalleistung zu Rauschleistung auf dem Kanal. Um herauszufinden, wie gut sich das System bei unterschiedlicher Störumgebung und Empfangsqualität verhält, erhöht man die Rauschleistung und berechnet damit die neue Fehlerrate. Des Weiteren kann man diese Untersuchung für verschiedene Modu- lationsverfahren durchführen, um sie bezüglich ihrer Leistungsfähigkeit miteinander vergleichen zu können. Öffnen Sie zunächst das Model 'praktikum.mdl' in Simulink. 25
  26. 26. Versuch 5 Abbildung 6: Simulationsvorlage Im ersten Aufgabenabschnitt sollen die im ersten Kapitel vorgestellten Modulationsverfahren PAM (ASK), PSK und QAM durch Simulation bezüglich ihrer Übertragungsqualität untersucht und verglichen werden. Um die Simulation möglichst einfach zu gestalten wird im Folgenden stets die Programmvorlage 'praktikum.mdl' verwendet. Es unterscheiden sich dabei entsprechend des zu untersuchenden Modulationsverfahrens lediglich die einzufügenden Funktionsblöcke. Um nun verschiedene Modulationsverfahren miteinander vergleichen zu können, werden im Folgenden die in untenstehender Tabelle aufgeführten Blöcke benötigt. Modul Ort M-PAM Modulator Baseband M-PAM Demodulator Baseband Rectangular QAM Modulator Communications Blockset>Modulation>Digital Baseband Baseband Modulation>AM Rectangular QAM Demodulator Baseband M-PSK Modulator Baseband Communication Blockset>Modulation>Digital M-PSK Demodulator Baseband Baseband Modulation>PM Tabelle 2: Einzufügende Module 26
  27. 27. Aufgabe A1: Ordnen Sie folgenden Blöcken des Simulink-Modells deren nachrichtentechnische Bedeutung zu und beschreiben Sie kurz deren Funktionalität. 1. Binary Vector Noise Generator 2. Modulator 3. Repeat(16x) 4. Impulsformer 5. AWGN 6. Matched-Filter 7. Downsample(16x) 8. Demodulator 9. Symbol Error Rate 10. Bit Error Rate Aufgabe A2: Erstellen Sie einen Chart, in dem die Bitfehlerraten (BER) der drei Modulationsverfahren (16- PAM, 16-PSK und 16-QAM) über dem Signal- zu Rauschverhältnis aufgetragen sind. Fügen Sie hierzu zunächst den M-PAM Modulator und Demodulator in das Vorlagemodel (an entsprechend gekennzeichneter Stelle) ein. Um einen Block zu spiegeln, markieren Sie ihn mit der Maus und drücken Sie anschließend STRG+R. Stellen Sie die folgenden Parameter ein: M-ary number: 16 Input type: Bit Constellation ordering: Gray Normalization method: Average Power Average Power: 1 Output Type: Bit Aktivieren Sie das 'Stop Simulation' Kästchen im Modul 'Symbol Error Rate'. Konfigurieren Sie außerdem die Abbruchkriterien Target Number of Errors mit 300 Fehlern. Alle übrigen Einstellungen bleiben gleich. Die Simulationslaufzeit (Parameter 'Stop time') soll 5e3 Zeiteinheiten betragen. Im Modul 'AWGN' geben Sie für den SNR-Parameter die Variable SNR ein. Dies erlaubt eine Variation des Signal zu Rauschverhältnisses (SNR) im Rahmen einer Simulationsreihe. Um eine Simulationsreihe durchzuführen, wurde ein Matlab–Script geschrieben, welches unter stetiger Veränderung der SNR-Werte die Simulation des Datenübertragungssystems neu startet. Unten ist die Scriptdatei 'control_sim.m' abgedruckt. Diese Datei wird ebenfalls am Ver- suchstag vorgegeben. Ersetzen Sie den Text Name der Simulation durch den Namen der Simulink-Datei ohne die Endung .mdl.
  28. 28. Versuch 5 clc; % Löscht Command Window ii = 1; % setzt Zählvariable ii zu eins SNR_max = 20; % maximaler Wert für SNR for SNR = 4:2:SNR_max % Schleife für Simulationsreihe fprintf('Signal to Noise Ratio = %gn', SNR); % Ausgabe der aktuellen % Simulationsparameter sim('Name der Simulation'); % Starten des Simulinkmodells mit dem jeweiligen % SNR --> Simulationsreihe % Hier sollen nun verschiedene Variablennamen für verschiedene % Modulationsverfahren angegeben werden : SymbER_psk(ii) = SER(1); % Symbolfehlerrate der verschiedenen Modulationsverfahren BitER_psk(ii) = BER(1); % Bitfehlerrate der verschiedenen Modulationsverfahren ii = ii+1; % Inkrementieren der Schleifenvariablen end % Ende der for-Schleife snr = 4:2:SNR_max; % Erstellen eines Vektors snr von 4 .. SNR_max, in % Zweierschritten Um nun eine Simulationsreihe für die unterschiedlichen Modulationsverfahren durchführen zu können, müssen die Variablen (z.B. für PSK sind SymbER_psk, BitER_psk; für PAM sind SymbER_pam, BitER_pam; für QAM sind SymbER_qam, BitER_qam ) entsprechend vor jedem Neustart des Scripts umbenannt werden, um ein Überschreiben und somit einen Verlust vorhergehender Simulationsdaten zu verhindern. Mit Hilfe dieses Script-files lassen sich nun Vektoren mit den Symbol- bzw. Bitfehlerraten der unterschiedlichen Modulationsverfahren erzeugen. Um diese nun in ein Diagramm unterzubringen bedient man sich des Matlab-Befehls semilogy, welcher in diesem Kontext wie folgt anzuwenden ist (im 'Command Window'): %für Bitfehlerwahrscheinlichkeit: semilogy(snr, BitER_pam, snr, BitER_psk, snr, BitER_qam) legend(’PAM’, ’PSK’, ’QAM’) xlabel(’snr / dB’) ylabel(’BER’) %für Symbolfehlerwahrscheinlichkeit: semilogy(snr, SymbER_pam, snr, SymbER_psk, snr, SymbER_qam) legend(’PAM’, ’PSK’, ’QAM’) xlabel(’snr / dB’) ylabel(’SER’) Anschließend sollte sich ein Fenster mit der gesuchten Grafik öffnen. Speichern Sie dieses Diagramm ab und fügen Sie es ihren Versuchsprotokollen bei. Aufgabe A3: Welches Modulationsverfahren schneidet bei dem Vergleich am schlechtesten ab, welches am besten? Hat das beste Verfahren Nachteil? Aufgabe A4: 28
  29. 29. Simulation eines Datenübertragungssystems Sind die Simulationszeiten bei allen Modulationsverfahren gleich? Begründen Sie ihre Aussage; Ist die Genauigkeit der BER- bzw. SER-Schätzung für alle Iterationen gleich? Wenn nein, wann wird sie geringer? Welche Vor- und Nachteile ergeben sich durch die Abbruchbedingung mit fester Fehlerzahl gegenüber einer festen Anzahl an Berechnungswerten? Aufgabe A5: Erstellen Sie einen neuen Chart, in welchem Bitfehlerfehlerwahrscheinlichkeit (BER) und Symbolfehlerwahrscheinlichkeit (SER) in Abhängigkeit vom jeweiligen Signal- zu Rauschverhältnis (SNR ist Abszisse) für eine 16-QAM angezeigt werden soll. Benutzen sie hierzu den Matlab-Befehl plot anstelle von semilogy, jedoch mit den gleichen Parametern. z.B. plot(snr, BitER_qam, snr, SymbER_qam); legend(’Bit error rate’, ’Symbol error rate’); xlabel(’SNR / dB’); ylabel(’Error Rate’); Berechnen Sie anschließend das Verhältnis von Bitfehler- (BER) zu Symbolfehlerwahrscheinlichkeit (SER) und geben Sie das Ergebnis in Abhängigkeit vom jeweiligen Signal- zu Rauschverhältnis (SNR ist Abszisse) in einem separaten Plot aus. Folgende Matlab-Befehle sind zu empfehlen. plot(snr, BitER_qam ./ SymbER_qam); xlabel(’SNR / dB’); ylabel(’BER / SER’); Warum ist hier die Bitfehlerwahrscheinlichkeit (BER) geringer, als die Symbolfehlerwahrscheinlichkeit (SER)? Aufgabe A6: Fügen Sie das "Discrete-Time Scatter Plot Scope" (aus der Bibliothek „Communications Blockset>Comm Sinks“) in das Simulink-Modell ein. Konfigurieren Sie es anschließend wie folgt: Modul Ort Konfiguration Discrete- Communications Show plotting properties: Time Blockset>Comm Samples per Symbol: 16 Scatter Sinks Offset (samples): 8 Plot Points displayed: 500 Scope New points per display: 10 Show rendering properties: Color fading: no Tabelle 3: Konfiguration des Scatter-Diagramm Moduls 29
  30. 30. Versuch 5 Integrieren Sie das Anzeige-Modul in das Simulink-Modell derart, dass das Scatter Diagramm nach dem Empfangsfilter dargestellt wird. Stellen Sie den SNR Parameter im AWGN-Kanalmodell auf 20 dB starten Sie die Simulation. Führen Sie anschließend die gleiche Simulation für ein Signal- zu Rauschverhältnis (SNR) von 100 dB aus. Wie lässt sich anhand beider Plots die Übertragungsqualität vergleichen? Es sollen nun im Folgenden Untersuchungen im Frequenzbereich durchgeführt werden. Dazu werden folgende Module benötigt: Modul Ort Konfiguration Spectrum Signal Processing Show scope properties: Scope Blockset > Buffer input: on Signal Processing Buffer Size: 512 Sinks Buffer overlap: 128 Number of Spectral Averages: 50 Show Display Properties: Channel legend: on Show axis properties: Frequency range: [0…Fs] Inherit sample increment from input: off Sample time of original time series: >geben Sie hier 1/16 ein<. Minimum Y-limit: -80 Maximum Y-limit: 20 Show line properties: Line Colors: b|r|m Bus Simulink > Signal Number of Inputs: 4 Creator Routing Tabelle 4: Konfiguration der FFT und Bus Module Fügen Sie die in Tabelle 4 aufgeführten Symbole dem Simulink-Modell hinzu und verbinden Sie den Ausgang des „Bus Creator“ mit dem Eingang des „Spectrum Scope“. Die 4 Eingänge des „Bus Creator“ sind anschließend mit dem Modell derart zu verknüpfen, dass die Spektren sämtlicher Signale zwischen der Über- bzw. Unterabtastung angezeigt werden. Setzen Sie das SNR auf 10 dB und löschen Sie die automatische Abbruchbedingung der Simulation. Starten Sie nun die Simulation. Aufgabe B1: Beschreiben Sie, wie sich anhand des Spektralplots das SNR (hier 10 dB) ermitteln lässt. (Tipp: Vergleichen Sie die Veränderung der Spektralplots bei Variation des SNRs.) Die folgenden Untersuchungen finden im Zeitbereich statt. Es sollen hierbei sog. Augendiagramme erstellt und ausgewertet werden. Dazu wird folgendes Modul benötigt: 30
  31. 31. Simulation eines Datenübertragungssystems Modul Ort Konfiguration Discrete- Time Communication Show plotting properties: Eye Diagram Blockset > Samples per Symbol: 16 Scope Comm Sinks Symbols per trace: 2 Traces displayed: 200 New traces per display: 10 Show rendering properties: Color fading: off Tabelle 5: Konfigurationseinstellungen für das Augendiagrammmodul Setzen Sie das Signal zu Rauschverhältnis (SNR) auf 20 dB. Wählen Sie die QAM als das zu untersuchende Modulationsverfahren. Aufgabe B2: Betrachten Sie das Augendiagramm, welches das Signal direkt nach dem Empfangsfilter abgreift und erläutern Sie das Ergebnis. Handelt es sich um einen guten oder schlechten Kanal? Aufgabe B3: Ändern Sie das SNR des Kanals auf 100 dB und starten Sie die Simulation erneut. Wie kann man hier die Empfindlichkeit der Modulation gegen Störungen und gegen Abtastfehler(Jitter) ablesen? Zeigen Sie den optimalen Abtastpunkt auf der Zeitachse. Aufgabe B4: Betrachten Sie das Augendiagramm, welches direkt nach dem Sendefilter erzeugt wird. Wie erklären Sie sich die Abweichungen des Signals an den optimalen Abtastzeitpunkten? Wie bereits im Vorfeld erklärt, werden die Symbole als komplexe Zahlen dargestellt, bevor sie auf entsprechende Wellenzüge abgebildet werden. Im Folgenden soll diese komplexe Zahlenraumdarstellung nochmals genauer untersucht werden. Für diese Aufgabe werden folgende Module benötigt: Modul Ort Konfiguration Discrete- Time Communication Show plotting properties: Scatter Plot Blockset > Samples per Symbol: 16 Scope Comm Sinks Offset Samples: 8 Points displayed: 400 31
  32. 32. Versuch 5 New traces per display: 10 Show rendering properties: Color fading: on Phase/Frequency Communication Frequency Offset: 0.0001 Hz Offset Blockset > RF Impairments Tabelle 6: Konfigurationseinstellung für die Signalraumuntersuchungen Stellen Sie nun das Signal- zu Rauschverhältnis auf 100 dB ein. Fügen Sie das Modul „Phase/Frequency Offset“ zwischen dem AWGN-Kanal und dem Empfangsfilter ein. Betrachten Sie nun mit Hilfe des Moduls „Discrete Time Scatter Diagram Scope“ die Signalraumdarstellung unmittelbar nach dem Empfangsfilter. Aufgabe B5: Warum scheint sich der Signalraum nun zu drehen? Aufgabe B6: Wie lässt sich dieser Effekt kompensieren? (kurze Begründung) 32

×