Das Gram-Schmidt-Verfahren
Contents
Programmbeschreibung
Das Applet verdeutlicht die Augendiagramme für
- verschiedene Codierungen (binär–redundanzfrei, quaternär–redundanzfrei, pseudo–ternär: AMI und Duobinär) sowie
- verschiedene Empfangskonzepte (Matched–Filter–Empfänger, CRO–Nyquistsystem, gaußförmiges Empfangsfilter).
Das letzte Empfängerkonzept führt zu Impulsinterferenzen, das heißt: Benachbarte Symbole beeinträchtigen sich bei der Symbolentscheidung gegenseitig.
Solche Impulsinterferenzen und deren Einfluss auf die Fehlerwahrscheinlichkeit lassen sich durch das Augendiagramm sehr einfach erfassen und quantifizieren. Aber auch für die beiden anderen (impulsinterferenzfreien) Systeme lassen sich anhand der Grafiken wichtige Erkenntnisse gewinnen.
Ausgegeben wird zudem die ungünstigste („worst case”) Fehlerwahrscheinlichkeit pU=Q[önorm/σnorm], die bei den binären Nyquistsystemen identisch mit der mittleren Fehlerwahrscheinlichkeit pM ist und für die beiden anderen Systemvarianten eine geeignete obere Schranke darstellt: pU≥pM.
In der pU–Gleichung bedeuten:
- Q(x) ist die Komplementäre Gaußsche Fehlerfunktion. Die normierte Augenöffnung kann Werte zwischen 0≤önorm≤1 annehmen.
- Der Maximalwert (önorm=1) gilt für die binären Nyquistsysteme und önorm=0 steht für ein „geschlossenes Auge”.
- Der normierte Detektionsrauscheffektivwert σnorm hängt vom einstellbaren Parameter 10⋅lg EB/N0 ab, aber auch von der Codierung und vom Empfängerkonzept.
Theoretischer Hintergrund
Signaldarstellung mit orthonormalen Basisfunktionen
Wir gehen von einer Menge {si(t)} möglicher Sendesignale aus, die den möglichen Nachrichten mi eineindeutig zugeordnet sind. Mit i=1, ... , M gelte:
- m∈{mi},s(t)∈{si(t)}:m=mi⇔s(t)=si(t).
Für das Folgende setzen wir weiter voraus, dass die M Signale si(t) energiebegrenzt sind, was meist gleichzeitig bedeutet, dass sie nur von endlicher Dauer sind.
Satz: Eine jede Menge {s1(t),...,sM(t)} energiebegrenzter Signale lässt sich in N≤M orthonormale Basisfunktionen φ1(t),...,φN(t) entwickeln. Es gilt:
- si(t)=N∑j=1sij⋅φj(t),i=1,...,M,j=1,...,N.
Jeweils zwei Basisfunktionen φj(t) und φk(t) müssen orthonormal zueinander sein, das heißt, dass gelten muss (δjk nennt man das Kronecker–Symbol):
- <φj(t),φk(t)>=∫+∞−∞φj(t)⋅φk(t)dt=δjk={10fallsj=kfallsj≠k.
Der Parameter N gibt dabei an, wieviele Basisfunktionen φj(t) benötigt werden, um die M möglichen Sendesignale darzustellen. Mit anderen Worten: N ist die Dimension des Vektorraums, der von den M Signalen aufgespannt wird. Dabei gilt:
- Ist N=M, so sind alle Sendesignale zueinander orthogonal. Sie sind nicht notwendigerweise orthonormal, das heißt, die Energien Ei=<si(t),si(t)> können durchaus ungleich Eins sein.
- Der Fall N<M ergibt sich, wenn mindestens ein Signal si(t) als Linearkombination von Basisfunktionen φj(t) dargestellt werden kann, die sich aus anderen Signalen sj(t)≠si(t) ergeben haben.
Beispiel 1: Wir betrachten M=3 energiebegrenzte Signale gemäß der Grafik.
Man erkennt sofort:
- Die Signale s1(t) und s2(t) sind zueinander orthogonal.
- Die Energien sind E1=A2⋅T=E und E2=(A/2)2⋅T=E/4.
- Die Basisfunktionen φ1(t) und φ2(t) sind jeweils formgleich mit s1(t) bzw. s2(t).
- Beide Signale besitzen jeweils die Energie „Eins”:
- φ1(t)=s1(t)√E1=s1(t)√A2⋅T=1√T⋅s1(t)A
- ⇒s1(t)=s11⋅φ1(t),s11=√E,
- φ2(t)=s2(t)√E2=s2(t)√(A/2)2⋅T=1√T⋅s2(t)A/2
- ⇒s2(t)=s21⋅φ2(t),s21=√E/2.
- Das Signal s3(t) kann durch die vorher bestimmten Basisfunktionen φ1(t) und φ2(t) ausgedrückt werden:
- s3(t)=s31⋅φ1(t)+s32⋅φ2(t),
- ⇒s31=A/2⋅√T=√E/2,s32=−A⋅√T=−√E.
Trotz M=3 gilt also im vorliegenen Fall nur N=2.
Im rechten unteren Bild sind die Signale in einer 2D–Darstellung mit den Basisfunktionen φ1(t) und φ2(t) als Achsen dargestellt, wobei E=A2⋅T gilt und der Zusammenhang zu den anderen Grafiken durch die Farbgebung zu erkennen ist.
Die vektoriellen Repräsentanten der Signale s1(t), s2(t) und s3(t) in diesem zweidimensionellen Vektorraum lassen sich daraus wie folgt ablesen:
- s1=(√E,0),s2=(0,√E/2),s3=(√E/2,−√E).
Das Verfahren nach Gram-Schmidt
Im letzten Beispiel war die Bestimmung der beiden orthonormalen Basisfunktionen φ1(t) und φ2(t) sehr einfach, da diese formgleich mit s1(t) bzw. s2(t) waren. Das Gram–Schmidt–Verfahren findet die Basisfunktionen φ1(t), ... , φN(t) für beliebig vorgebbare Signale s1(t), ... , sM(t), und zwar wie folgt:
- Die erste Basisfunktion φ1(t) ist stets formgleich mit s1(t). Es gilt:
- φ1(t)=s1(t)√E1=s1(t)||s1(t)||⇒||φ1(t)||=1,s11=||s1(t)||,s1j=0f¨urj≥2.
Hinweise zur Nomenklatur:
(1) Ausgehend von zwei reellen und energiebegrenzten Zeitfunktionen x(t) und y(t) erhält man für das innere Produkt allgemein:
- <x(t),y(t)>=∫+∞−∞x(t)⋅y(t)dt.
(2) Daraus ergibt sich die Euklidische Norm der Zeitfunktion s1(t):
- ||s1(t)||=√<s1(t),s1(t)>
Es wird nun angenommen, dass aus den Signalen s1(t), ... , sk−1(t) bereits die Basisfunktionen φ1(t), ... , φn−1(t) berechnet wurden (n≤k).
- Dann berechnen wir mittels der nächsten Funktion sk(t) die Hilfsfunktion
- θk(t)=sk(t)−n−1∑j=1skj⋅φj(t)mitskj=<sk(t),φj(t)>,j=1,...,n−1.
- Hat diese Hilfsfunktion die Norm ||θk(t)||=0, so liefert sk(t) keine neue Basisfunktion. Vielmehr lässt sich dann sk(t) durch die n−1 bereits vorher gefundenen Basisfunktionen φ1(t), ... , φn−1(t) ausdrücken:
- sk(t)=n−1∑j=1skj⋅φj(t).
- Eine neue Basisfunktion (nämlich die n–te) ergibt sich nur für den Fall ||θk(t)||≠0:
- φn(t)=θk(t)||θk(t)||⇒||φn(t)||=1.
Diese Prozedur wird solange fortgesetzt, bis alle M Signale berücksichtigt wurden.
- Danach hat man alle N≤M orthonormalen Basisfunktionen φj(t) gefunden.
- Der Sonderfall N=M ergibt sich nur dann, wenn alle M Signale linear voneinander unabhängig sind.
Beispiel 2: Wir betrachten die M=4 energiebegrenzten Signale s1(t), ... , s4(t) entsprechend der Grafik. Zur Vereinfachung der Berechnungen sind hier sowohl die Amplituden als auch die Zeit normiert.
Man erkennt aus diesen Skizzen:
- Die Basisfunktion φ1(t) ist formgleich mit s1(t). Wegen E1=||s1(t)||2=3⋅0.52=0.75 ergibt sich s11=||s1(t)||=0.866. φ1(t) selbst besitzt abschnittsweise die Werte ±0.5/0.866=±0.577.
- Zur Berechnung der Hilfsfunktion θ2(t) berechnen wir
- s21=<s2(t),φ1(t)>=0⋅(+0.577)+1⋅(−0.577)+0⋅(−0.577)=−0.577
- ⇒θ2(t)=s2(t)−s21⋅φ1(t)=(0.333,0.667,−0.333)⇒||θ2(t)||2=(1/3)2+(2/3)2+(−1/3)2=0.667
- ⇒s22=√0.667=0.816,φ2(t)=θ2(t)/s22=(0.408,0.816,−0.408).
- Die inneren Produkte zwischen s1(t) mit φ1(t) bzw. φ2(t) liefern folgende Ergebnisse:
- s31=<s3(t),φ1(t)>=0.5⋅(+0.577)+0.5⋅(−0.577)−0.5⋅(−0.577)=0.289
- s32=<s3(t),φ2(t)>=0.5⋅(+0.408)+0.5⋅(+0.816)−0.5⋅(−0.408)=0.816
- ⇒θ3(t)=s3(t)−0.289⋅φ1(t)−0.816⋅φ2(t)=0.
Das bedeutet: Die grüne Funktion s3(t) liefert keine neue Basisfunktion φ3(t), im Gegensatz zur Funktion s4(t). Die numerischen Ergebnisse hierfür können der Grafik entnommen werden.
Versuchsdurchführung
Noch anpassen
- Wählen Sie zunächst die Nummer (1, ...) der zu bearbeitenden Aufgabe.
- Eine Aufgabenbeschreibung wird angezeigt. Die Parameterwerte sind angepasst.
- Lösung nach Drücken von „Musterlösung”.
Die Nummer 0 entspricht einem „Reset”:
- Gleiche Einstellung wie beim Programmstart.
- Ausgabe eines „Reset–Textes” mit weiteren Erläuterungen zum Applet.
Bis hierher
(1) Es gilt die Einstellung A. Interpretieren Sie die ausgegebenen Grafiken. Wählen Sie hierfür „Einzelschritt”.
- Einstellung A beschreibt das Beispiel 2 im Theorieteil. Die Basisfunktion φ1(t) ist identisch mit dem Signal s1(t), aber mit Signalenergie E=1.
- Es gibt hier nur N=3 Basisfunktionen, da die Hilfsfunktion θ3(t) identisch Null ist.
- Die vektoriellen Repräsentanten der Signale s1(t), ... , s4(t) können im 3D–Vektorraum abgelesen werden; Beispiel: s4=(−1.444,−0.408,+0.707).
(2) Interpretieren Sie die ausgegebenen Grafiken für die Einstellung B. Wählen Sie hierfür und bei den weiteren Aufgaben „Gesamtdarstellung”.
- Auch hier gibt es N=3 Basisfunktionen. Bei Änderung auf s4=(−1,−1,0) nur mehr N=2.
(3) Bei der Einstellung C ist die Reihenfolge der Signale gegenüber B vertauscht. Wie wirkt sich das auf die Basisfunktionen aus?
- Auch hier gibt es N=3 Basisfunktionen, aber nun andere: Nämlich φ1(t)=s1(t), φ2(t)=s2(t), φ3(t)=s3(t).
(4) Die M=4 Signale der Einstellung D lassen sich durch nur N=2 Basisfunktionen ausdrücken? Begründen Sie dieses Ergebnis.
- Carolin bitte lösen. Ich bin zu blöd. s3 als Linearkombination von s1 und s2 schreiben. Ebenso s4.
(5) Interpretieren Sie die ausgegebenen Grafiken für die Einstellung E im Vergleich zur Einstellung D.
- Bei der Einstellung E ist die Reihenfolge der Signale gegenüber der Einstellung D vertauscht. Ähnlich wie zwischen B und C.
- Auch diese M=4 Signale lassen sich somit durch nur N=2 Basisfunktionen ausdrücken, aber durch andere als in der Aufgabe (4).
(6) Ab hier dann neu machen.
- Für TE/T<1 gilt weiterhin önorm=1. Aber σnorm wird größer, zum Beispiel σnorm=0.316 für TE/T=0.5 ⇒ das Filter ist zu breitbandig!
- Für TE/T>1 ergibt sich im Vergleich zu (5) ein kleineres σnorm. Aber Das Auge ist nicht mehr geöffnet. TE/T=1.25: önorm=g0−2⋅g1=0.6.
(7) Wählen Sie nun die Einstellungen M=2, CRO–Nyquist, rf=0.2 sowie „Auge – Gesamt”. Interpretieren Sie das Augendiagramm, auch für andere rf–Werte.
- Im Gegensatz zu (6) ist hier der Grundimpuls für |t|>T nicht Null, aber gd(t) hat äquidistane Nulldurchgänge: g0=1, g1=g2=0 ⇒ Nyquistsystem.
- Alle 32 Augenlinien gehen bei t=0 durch nur zwei Punkte. Die vertikale Augenöffnung ist für alle rf maximal ⇒ önorm=1.
- Dagegen nimmt die horizontale Augenöffnung mit rf zu und ist rf=1 maximal gleich T ⇒ Phasenjitter hat in diesem Fall nur geringen Einfluss.
(8) Gleiche Einstellung wie in (7). Variieren Sie nun rf im Hinblick auf minimale Fehlerwahrscheinlichkeit. Interpretieren Sie die Ergebnisse.
- önorm=1 gilt stets. Dagegen zeigt σnorm eine leichte Abhängigkeit von rf. DasMinimum σnorm=0.236 ergibt sich für rf=0.9 ⇒ pU≈1.1⋅10−5.
- Gegenüber dem bestmöglichen Fall gemäß (7) „Matched–Filter–Empfänger” ist pU dreimal so groß, obwohl σnorm nur um ca. 5% größer ist.
- Der größere σnorm–Wert geht auf die Überhöhung des Rausch–LDS zurück, um den Abfall durch den Sender–Frequenzgang HS(f) auszugleichen.
(9) Wählen Sie die Einstellungen M=4, nach Spalt–TP, TE/T=1, 10⋅lg EB/N0=10 dB und 12 dB. Interpretieren Sie die Ergebnisse.
- Es gibt nun drei Augenöffnungen. Gegenüber (5) ist also önorm um den Faktor 3 kleiner, σnorm dagegen nur um etwa den Faktor √5/9)≈0.75.
- Für 10⋅lg EB/N0=10 dB ergibt sich nun die Fehlerwahrscheinlichkeit pU≈2.27% und für 10⋅lg EB/N0=12 dB nur mehr 0.59%.
(10) Für die restlichen Aufgaben gelte stets 10⋅lg EB/N0=12 dB. Betrachten Sie das Augendiagramm für M=4, CRO–Nyquist, rf=0.5.
- In dS(t) müssen alle „Fünf–Symbol–Kombinationen” enthalten sein ⇒ mindestens 45=1024 Teilstücke ⇒ maximal 1024 unterscheidbare Linien.
- Alle 1024 Augenlinien gehen bei t=0 durch nur vier Punkte: önorm=0.333. σnorm=0.143 ist etwas größer als in (9) ⇒ ebenso pU≈1%.
(11) Wählen Sie die Einstellungen M=4, nach Gauß–TP, fG/RB=0.48 und variieren Sie fG/RB. Interpretieren Sie die Ergebnisse.
- fG/RB=0.48 führt zur minimalen Fehlerwahrscheinlichkeit pU≈0.21%. Kompromiss zwischen önorm=0.312 und σnorm=0.109.
- Bei zu kleiner Grenzfrequenz dominieren die Impulsinterferenzen. Beispiel: fG/RB=0.3: önorm=0.157; σnorm=0.086 ⇒ pU≈3.5%.
- Bei zu großer Grenzfrequenz dominiert das Rauschen. Beispiel: fG/RB=1.0: önorm=0.333; σnorm=0.157 ⇒ pU≈1.7%.
- Aus dem Vergleich mit (9) erkennt man: Bei Quaternärcodierung ist es günstiger, Impulsinterferenzen zuzulassen.
(12) Welche Unterschiede zeigt das Auge für M=3 (AMI-Code), nach Gauß–TP, fG/RB=0.48 gegenüber dem vergleichbaren Binärsystem? Interpretation.
- Der Detektionsgrundimpuls gd(t) ist in beiden Fällen gleich. Die Abtastwerte sind jeweils g0=0.771, g1=0.114.
- Beim AMI–Code gibt es zwei Augenöffnungen mit je önorm=1/2⋅(g0−3⋅g1)=0.214. Beim Binärcode: önorm=g0−2⋅g1=0.543.
- Die AMI–Folge besteht zu 50% aus Nullen. Die Symbole +1 und −1 wechseln sich ab ⇒ es gibt keine lange +1–Folge und keine lange −1–Folge.
- Darin liegt der einzige Vorteil des AMI–Codes: Dieser kann auch bei einem gleichsignalfreien Kanal ⇒ HK(f=0)=0 angewendet werden.
(13) Gleiche Einstellung wie in (12), zudem 10⋅lg EB/N0=12 dB. Analysieren Sie die Fehlerwahrscheinlichkeit des AMI–Codes.
- Trotz kleinerem σnorm=0.103 hat der AMI–Code eine höhere Fehlerwahrscheinlichkeit pU≈2% als der Binärcode: σnorm=0.146, pU≈⋅10−4.
- Für fG/RB<0.34 ergibt sich ein geschlossenes Auge (önorm=0) ⇒ pU=50%. Beim Binärcode: Für fG/RB>0.34 ist das Auge geöffnet.
(14) Welche Unterschiede zeigt das Auge für M=3 (Duobinärcode), nach Gauß–TP, fG/RB=0.30 gegenüber dem vergleichbaren Binärsystem?
- Redundanzfreier Binärcode: önorm=0.096, σnorm=0.116 pU≈20% Duobinärcode: önorm=0.167, σnorm=0.082 pU≈2%.
- Insbesondere bei kleinem fG/RB liefert der Duobinärcode gute Ergebnisse, da die Übergänge von +1 nach −1 (und umgekehrt) im Auge fehlen.
- Selbst mit fG/RB=0.2 ist das Auge noch geöffnet. Im Gegensatz zum AMI–Code ist aber „Duobinär” bei gleichsignalfreiem Kanal nicht anwendbar.
Zur Handhabung des Applets
(A) Auswahl: Codierung
(binär, quaternär, AMI–Code, Duobinärcode)
(B) Auswahl: Detektionsgrundimpuls
(nach Gauß–TP, CRO–Nyquist, nach Spalt–TP}
(C) Prametereingabe zu (B)
(Grenzfrequenz, Rolloff–Faktor, Rechteckdauer)
(D) Steuerung der Augendiagrammdarstellung
(Start, Pause/Weiter, Einzelschritt, Gesamt, Reset)
(E) Geschwindigkeit der Augendiagrammdarstellung
(F) Darstellung: Detektionsgrundimpuls gd(t)
(G) Darstellung: Detektionsnutzsignal dS(t−ν⋅T)
(H) Darstellung: Augendiagramm im Bereich ±T
( I ) Numerikausgabe: önorm (normierte Augenöffnung)
(J) Prametereingabe 10⋅lg EB/N0 für (K)
(K) Numerikausgabe: σnorm (normierter Rauscheffektivwert)
(L) Numerikausgabe: pU (ungünstigste Fehlerwahrscheinlichkeit)
(M) Bereich für die Versuchsdurchführung: Aufgabenauswahl
(N) Bereich für die Versuchsdurchführung: Aufgabenstellung
(O) Bereich für die Versuchsdurchführung: Musterlösung einblenden
Über die Autoren
Dieses interaktive Berechnungstool wurde am Lehrstuhl für Nachrichtentechnik der Technischen Universität München konzipiert und realisiert.
- Die erste Version wurde 2008 von Thomas Großer im Rahmen einer Werkstudententätigkeit mit „FlashMX–Actionscript” erstellt (Betreuer: Günter Söder).
- 2019 wurde das Programm von Carolin Mirschina im Rahmen einer Werkstudententätigkeit auf „HTML5” umgesetzt und neu gestaltet (Betreuer: Tasnád Kernetzky).
Die Umsetzung dieses Applets auf HTML 5 wurde durch Studienzuschüsse der Fakultät EI der TU München finanziell unterstützt. Wir bedanken uns.