Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Das Gram-Schmidt-Verfahren

From LNTwww
Revision as of 17:49, 29 January 2020 by Guenter (talk | contribs)

Open Applet in a new tab

Programmbeschreibung


Das Applet verdeutlicht das Gram–Schmidt–Verfahren. Dieses ermöglicht, eine Menge  {s1(t),...,sM(t)}  energiebegrenzter Signale mit Hilfe von   NM  orthonormalen Basisfunktionen   φ1(t),...,φN(t)  in folgender Form darzustellen:

si(t)=Nj=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=mis(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  NM  orthonormale Basisfunktionen  φ1(t),...,φN(t)  entwickeln.  Es gilt:

si(t)=Nj=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=kfallsjk.


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.


Darstellung der drei Sendesignale durch zwei Basisfunktionen

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=A2T=E  und  E2=(A/2)2T=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)A2T=1Ts1(t)A
s1(t)=s11φ1(t),s11=E,
φ2(t)=s2(t)E2=s2(t)(A/2)2T=1Ts2(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/2T=E/2,s32=AT=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=A2T  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¨urj2.

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), ... , sk1(t)  bereits die Basisfunktionen  φ1(t), ... , φn1(t)  berechnet wurden  (nk).

  • Dann berechnen wir mittels der nächsten Funktion  sk(t)  die Hilfsfunktion
θk(t)=sk(t)n1j=1skjφj(t)mitskj=<sk(t),φj(t)>,j=1,...,n1.
  • Hat diese Hilfsfunktion die Norm   ||θk(t)||=0, so liefert  sk(t)  keine neue Basisfunktion.  Vielmehr lässt sich dann  sk(t)  durch die  n1  bereits vorher gefundenen Basisfunktionen  φ1(t), ... , φn1(t)  ausdrücken:
sk(t)=n1j=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  NM  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.

Zum Gram-Schmidt-Verfahren

Man erkennt aus diesen Skizzen:

  • Die Basisfunktion  φ1(t)  ist formgleich mit  s1(t).  Wegen  E1=||s1(t)||2=30.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  46=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):

Signalform bei „Basisband”
  • 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):

Signalform bei „M–ASK / BPSK”
  • 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):

Signalform bei „Nur eine Frequenz”
  • Alle Mustersignale  si(t)  haben die Dauer  T  und sind jeweils Harmonische Schwingungen der Form
si(t)=Acos(2πftφ).
  • In der Grafik dargestellt ist der Fall:  A=0.75,f=2f0=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


Aufgaben 2D-Gauss.png

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)/4s2(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,  10lg 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


Anleitung Auge.png

    (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.


Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster

Open Applet in a new tab