Das Gram-Schmidt-Verfahren
Contents
Programmbeschreibung
Das Applet verdeutlicht das Gram–Schmidt–Verfahren. Dieses ermöglicht, eine Menge {s1(t),...,sM(t)} energiebegrenzter Signale mit Hilfe von N≤M orthonormalen Basisfunktionen φ1(t),...,φN(t) in folgender Form darzustellen:
- si(t)=N∑j=1sij⋅φj(t),i=1,...,M,j=1,...,N.
Der vektorielle Repräsentant der Musterfunktion s1(t) lautet dann: si=(si1,si2,...,siN).
Das Applet zeigt alle Grafiken, die zum Verständnis des Gram–Schmidt–Verfahrens erforderlich sind, und als jeweiliges Ergebnis
- die 2D–Darstellung der M vektoriellen Repräsentanten, falls N=2,
- die 3D–Darstellung der M vektoriellen Repräsentanten, falls N=3.
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 bereits 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.
Die verschiedenen Rubriken bei der Auswahl der Programmparameter
Das Programm bietet insgesamt 4⋅6=24 Möglichkeiten zur Einstellung der jeweiligen Menge {si(t)} möglicher Sendesignale. Diese 24 Parametersätze sind in vier Rubriken eingeteilt. Die vier Rubriküberschriften treffen den Sachverhalt nicht hundertprozentig und sind deshalb in Hochkommata gesetzt:
(1) Rubrik „Basisband” ⇒ gültig für die Einstellungen (A) ... (F):
- Jedes Mustersignal si(t) besteht aus drei Rechteckfunktionen unterschiedlicher Höhen und jeweiliger Dauer T.
- Die einzelnen Rechteckhöhen sind Vielfache von ±0.25 und die gesamte Signaldauer ergibt 3T.
- Mit dem seitlichen Slider kann man das Signal si(t) um Vielfache von ±0.25 nach oben und unten verschieben.
- Solche Signale treten zum Beispiel bei der binären oder mehrstufigen Basisbandübertragung auf.
- Im Beispiel 2 des angegebenen Links erkennt man die zum Beispiel grafischen Darstellungen
- eines binären Signals q(t),
- eines ternären Signals s3(t),
- eines quaternären Signals s4(t).
(2) Rubrik „M–ASK / BPSK” ⇒ gültig für die Einstellungen (G) ... (L):
- Die Mustersignale si(t) haben ebenfalls die Dauer 3T und sind ähnlich aufgebaut wie bei der Rubrik (1).
- Im Unterschied zu (1) wird jede Rechteckfunktion (Dauer T) durch eine Periode einer Sinusfunktionen ersetzt.
- Der angegebene Zahlenwert gibt hier die Amplitude des sinusförmigen Teilstücks an.
- Bei negativem Vorzeichen wird aus dem „Sinus” die Funktion „Minus–Sinus”.
- Mit dem seitlichen Slider kann man die Amplitude von si(t) um Vielfache von ±0.25 vergrößern oder verkleinern.
- Solche Signale können zum Beispiel bei der M–ASK (mehrstufiges Amplitude Shift Keying) auftreten, ebenso bei BPSK (Binary Phase Shift Keying).
(3) Rubrik „Nur eine Frequenz” ⇒ gültig für die Einstellungen (M) ... (R):
- Alle Mustersignale si(t) haben die Dauer T und sind jeweils Harmonische Schwingungen der Form
- si(t)=A⋅cos(2π⋅f⋅t−φ).
- In der Grafik dargestellt ist der Fall: A=0.75,f=2⋅f0=2/T,φ=90∘ ⇒ sinusförmiger Verlauf.
- Die Eigenschaft „Nur eine Frequenz” bezieht sich auf die einzelnen Mustersignale si(t).
- Die M Signalformen eines Sets können durchaus unterschiedliche Frequenzen f aufweisen.
- Solche Harmonische haben für alle (analogen und digitalen) Nachrichtensysteme große Bedeutung.
(4) Rubrik „Mehrere Frequenzen” ⇒ gültig für die Einstellungen (S) ... (X):
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.
- Es gilt s3(t)=s1(t)/4−s2(t)/2 und s4(t)=−s1(t)−s2(t). Das heißt: s3(t) und s4(t) liefern keine neuen Basisfunktionen.
(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) Welches Ergebnis liefern die vier Signale gemäß der Einstellung F?
- Die die Signale s1(t), ... , s4(t) basieren alle auf einer einzigen Basisfunktion φ1(t), die formgleich mit s1(t) ist. Es gilt N=1.
- Die vektoriellen Repräsentanten der Signale s1(t), ... , s4(t) sind ±0.866 und ±1.732. Sie liegen alle auf einer Linie.
(7) Es gilt nun die „M–ASK / BPSK”–Einstellung G. Interpretieren Sie das Ergebnis und versuchen Sie, einen Zusammenhang zu einer früheren Aufgabe herzustellen.
- Vergleicht man die angegebenen Zahlenwerte, so erkennt man, dass eine ähnliche Konstellation betrachtet wird wie bei der „Basisband”–Einstellung A.
- Der einzige Unterschied ist, dass nun alle Energien nur halb so groß sind wie vorher. Bezüglich der Amplituden wirkt sich das um den Faktor √2 aus.
- Somit ist nun der vektorielle Repräsentant des unteren Signals s4=(−1.021,−0.289,+0.500) anstelle von s4=(−1.444,−0.408,+0.707).
- Bei der Einstellung H sind gegenüber G alle Amplituden verdoppelt. Somit ergibt sich hier wieder s4=(−1.444,−0.408,+0.707).
(8) Es gelte die „M–ASK / BPSK”–Einstellung I. Interpretieren Sie das Ergebnis. Versuchen Sie wieder, einen Zusammenhang zu einer früheren Aufgabe herzustellen.
- Hier wird eine ähnliche Konstellation betrachtet wird wie bei der „Basisband”–Einstellung C, aber nun mit nur halb so großen Energien.
- Somit ist nun der vektorielle Repräsentant des unteren Signals s4=(+0.707,−0.707,0.000) anstelle von s4=(+1.000,−1.000,0.000).
(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 ö_{\rm norm} um den Faktor 3 kleiner, \sigma_{\rm norm} dagegen nur um etwa den Faktor \sqrt{5/9)} \approx 0.75.
- Für 10 \cdot \lg \ E_{\rm B}/N_0 = 10 \ {\rm dB} ergibt sich nun die Fehlerwahrscheinlichkeit p_{\rm U} \approx 2.27\% und für 10 \cdot \lg \ E_{\rm B}/N_0 = 12 \ {\rm dB} nur mehr 0.59\%.
(10) Für die restlichen Aufgaben gelte stets 10 \cdot \lg \ E_{\rm B}/N_0 = 12 \ {\rm dB}. Betrachten Sie das Augendiagramm für M=4 \text{, CRO–Nyquist, }r_f = 0.5.
- In d_{\rm S}(t) müssen alle „Fünf–Symbol–Kombinationen” enthalten sein ⇒ mindestens 4^5 = 1024 Teilstücke ⇒ maximal 1024 unterscheidbare Linien.
- Alle 1024 Augenlinien gehen bei t=0 durch nur vier Punkte: ö_{\rm norm}= 0.333. \sigma_{\rm norm} = 0.143 ist etwas größer als in (9) ⇒ ebenso p_{\rm U} \approx 1\%.
(11) Wählen Sie die Einstellungen M=4 \text{, nach Gauß–TP, }f_{\rm G}/R_{\rm B} = 0.48 und variieren Sie f_{\rm G}/R_{\rm B}. Interpretieren Sie die Ergebnisse.
- f_{\rm G}/R_{\rm B}=0.48 führt zur minimalen Fehlerwahrscheinlichkeit p_{\rm U} \approx 0.21\%. Kompromiss zwischen ö_{\rm norm}= 0.312 und \sigma_{\rm norm}= 0.109.
- Bei zu kleiner Grenzfrequenz dominieren die Impulsinterferenzen. Beispiel: f_{\rm G}/R_{\rm B}= 0.3: ö_{\rm norm}= 0.157; \sigma_{\rm norm}= 0.086 ⇒ p_{\rm U} \approx 3.5\%.
- Bei zu großer Grenzfrequenz dominiert das Rauschen. Beispiel: f_{\rm G}/R_{\rm B}= 1.0: ö_{\rm norm}= 0.333; \sigma_{\rm norm}= 0.157 ⇒ p_{\rm U} \approx 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 \text{ (AMI-Code), nach Gauß–TP, }f_{\rm G}/R_{\rm B} = 0.48 gegenüber dem vergleichbaren Binärsystem? Interpretation.
- Der Detektionsgrundimpuls g_d(t) ist in beiden Fällen gleich. Die Abtastwerte sind jeweils g_0 = 0.771, \ g_1 = 0.114.
- Beim AMI–Code gibt es zwei Augenöffnungen mit je ö_{\rm norm}= 1/2 \cdot (g_0 -3 \cdot g_1) = 0.214. Beim Binärcode: ö_{\rm norm}= g_0 -2 \cdot g_1 = 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 ⇒ H_{\rm K}(f= 0)=0 angewendet werden.
(13) Gleiche Einstellung wie in (12), zudem 10 \cdot \lg \ E_{\rm B}/N_0 = 12 \ {\rm dB}. Analysieren Sie die Fehlerwahrscheinlichkeit des AMI–Codes.
- Trotz kleinerem \sigma_{\rm norm} = 0.103 hat der AMI–Code eine höhere Fehlerwahrscheinlichkeit p_{\rm U} \approx 2\% als der Binärcode: \sigma_{\rm norm} = 0.146, \ p_{\rm U} \approx \cdot 10^{-4}.
- Für f_{\rm G}/R_{\rm B}<0.34 ergibt sich ein geschlossenes Auge (ö_{\rm norm}= 0) ⇒ p_{\rm U} =50\%. Beim Binärcode: Für f_{\rm G}/R_{\rm B}>0.34 ist das Auge geöffnet.
(14) Welche Unterschiede zeigt das Auge für M=3 \text{ (Duobinärcode), nach Gauß–TP, }f_{\rm G}/R_{\rm B} = 0.30 gegenüber dem vergleichbaren Binärsystem?
- Redundanzfreier Binärcode: ö_{\rm norm}= 0.096, \ \sigma_{\rm norm} = 0.116 \ p_{\rm U} \approx 20\% Duobinärcode: ö_{\rm norm}= 0.167, \ \sigma_{\rm norm} = 0.082 \ p_{\rm U} \approx 2\% .
- Insbesondere bei kleinem f_{\rm G}/R_{\rm B} liefert der Duobinärcode gute Ergebnisse, da die Übergänge von +1 nach -1 (und umgekehrt) im Auge fehlen.
- Selbst mit f_{\rm G}/R_{\rm B}=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 g_d(t)
(G) Darstellung: Detektionsnutzsignal d_{\rm S}(t - \nu \cdot T)
(H) Darstellung: Augendiagramm im Bereich \pm T
( I ) Numerikausgabe: ö_{\rm norm} (normierte Augenöffnung)
(J) Prametereingabe 10 \cdot \lg \ E_{\rm B}/N_0 für (K)
(K) Numerikausgabe: \sigma_{\rm norm} (normierter Rauscheffektivwert)
(L) Numerikausgabe: p_{\rm U} (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.