|
|
(115 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | <html>
| + | ==Zeitfunktion und zugehörige Spektralfunktion== |
− | <head>
| |
− | <meta charset="utf-8" />
| |
− | <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jsxgraph/0.99.6/jsxgraphcore.js"></script>
| |
− |
| |
− | <style>
| |
− | .button1{
| |
− | background-color: black;
| |
− | border: none;
| |
− | color: white;
| |
− | font-family: arial;
| |
− | padding: 8px 20px;
| |
− | text-align: center;
| |
− | text-decoration: none;
| |
− | display: inline-block;
| |
− | font-size: 16px;
| |
− | border-radius: 15px;
| |
− | position:relative;
| |
− | top: 750px;
| |
− | left: 830px;
| |
− | }
| |
| | | |
− | .button1:active {
| + | {{LntAppletLink|spektrum}} |
− | background-color: #939393;}
| |
| | | |
− | </style>
| + | ==Theoretischer Hintergrund== |
− | </head>
| + | *Der Zusammenhang zwischen Zeitfunktion $x(t)$ und dem Spektrum $X(f)$ ist durch die Fouriertransformation (FT) $$X(f)=\int_{-\infty}^{+\infty}x(t)\cdot e^{-j2\pi f t}\hspace{0.15cm} {\rm d}t$$ und deren Inversen (IFT) $$x(t)=\int_{-\infty}^{+\infty}X(f)\cdot e^{j2\pi f t} \hspace{0.15cm} {\rm d}f$$ gegeben. |
− | <body>
| + | *In allen Beispielen verwenden wir reelle und gerade Funktionen. Somit gilt: |
| + | $$X(f)=\int_{-\infty}^{+\infty}x(t)\cdot \cos(2\pi ft) \hspace{0.15cm} {\rm d}t$$ und |
| + | $$x(t)=\int_{-\infty}^{+\infty}X(f)\cdot \cos(2\pi ft) \hspace{0.15cm} {\rm d}f.$$ |
| + | *$x(t)$ und $X(f)$ haben unterschiedliche Einheiten, z. B. $x(t)$ in V, $X(f)$ in V/Hz. |
| + | *Alle Zeiten sind auf eine Normierungszeit $T$ und alle Frequenzen auf $1/T \Rightarrow$ das Spektrum $X(f)$ muss noch mit $T$ multipliziert werden. |
| + | *Der Zusammenhang zwischen Impulse und deren Spektren und der ähnlich aufgebauten Animation „Tiefpass“ basiert auf dem Vertauschungssatz. |
| | | |
− | <p><B><span style="position:absolute; top:55px; left:80px; font-family:arial; font-size:0.750em; color:red;">Impuls 1
| + | ==Gaußimpuls== |
− | <select class="dropdown1" id ="Impuls 1" onchange ="change1(this)">
| + | *Die Zeitfunktion mit der Höhe $K$ und der (äquivalenten) Dauer $\Delta t$ lautet: |
− | <option selected value='0'>Gauß</option>
| + | $$x(t)=K\cdot e^{-\pi\cdot(t/\Delta t)^2}.$$ |
− | <option value='1'>Rechteck</option>
| + | *Die äquivalente Zeitdauer $\Delta t$ ergibt sich aus dem flächengleichen Rechteck. |
− | <option value='2'>Dreieck</option>
| + | *Der Wert bei t=$\Delta t/2$ ist um den Faktor 0.456 kleiner als der Wert bei $t=0$. |
− | <option value='3'>Trapez</option>
| + | *Für die Spektralfunktion erhält man gemäß der Fouriertransformation: |
− | <option value='4'>Cos-Rolloff</option>
| + | $$X(f)=K\cdot \Delta t \cdot e^{-\pi(f\cdot \Delta t)^2} .$$ |
− | <option value='5'>Inaktiv</option>
| + | *Je kleiner die äquivalente Zeitdauer $\Delta t$ ist, um so breiter und niedriger ist das Spektrum (Reziprozitätsgesetz von Bandbreite und Impulsdauer). |
− | </select>
| + | *Sowohl $x(t)$ als auch $X(f)$ sind zu keinem $ f$- bzw. $t$-Wert exakt gleich Null. |
− | </span></B></p>
| + | *Praktisch ist der Gaußimpuls in Zeit und Frequenz begrenzt. Zum Beispiel ist $x(t)$ bereits bei $t=1.5 \Delta \cdot t$ auf $1\% $ des Maximums abgefallen. |
| + | ==Rechteckimpuls== |
| + | *Die Zeitfunktion mit der Höhe $K$ und der (äquivalenten) Dauer $\Delta t$ lautet: |
| | | |
− | <p><B><span style="position:absolute; top:55px; left:900px; font-family:arial; font-size:0.750em; color:blue;">Impuls 2
| + | $$x(t) = \left\{ \begin{array}{l} \hspace{0.25cm}K \\ K /2 \\ \hspace{0.25cm} 0 \\ \end{array} \right.\quad \quad \begin{array}{*{20}c} {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ \end{array}\begin{array}{*{20}c} {\left| \hspace{0.05cm} t\hspace{0.05cm} \right| < T/2,} \\ {\left| \hspace{0.05cm}t\hspace{0.05cm} \right| = T/2,} \\ {\left|\hspace{0.05cm} t \hspace{0.05cm} \right| > T/2.} \\ \end{array}$$ |
− | <select class="dropdown2" id ="Impuls 2" onchange ="change2(this)"> | |
− | <option value='0'>Gauß</option>
| |
− | <option value='1'>Rechteck</option>
| |
− | <option value='2'>Dreieck</option>
| |
− | <option selected value='3'>Trapez</option>
| |
− | <option value='4'>Cos-Rolloff</option>
| |
− | <option value='5'>Inaktiv</option>
| |
− | </select> | |
− | </span></B></p>
| |
| | | |
− | <form id="myForm">
| + | *Der $\pm \Delta t/2$ - Wert liegt mittig zwischen links- und rechtsseitigem Grenzwert. |
− | <button class="button1" style="font-size:0.750em" onclick="zurueck()">Reset</button>
| + | *Für die Spektralfunktion erhält man entsprechend den Gesetzmäßigkeiten der Fouriertransformation (1. Fourierintegral): |
− | <p><span style="position:absolute; top:730px; left:840px; font-family:arial; font-size:0.750em;">mit Gitter<input name="gridbox" id="gridbox" type="checkbox" onclick="showgrid();" checked="checked"></span></p>
| + | $$X(f)=K\cdot \Delta t \cdot si(\pi\cdot \Delta t \cdot f) \quad \text{mit} \ si(x)=\frac{sin(x)}{x}.$$ |
| + | *Der Spektralwert bei $f=0$ ist gleich der Rechteckfläche der Zeitfunktion. |
| + | *Die Spektralfunktion besitzt Nullstellen in äquidistanten Abständen $1/\Delta t$. |
| + | *Das Integral über der Spektralfunktion $X(f)$ ist gleich dem Signalwert zum Zeitpunkt $t=0$, also der Impulsamplitude $K$. |
| | | |
− | <div id="pltBox1" class="jxgbox" style="width:600px; height:300px; border:1px solid black; margin:50px 20px 100px 220px;"></div>
| + | ==Dreieckimpuls== |
− | <div id="pltBox2" class="jxgbox" style="width:600px; height:300px; border:1px solid black; margin:50px 20px 100px 220px;"></div>
| + | *Die Zeitfunktion mit der Höhe $K$ und der (äquivalenten) Dauer $\Delta t$ lautet: |
− | <div id="cnfBox1" class="jxgbox" style="width:200px; height:600px; border:1px solid black; margin:-805px 10px 100px 10px;"></div>
| |
− | <div id="cnfBox2" class="jxgbox" style="width:200px; height:600px; border:1px solid black; margin:-700px 800px 100px 830px;"></div>
| |
− | <div id="cnfBox3" class="jxgbox" style="width:600px; height:50px; border:1px solid black; margin:-380px 800px 100px 220px;"></div>
| |
| | | |
| + | $$x(t) = \left\{ \begin{array}{l} \hspace{0.25cm}K\cdot \Big(1-\frac{|t|}{\Delta t}\Big) \\ \hspace{0.25cm} 0 \\ \end{array} \right.\quad \quad \begin{array}{*{20}c} {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ \end{array}\begin{array}{*{20}c} {\left| \hspace{0.05cm} t\hspace{0.05cm} \right| < \Delta t,} \\ {\left| \hspace{0.05cm}t\hspace{0.05cm} \right| \ge \Delta t.} \\ \end{array}$$ |
| | | |
− | <script type="text/javascript">
| + | *Die absolute Zeitdauer ist $2 \cdot \Delta t$, d.h. doppelt so groß als die des Rechtecks. |
| + | *Für die Spektralfunktion erhält man gemäß der Fouriertransformation: |
| + | $$X(f)=K\cdot \Delta f \cdot si^2(\pi\cdot \Delta t \cdot f) \quad \text{mit} \ si(x)=\frac{sin(x)}{x}.$$ |
| + | *Obige Zeitfunktion ist gleich der Faltung zweier Rechteckimpulse, jeweils mit Breite $\Delta t \Rightarrow X(f)$ beinhaltet anstelle der $si$-Funktion die $si^2$-Funktion. |
| + | *$X(f)$ weist somit ebenfalls Nullstellen im äquidistanten Abständen $1/\Delta f$ auf. |
| + | *Der asymptotische Abfall von $X(f)$ erfolgt hier mit $1/f^2$, während zum Vergleich der Rechteckimpuls mit $1/f$ abfällt. |
| | | |
− | //Grundeinstellungen der beiden Applets
| + | ==Trapezimpuls== |
| + | Die Zeitfunktion mit der Höhe $K$ und den Zeitparametern $t_1$ und $t_2$ lautet: |
| | | |
− | pltBox1 = JXG.JSXGraph.initBoard('pltBox1', {
| + | $$x(t) = \left\{ \begin{array}{l} \hspace{0.25cm}K \\ K\cdot \frac{t_2-|t|}{t_2-t_1} \\ \hspace{0.25cm} 0 \\ \end{array} \right.\quad \quad \begin{array}{*{20}c} {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ \end{array}\begin{array}{*{20}c} {\left| \hspace{0.05cm} t\hspace{0.05cm} \right| \le t_1,} \\ {t_1\le \left| \hspace{0.05cm}t\hspace{0.05cm} \right| \le t_2,} \\ {\left|\hspace{0.05cm} t \hspace{0.05cm} \right| \ge t_2.} \\ \end{array}$$ |
− | showCopyright:false, axis:false,
| |
− | zoom:{factorX:1.1, factorY:1.1, wheel:true, needshift:true, eps: 0.1},
| |
− | grid:false,
| |
− | boundingbox: [-1.1, 1.1, 1.1, -0.3]
| |
− | }); | |
− | pltBox2 = JXG.JSXGraph.initBoard('pltBox2', {
| |
− | showCopyright:false, axis:false,
| |
− | zoom:{factorX:1.1, factorY:1.1, wheel:true, needshift:true, eps: 0.1},
| |
− | grid:false,
| |
− | boundingbox: [-3.1, 1.1, 3.1, -0.3]
| |
− | }); | |
− | cnfBox1 = JXG.JSXGraph.initBoard('cnfBox1', {
| |
− | showCopyright:false, axis:false, ShowNavigation:false,
| |
− | zoom:{enabled:false}, pan:{enabled:false}, grid:false,
| |
− | boundingbox: [-3.1, 1.1, 3.1, -0.3]
| |
− | }); | |
− | cnfBox2 = JXG.JSXGraph.initBoard('cnfBox2', {
| |
− | showCopyright:false, axis:false, ShowNavigation:false,
| |
− | zoom:{enabled:false}, pan:{enabled:false}, grid:false,
| |
− | boundingbox: [-3.1, 1.1, 3.1, -0.3]
| |
− | }); | |
− | cnfBox3 = JXG.JSXGraph.initBoard('cnfBox3', {
| |
− | showCopyright:false, axis:false, ShowNavigation:false,
| |
− | zoom:{enabled:false}, pan:{enabled:false}, grid:false,
| |
− | boundingbox: [-3.1, 1.1, 3.1, -0.3]
| |
− | }); | |
| | | |
− | cnfBox1.addChild(pltBox1);
| + | *Für die äquivalente Zeitdauer (flächengleiches Rechteck) gilt: $\Delta t = t_1+t_2$. |
− | cnfBox2.addChild(pltBox1);
| + | *Der Rolloff-Faktor (im Zeitbereich) kennzeichnet die Flankensteilheit: |
− | cnfBox1.addChild(pltBox2);
| + | $$r=\frac{t_2-t_1}{t_2+t_1}.$$ |
− | cnfBox2.addChild(pltBox2);
| + | *Sonderfall $r=0$: Rechteckimpuls. Sonderfall $r=1$: Dreieckimpuls. |
− | cnfBox3.addChild(cnfBox1);
| + | *Für die Spektralfunktion erhält man gemäß der Fouriertransformation: |
− | cnfBox3.addChild(cnfBox2);
| + | $$X(f)=K\cdot \Delta t \cdot si(\pi\cdot \Delta t \cdot f)\cdot si(\pi \cdot r \cdot \Delta t \cdot f) \quad \text{mit} \ si(x)=\frac{sin(x)}{x}.$$ |
| + | *Der asymptotische Abfall von $X(f)$ liegt zwischen $1/f$ (für Rechteck, $r=0$) und $1/f^2$ (für Dreieck, $r=1$). |
| | | |
| + | ==Cosinus-Rolloff-Impuls== |
| + | Die Zeitfunktion mit der Höhe $K$ und den Zeitparametern $t_1$ und $t_2$ lautet: |
| | | |
− | //Einstellungen der Achsen
| + | $$x(t) = \left\{ \begin{array}{l} \hspace{0.25cm}K \\ K\cdot \cos^2\Big(\frac{|t|-t_1}{t_2-t_1}\cdot \frac{\pi}{2}\Big) \\ \hspace{0.25cm} 0 \\ \end{array} \right.\quad \quad \begin{array}{*{20}c} {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ \end{array}\begin{array}{*{20}c} {\left| \hspace{0.05cm} t\hspace{0.05cm} \right| \le t_1,} \\ {t_1\le \left| \hspace{0.05cm}t\hspace{0.05cm} \right| \le t_2,} \\ {\left|\hspace{0.05cm} t \hspace{0.05cm} \right| \ge t_2.} \\ \end{array}$$ |
− | xaxis1 = pltBox1.create('axis', [[0, 0], [1,0]], {
| |
− | name:'\\[t\\]',
| |
− | withLabel:true, label:{position:'rt', offset:[-25, 15]}
| |
− | }); | |
− | yaxis1 = pltBox1.create('axis', [[0, 0], [0, 1]], {
| |
− | name:'\\[x(t)\\]',
| |
− | withLabel:true, label:{position:'rt', offset:[10, -5]}
| |
− | }); | |
− | xaxis2 = pltBox2.create('axis', [[0, 0], [1,0]], {
| |
− | name:'\\[f\\]',
| |
− | withLabel:true, label:{position:'rt', offset:[-25, 15]}
| |
− | }); | |
− | yaxis2 = pltBox2.create('axis', [[0, 0], [0, 1]], {
| |
− | name:'\\[X(f)\\]',
| |
− | withLabel:true, label:{position:'rt', offset:[10, -5]}
| |
− | });
| |
| | | |
− | //Festlegen der Schieberegler
| + | *Für die äquivalente Zeitdauer (flächengleiches Rechteck) gilt: $\Delta t = t_1+t_2$. |
− | sldA1 = cnfBox1.create('slider',[[-2.8,1],[0.8,1],[0,1,2]], {
| + | *Der Rolloff-Faktor (im Zeitbereich) kennzeichnet die Flankensteilheit: |
− | suffixlabel:' <I>A</I>_1=',
| + | $$r=\frac{t_2-t_1}{t_2+t_1}.$$ |
− | snapWidth:0.05
| + | *Sonderfall $r=0$: Rechteckimpuls. Sonderfall $r=1$: Cosinus$^2$-Impuls. |
− | }),
| + | *Für die Spektralfunktion erhält man gemäß der Fouriertransformation: |
− | sldDT1 = cnfBox1.create('slider',[[-2.8,0.9],[0.8,0.9],[0,1,2]], {
| + | $$X(f)=K\cdot \Delta t \cdot \frac{\cos(\pi \cdot r\cdot \Delta t \cdot f)}{1-(2\cdot r\cdot \Delta t \cdot f)^2} \cdot si(\pi \cdot \Delta t \cdot f).$$ |
− | suffixlabel:' <I>Δt</I>_1=',
| + | *Je größer der Rolloff-Faktor $r$ ist, desto schneller nimmt $X(f)$ asymptotisch mit $f$ ab. |
− | snapWidth:0.01
| |
− | }),
| |
− | sldR1 = cnfBox1.create('slider',[[-2.8,0.8],[0.8,0.8],[0,0.5,1]], {
| |
− | suffixlabel:' <I>r</I>_1=',
| |
− | snapWidth:0.05
| |
− | }),
| |
− | sldA2 = cnfBox2.create('slider',[[-2.8,1],[0.8,1],[0,1,2]], {
| |
− | suffixlabel:' <I>A</I>_2=',
| |
− | snapWidth:0.05
| |
− | }),
| |
− | sldDT2 = cnfBox2.create('slider',[[-2.8,0.9],[0.8,0.9],[0,1,2]], {
| |
− | suffixlabel:' <I>Δt</I>_2=',
| |
− | snapWidth:0.05
| |
− | }),
| |
− | sldR2 = cnfBox2.create('slider',[[-2.8,0.8],[0.8,0.8],[0,0.5,1]], {
| |
− | suffixlabel:' <I>r</I>_2=',
| |
− | snapWidth:0.05
| |
− | }), | |
− | sldT = cnfBox3.create('slider',[[-2.8,0.4],[-1.6,0.4],[-1,0.5,1]], {
| |
− | suffixlabel:' <I>t</I>=',
| |
− | snapWidth:0.05
| |
− | }),
| |
− | sldF = cnfBox3.create('slider',[[1,0.4],[2.2,0.4],[-3,0.5,3]], {
| |
− | suffixlabel:' <I>f</I>=',
| |
− | snapWidth:0.05
| |
− | }),
| |
| | | |
− | //Substituierte Hilfswerte
| + | ==Cosinus-Quadrat-Impuls== |
− | t1=sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2
| + | *Dies ist ein Sonderfall des Cosinus-Rolloff-Impuls und ergibt sich für $r=1 \ (t_1=0, t_2= \Delta t)$: |
− | t2=(sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2
| |
| | | |
− | //Definition der Texte für die Funktionswerte von Impuls 1
| + | $$x(t) = \left\{ \begin{array}{l} \hspace{0.25cm}K\cdot \cos^2\Big(\frac{|t|\cdot \pi}{2\cdot \Delta t}\Big) \\ \hspace{0.25cm} 0 \\ \end{array} \right.\quad \quad \begin{array}{*{20}c} {\rm{f\ddot{u}r}} \\ {\rm{f\ddot{u}r}} \\ \end{array}\begin{array}{*{20}c} {\left| \hspace{0.05cm} t\hspace{0.05cm} \right| < \Delta t,} \\ {\left| \hspace{0.05cm}t\hspace{0.05cm} \right| \ge \Delta t.} \\ \end{array}$$ |
− | var txtG1=cnfBox1.create('text',[0,0.1, function()
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value()*Math.exp(-1*Math.PI*(sldT.Value()/sldDT1.Value())*(sldT.Value()/sldDT1.Value())))*1000)/1000 +' \\]';}],
| |
− | {fixed:true, strokeColor:'red', visible:true});
| |
− | var txtR1=cnfBox1.create('text',[0,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<sldDT1.Value()/2)
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value())*1000)/1000 +' \\]';}
| |
− | else if(Math.abs(sldT.Value())==sldDT1.Value()/2)
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value()/2)*1000)/1000 +' \\]';}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]';}}],
| |
− | {fixed:true, strokeColor:'red', visible:false});
| |
− | var txtD1=cnfBox1.create('text',[0,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<sldDT1.Value())
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value()*(1-Math.abs(sldT.Value())/sldDT1.Value()))*1000)/1000 +' \\]';}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]';}}],
| |
− | {fixed:true, strokeColor:'red', visible:false});
| |
− | var txtT1=cnfBox1.create('text',[0,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<=(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value())*1000)/1000 +' \\]';}
| |
− | else if (((sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2)<= Math.abs(sldT.Value())) && (Math.abs(sldT.Value())<=((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)))
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value()*(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-Math.abs(sldT.Value()))/(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2)))*1000)/1000 +' \\]'}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]'}}],
| |
− | {fixed:true, strokeColor:'red', visible:false});
| |
− | var txtC1=cnfBox1.create('text',[0,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<=(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value())*1000)/1000 +' \\]';}
| |
− | else if (((sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2)<=Math.abs(sldT.Value())) && (Math.abs(sldT.Value())<=((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)))
| |
− | {return '\\[x(t)= '+ Math.round((sldA1.Value()*Math.cos((Math.abs(sldT.Value())-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))/(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))*(Math.PI/2))*Math.cos((Math.abs(sldT.Value())-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))/(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))*(Math.PI/2)))*1000)/1000 +' \\]';}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]'}}],
| |
− | {fixed:true, strokeColor:'red', visible:false});
| |
| | | |
− | var txtGS1=cnfBox1.create('text',[0,0, function()
| + | *Für die Spektralfunktion erhält man gemäß der Fouriertransformation: |
− | {return '\\[X(f)= '+ Math.round((sldA1.Value()*sldDT1.Value()*Math.exp(-1*Math.PI*(sldF.Value()*sldDT1.Value())*(sldF.Value()*sldDT1.Value())))*1000)/1000 +' \\]' ;}],
| + | $$X(f)=K\cdot \Delta f \cdot \frac{\pi}{4}\cdot [si(\pi(\Delta t\cdot f +0.5))+si(\pi(\Delta t\cdot f -0.5))]\cdot si(\pi \cdot \Delta t \cdot f).$$ |
− | {fixed:true, strokeColor:'red', visible:true});
| + | *Wegen der letzten $si$-Funktion ist $X(f)=0$ für alle Vielfachen von $F=1/\Delta t$. Die äquidistanten Nulldurchgänge des Cos-Rolloff-Impulses bleiben erhalten. |
− | var txtRS1=cnfBox1.create('text',[0,0, function()
| + | *Aufgrund des Klammerausdrucks weist $X(f)$ nun weitere Nulldurchgänge bei $f=\pm1.5 F$, $\pm2.5 F$, $\pm3.5 F$, ... auf. |
− | {return '\\[X(f)= '+ Math.round((sldA1.Value()*sldDT1.Value()*Math.sin(Math.PI*sldDT1.Value()*sldF.Value())/(Math.PI*sldDT1.Value()*sldF.Value()))*1000)/1000 +' \\]' ;}],
| + | *Für die Frequenz $f=\pm F/2$ erhält man die Spektralwerte $K\cdot \Delta t/2$. |
− | {fixed:true, strokeColor:'red', visible:false});
| + | *Der asymptotische Abfall von $X(f)$ verläuft in diesem Sonderfall mit $1/f^3$. |
− | var txtDS1=cnfBox1.create('text',[0,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA1.Value()*sldDT1.Value()*Math.pow(Math.sin(Math.PI*sldDT1.Value()*sldF.Value())/(Math.PI*sldDT1.Value()*sldF.Value()),2))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'red', visible:false});
| |
− | var txtTS1=cnfBox1.create('text',[0,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA1.Value()*sldDT1.Value()*(Math.sin(Math.PI*sldDT1.Value()*sldF.Value())/(Math.PI*sldDT1.Value()*sldF.Value()))*(Math.sin(Math.PI*sldR1.Value()*sldDT1.Value()*sldF.Value())/(Math.PI*sldR1.Value()*sldDT1.Value()*sldF.Value())))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'red', visible:false});
| |
− | var txtCS1=cnfBox1.create('text',[0,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA1.Value()*sldDT1.Value()*(Math.cos(Math.PI*sldR1.Value()*sldDT1.Value()*sldF.Value()))/(1-Math.pow((2*sldR1.Value()*sldDT1.Value()*sldF.Value()),2))*(Math.sin(Math.PI*sldDT1.Value()*sldF.Value())/(Math.PI*sldDT1.Value()*sldF.Value())))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'red', visible:false});
| |
| | | |
− | //Definition der Texte für die Funktionswerte von Impuls 2
| |
| | | |
− | var txtG2=cnfBox2.create('text',[-2,0.1, function()
| + | {{LntAppletLink|spektrum}} |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value()*Math.exp(-1*Math.PI*(sldT.Value()/sldDT2.Value())*(sldT.Value()/sldDT2.Value())))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | var txtR2=cnfBox2.create('text',[-2,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<sldDT2.Value()/2)
| |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value())*1000)/1000 +' \\]';}
| |
− | else if(Math.abs(sldT.Value())==sldDT2.Value()/2)
| |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value()/2)*1000)/1000 +' \\]';}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]';}}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | var txtD2=cnfBox2.create('text',[-2,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<sldDT2.Value())
| |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value()*(1-Math.abs(sldT.Value())/sldDT2.Value()))*1000)/1000 +' \\]';}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]';}}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | var txtT2=cnfBox2.create('text',[-2,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<=(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))
| |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value())*1000)/1000 +' \\]';}
| |
− | else if (((sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2)<= Math.abs(sldT.Value())) && (Math.abs(sldT.Value())<=((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)))
| |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value()*(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-Math.abs(sldT.Value()))/(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2)))*1000)/1000 +' \\]'}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]'}}],
| |
− | {fixed:true, strokeColor:'blue', visible:true});
| |
− | var txtC2=cnfBox2.create('text',[-2,0.1, function(){
| |
− | if (Math.abs(sldT.Value())<=(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))
| |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value())*1000)/1000 +' \\]';}
| |
− | else if (((sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2)<=Math.abs(sldT.Value())) && (Math.abs(sldT.Value())<=((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)))
| |
− | {return '\\[x(t)= '+ Math.round((sldA2.Value()*Math.cos((Math.abs(sldT.Value())-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))/(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))*(Math.PI/2))*Math.cos((Math.abs(sldT.Value())-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))/(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))*(Math.PI/2)))*1000)/1000 +' \\]';}
| |
− | else
| |
− | {return '\\[x(t)= '+ Math.round((0)*1000)/1000 +' \\]'}}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | | |
− | var txtGS2=cnfBox2.create('text',[-2,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA2.Value()*sldDT2.Value()*Math.exp(-1*Math.PI*(sldF.Value()*sldDT2.Value())*(sldF.Value()*sldDT2.Value())))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | var txtRS2=cnfBox2.create('text',[-2,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA2.Value()*sldDT2.Value()*Math.sin(Math.PI*sldDT2.Value()*sldF.Value())/(Math.PI*sldDT2.Value()*sldF.Value()))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | var txtDS2=cnfBox2.create('text',[-2,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA2.Value()*sldDT2.Value()*Math.pow(Math.sin(Math.PI*sldDT2.Value()*sldF.Value())/(Math.PI*sldDT2.Value()*sldF.Value()),2))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | var txtTS2=cnfBox2.create('text',[-2,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA2.Value()*sldDT2.Value()*(Math.sin(Math.PI*sldDT2.Value()*sldF.Value())/(Math.PI*sldDT2.Value()*sldF.Value()))*(Math.sin(Math.PI*sldR2.Value()*sldDT2.Value()*sldF.Value())/(Math.PI*sldR2.Value()*sldDT2.Value()*sldF.Value())))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'blue', visible:true});
| |
− | var txtCS2=cnfBox2.create('text',[-2,0, function()
| |
− | {return '\\[X(f)= '+ Math.round((sldA2.Value()*sldDT2.Value()*(Math.cos(Math.PI*sldR2.Value()*sldDT2.Value()*sldF.Value()))/(1-Math.pow((2*sldR2.Value()*sldDT2.Value()*sldF.Value()),2))*(Math.sin(Math.PI*sldDT2.Value()*sldF.Value())/(Math.PI*sldDT2.Value()*sldF.Value())))*1000)/1000 +' \\]' ;}],
| |
− | {fixed:true, strokeColor:'blue', visible:false});
| |
− | | |
− | | |
− | //Definition der Zeitfunktionen von Impuls 1
| |
− | var funcG1 = pltBox1.create('functiongraph',[function(x)
| |
− | {return (sldA1.Value()*Math.exp(-1*Math.PI*(x/sldDT1.Value())*(x/sldDT1.Value())))}],
| |
− | {strokeColor: "red", visible: true});
| |
− | var funcR1 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<sldDT1.Value()/2)
| |
− | {return sldA1.Value();}
| |
− | else if(Math.abs(x)==sldDT1.Value()/2)
| |
− | {return sldA1.Value()/2;}
| |
− | else
| |
− | {return 0;}}],
| |
− | {strokeColor: "red", visible: false});
| |
− | var funcD1 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<sldDT1.Value())
| |
− | {return sldA1.Value()*(1-Math.abs(x)/sldDT1.Value());}
| |
− | else
| |
− | {return 0;}}],
| |
− | {strokeColor: "red", visible: false});
| |
− | var funcT1 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<=(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))
| |
− | {return sldA1.Value();}
| |
− | else if (((sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2)<= Math.abs(x)) && (Math.abs(x)<=((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)))
| |
− | {return sldA1.Value()*(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-Math.abs(x))/(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))}
| |
− | else
| |
− | {return 0}}],
| |
− | {strokeColor: "red", visible: false});
| |
− | var funcC1 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<=(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))
| |
− | {return sldA1.Value();}
| |
− | else if (((sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2)<=Math.abs(x)) && (Math.abs(x)<=((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)))
| |
− | {return sldA1.Value()*Math.cos((Math.abs(x)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))/(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))*(Math.PI/2))*Math.cos((Math.abs(x)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))/(((sldR1.Value()*sldDT1.Value())/2+sldDT1.Value()/2)-(sldDT1.Value()/2-(sldR1.Value()*sldDT1.Value())/2))*(Math.PI/2));}
| |
− | else
| |
− | {return 0}}],
| |
− | {strokeColor: "red", visible: false});
| |
− | | |
− | //Definition der Spektralfunktionen von Impuls 1
| |
− | var funcGS1 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA1.Value()*sldDT1.Value()*Math.exp(-1*Math.PI*(x*sldDT1.Value())*(x*sldDT1.Value())))}],
| |
− | {strokeColor: "red", visible: true});
| |
− | var funcRS1 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA1.Value()*sldDT1.Value()*Math.sin(Math.PI*sldDT1.Value()*x)/(Math.PI*sldDT1.Value()*x))}],
| |
− | {strokeColor: "red", visible: false});
| |
− | var funcDS1 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA1.Value()*sldDT1.Value()*Math.pow(Math.sin(Math.PI*sldDT1.Value()*x)/(Math.PI*sldDT1.Value()*x),2))}],
| |
− | {strokeColor: "red", visible: false});
| |
− | var funcTS1 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA1.Value()*sldDT1.Value()*(Math.sin(Math.PI*sldDT1.Value()*x)/(Math.PI*sldDT1.Value()*x))*(Math.sin(Math.PI*sldR1.Value()*sldDT1.Value()*x)/(Math.PI*sldR1.Value()*sldDT1.Value()*x)))}],
| |
− | {strokeColor: "red", visible: false});
| |
− | var funcCS1 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA1.Value()*sldDT1.Value()*(Math.cos(Math.PI*sldR1.Value()*sldDT1.Value()*x))/(1-Math.pow((2*sldR1.Value()*sldDT1.Value()*x),2))*(Math.sin(Math.PI*sldDT1.Value()*x)/(Math.PI*sldDT1.Value()*x)))}],
| |
− | {strokeColor: "red", visible: false});
| |
− | | |
− | //Definition der Zeitfunktionen von Impuls 2
| |
− | var funcG2 = pltBox1.create('functiongraph',[function(x){
| |
− | return (sldA2.Value()*Math.exp(-1*Math.PI*(x/sldDT2.Value())*(x/sldDT2.Value())))}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | var funcR2 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<sldDT2.Value()/2)
| |
− | {return sldA2.Value();}
| |
− | else if(Math.abs(x)==sldDT2.Value()/2)
| |
− | {return sldA2.Value()/2;}
| |
− | else
| |
− | {return 0;}}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | var funcD2 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<sldDT2.Value())
| |
− | {return sldA2.Value()*(1-Math.abs(x)/sldDT2.Value());}
| |
− | else
| |
− | {return 0;}}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | var funcT2 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<=(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))
| |
− | {return sldA2.Value();}
| |
− | else if (((sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2)<= Math.abs(x)) && (Math.abs(x)<=((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)))
| |
− | {return sldA2.Value()*(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-Math.abs(x))/(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))}
| |
− | else
| |
− | {return 0}}],
| |
− | {strokeColor: "blue", visible: true});
| |
− | var funcC2 = pltBox1.create('functiongraph',[function(x){
| |
− | if (Math.abs(x)<=(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))
| |
− | {return sldA2.Value();}
| |
− | else if (((sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2)<=Math.abs(x)) && (Math.abs(x)<=((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)))
| |
− | {return sldA2.Value()*Math.cos((Math.abs(x)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))/(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))*(Math.PI/2))*Math.cos((Math.abs(x)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))/(((sldR2.Value()*sldDT2.Value())/2+sldDT2.Value()/2)-(sldDT2.Value()/2-(sldR2.Value()*sldDT2.Value())/2))*(Math.PI/2));}
| |
− | else
| |
− | {return 0}}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | | |
− | //Definition der Spektralfunktionen von Impuls 2
| |
− | var funcGS2 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA2.Value()*sldDT2.Value()*Math.exp(-1*Math.PI*(x*sldDT2.Value())*(x*sldDT2.Value())))}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | var funcRS2 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA2.Value()*sldDT2.Value()*Math.sin(Math.PI*sldDT2.Value()*x)/(Math.PI*sldDT2.Value()*x))}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | var funcDS2 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA2.Value()*sldDT2.Value()*Math.pow(Math.sin(Math.PI*sldDT2.Value()*x)/(Math.PI*sldDT2.Value()*x),2))}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | var funcTS2 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA2.Value()*sldDT2.Value()*(Math.sin(Math.PI*sldDT2.Value()*x)/(Math.PI*sldDT2.Value()*x))*(Math.sin(Math.PI*sldR2.Value()*sldDT2.Value()*x)/(Math.PI*sldR2.Value()*sldDT2.Value()*x)))}],
| |
− | {strokeColor: "blue", visible: true});
| |
− | var funcCS2 = pltBox2.create('functiongraph',[function(x){
| |
− | return (sldA2.Value()*sldDT2.Value()*(Math.cos(Math.PI*sldR2.Value()*sldDT2.Value()*x))/(1-Math.pow((2*sldR2.Value()*sldDT2.Value()*x),2))*(Math.sin(Math.PI*sldDT2.Value()*x)/(Math.PI*sldDT2.Value()*x)))}],
| |
− | {strokeColor: "blue", visible: false});
| |
− | | |
− | | |
− | //Definition der Dropdownlisten dropdown1 und dropdown2
| |
− | var change1 = function(obj) {
| |
− | var v = obj.value;
| |
− | if (v=='0') { impuls1G();}
| |
− | else if (v=='1') { impuls1R();}
| |
− | else if (v=='2') { impuls1D();}
| |
− | else if (v=='3') { impuls1T();}
| |
− | else if (v=='4') { impuls1C();}
| |
− | else if (v=='5') { impuls1I();}
| |
− | };
| |
− | | |
− | var change2 = function(obj) {
| |
− | var v = obj.value;
| |
− | if (v=='0') { impuls2G();}
| |
− | else if (v=='1') { impuls2R();}
| |
− | else if (v=='2') { impuls2D();}
| |
− | else if (v=='3') { impuls2T();}
| |
− | else if (v=='4') { impuls2C();}
| |
− | else if (v=='5') { impuls2I();}
| |
− | };
| |
− | | |
− | | |
− | //Definition der Funktionen für dropdown1
| |
− | function impuls1G() {
| |
− | funcG1.setProperty({visible:true});
| |
− | funcR1.setProperty({visible:false});
| |
− | funcD1.setProperty({visible:false});
| |
− | funcT1.setProperty({visible:false});
| |
− | funcC1.setProperty({visible:false});
| |
− | funcGS1.setProperty({visible:true});
| |
− | funcRS1.setProperty({visible:false});
| |
− | funcDS1.setProperty({visible:false});
| |
− | funcTS1.setProperty({visible:false});
| |
− | funcCS1.setProperty({visible:false});
| |
− | txtG1.setProperty({visible:true});
| |
− | txtR1.setProperty({visible:false});
| |
− | txtD1.setProperty({visible:false});
| |
− | txtT1.setProperty({visible:false});
| |
− | txtC1.setProperty({visible:false});
| |
− | txtGS1.setProperty({visible:true});
| |
− | txtRS1.setProperty({visible:false});
| |
− | txtDS1.setProperty({visible:false});
| |
− | txtTS1.setProperty({visible:false});
| |
− | txtCS1.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls1R() {
| |
− | funcG1.setProperty({visible:false});
| |
− | funcR1.setProperty({visible:true});
| |
− | funcD1.setProperty({visible:false});
| |
− | funcT1.setProperty({visible:false});
| |
− | funcC1.setProperty({visible:false});
| |
− | funcGS1.setProperty({visible:false});
| |
− | funcRS1.setProperty({visible:true});
| |
− | funcDS1.setProperty({visible:false});
| |
− | funcTS1.setProperty({visible:false});
| |
− | funcCS1.setProperty({visible:false});
| |
− | txtG1.setProperty({visible:false});
| |
− | txtR1.setProperty({visible:true});
| |
− | txtD1.setProperty({visible:false});
| |
− | txtT1.setProperty({visible:false});
| |
− | txtC1.setProperty({visible:false});
| |
− | txtGS1.setProperty({visible:false});
| |
− | txtRS1.setProperty({visible:true});
| |
− | txtDS1.setProperty({visible:false});
| |
− | txtTS1.setProperty({visible:false});
| |
− | txtCS1.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls1D() {
| |
− | funcG1.setProperty({visible:false});
| |
− | funcR1.setProperty({visible:false});
| |
− | funcD1.setProperty({visible:true});
| |
− | funcT1.setProperty({visible:false});
| |
− | funcC1.setProperty({visible:false});
| |
− | funcGS1.setProperty({visible:false});
| |
− | funcRS1.setProperty({visible:true});
| |
− | funcDS1.setProperty({visible:false});
| |
− | funcTS1.setProperty({visible:false});
| |
− | funcCS1.setProperty({visible:false});
| |
− | txtG1.setProperty({visible:false});
| |
− | txtR1.setProperty({visible:false});
| |
− | txtD1.setProperty({visible:true});
| |
− | txtT1.setProperty({visible:false});
| |
− | txtC1.setProperty({visible:false});
| |
− | txtGS1.setProperty({visible:false});
| |
− | txtRS1.setProperty({visible:false});
| |
− | txtDS1.setProperty({visible:true});
| |
− | txtTS1.setProperty({visible:false});
| |
− | txtCS1.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls1T() {
| |
− | funcG1.setProperty({visible:false});
| |
− | funcR1.setProperty({visible:false});
| |
− | funcD1.setProperty({visible:false});
| |
− | funcT1.setProperty({visible:true});
| |
− | funcC1.setProperty({visible:false});
| |
− | funcGS1.setProperty({visible:false});
| |
− | funcRS1.setProperty({visible:false});
| |
− | funcDS1.setProperty({visible:false});
| |
− | funcTS1.setProperty({visible:true});
| |
− | funcCS1.setProperty({visible:false});
| |
− | txtG1.setProperty({visible:false});
| |
− | txtR1.setProperty({visible:false});
| |
− | txtD1.setProperty({visible:false});
| |
− | txtT1.setProperty({visible:true});
| |
− | txtC1.setProperty({visible:false});
| |
− | txtGS1.setProperty({visible:false});
| |
− | txtRS1.setProperty({visible:false});
| |
− | txtDS1.setProperty({visible:false});
| |
− | txtTS1.setProperty({visible:true});
| |
− | txtCS1.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls1C() {
| |
− | funcG1.setProperty({visible:false});
| |
− | funcR1.setProperty({visible:false});
| |
− | funcD1.setProperty({visible:false});
| |
− | funcT1.setProperty({visible:false});
| |
− | funcC1.setProperty({visible:true});
| |
− | funcGS1.setProperty({visible:false});
| |
− | funcRS1.setProperty({visible:false});
| |
− | funcDS1.setProperty({visible:false});
| |
− | funcTS1.setProperty({visible:false});
| |
− | funcCS1.setProperty({visible:true});
| |
− | txtG1.setProperty({visible:false});
| |
− | txtR1.setProperty({visible:false});
| |
− | txtD1.setProperty({visible:false});
| |
− | txtT1.setProperty({visible:false});
| |
− | txtC1.setProperty({visible:true});
| |
− | txtGS1.setProperty({visible:false});
| |
− | txtRS1.setProperty({visible:false});
| |
− | txtDS1.setProperty({visible:false});
| |
− | txtTS1.setProperty({visible:false});
| |
− | txtCS1.setProperty({visible:true});
| |
− | };
| |
− | | |
− | function impuls1I() {
| |
− | funcG1.setProperty({visible:false});
| |
− | funcR1.setProperty({visible:false});
| |
− | funcD1.setProperty({visible:false});
| |
− | funcT1.setProperty({visible:false});
| |
− | funcC1.setProperty({visible:false});
| |
− | funcGS1.setProperty({visible:false});
| |
− | funcRS1.setProperty({visible:false});
| |
− | funcDS1.setProperty({visible:false});
| |
− | funcTS1.setProperty({visible:false});
| |
− | funcCS1.setProperty({visible:false});
| |
− | txtG1.setProperty({visible:false});
| |
− | txtR1.setProperty({visible:false});
| |
− | txtD1.setProperty({visible:false});
| |
− | txtT1.setProperty({visible:false});
| |
− | txtC1.setProperty({visible:false});
| |
− | txtGS1.setProperty({visible:false});
| |
− | txtRS1.setProperty({visible:false});
| |
− | txtDS1.setProperty({visible:false});
| |
− | txtTS1.setProperty({visible:false});
| |
− | txtCS1.setProperty({visible:false});
| |
− | };
| |
− | | |
− | //Definition der Funktionen für dropdown1
| |
− | | |
− | function impuls2G() {
| |
− | funcG2.setProperty({visible:true});
| |
− | funcR2.setProperty({visible:false});
| |
− | funcD2.setProperty({visible:false});
| |
− | funcT2.setProperty({visible:false});
| |
− | funcC2.setProperty({visible:false});
| |
− | funcGS2.setProperty({visible:true});
| |
− | funcRS2.setProperty({visible:false});
| |
− | funcDS2.setProperty({visible:false});
| |
− | funcTS2.setProperty({visible:false});
| |
− | funcCS2.setProperty({visible:false});
| |
− | txtG2.setProperty({visible:true});
| |
− | txtR2.setProperty({visible:false});
| |
− | txtD2.setProperty({visible:false});
| |
− | txtT2.setProperty({visible:false});
| |
− | txtC2.setProperty({visible:false});
| |
− | txtGS2.setProperty({visible:true});
| |
− | txtRS2.setProperty({visible:false});
| |
− | txtDS2.setProperty({visible:false});
| |
− | txtTS2.setProperty({visible:false});
| |
− | txtCS2.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls2R() {
| |
− | funcG2.setProperty({visible:false});
| |
− | funcR2.setProperty({visible:true});
| |
− | funcD2.setProperty({visible:false});
| |
− | funcT2.setProperty({visible:false});
| |
− | funcC2.setProperty({visible:false});
| |
− | funcGS2.setProperty({visible:false});
| |
− | funcRS2.setProperty({visible:true});
| |
− | funcDS2.setProperty({visible:false});
| |
− | funcTS2.setProperty({visible:false});
| |
− | funcCS2.setProperty({visible:false});
| |
− | txtG2.setProperty({visible:false});
| |
− | txtR2.setProperty({visible:true});
| |
− | txtD2.setProperty({visible:false});
| |
− | txtT2.setProperty({visible:false});
| |
− | txtC2.setProperty({visible:false});
| |
− | txtGS2.setProperty({visible:false});
| |
− | txtRS2.setProperty({visible:true});
| |
− | txtDS2.setProperty({visible:false});
| |
− | txtTS2.setProperty({visible:false});
| |
− | txtCS2.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls2D() {
| |
− | funcG2.setProperty({visible:false});
| |
− | funcR2.setProperty({visible:false});
| |
− | funcD2.setProperty({visible:true});
| |
− | funcT2.setProperty({visible:false});
| |
− | funcC2.setProperty({visible:false});
| |
− | funcGS2.setProperty({visible:false});
| |
− | funcRS2.setProperty({visible:true});
| |
− | funcDS2.setProperty({visible:false});
| |
− | funcTS2.setProperty({visible:false});
| |
− | funcCS2.setProperty({visible:false});
| |
− | txtG2.setProperty({visible:false});
| |
− | txtR2.setProperty({visible:false});
| |
− | txtD2.setProperty({visible:true});
| |
− | txtT2.setProperty({visible:false});
| |
− | txtC2.setProperty({visible:false});
| |
− | txtGS2.setProperty({visible:false});
| |
− | txtRS2.setProperty({visible:false});
| |
− | txtDS2.setProperty({visible:true});
| |
− | txtTS2.setProperty({visible:false});
| |
− | txtCS2.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls2T() {
| |
− | funcG2.setProperty({visible:false});
| |
− | funcR2.setProperty({visible:false});
| |
− | funcD2.setProperty({visible:false});
| |
− | funcT2.setProperty({visible:true});
| |
− | funcC2.setProperty({visible:false});
| |
− | funcGS2.setProperty({visible:false});
| |
− | funcRS2.setProperty({visible:false});
| |
− | funcDS2.setProperty({visible:false});
| |
− | funcTS2.setProperty({visible:true});
| |
− | funcCS2.setProperty({visible:false});
| |
− | txtG2.setProperty({visible:false});
| |
− | txtR2.setProperty({visible:false});
| |
− | txtD2.setProperty({visible:false});
| |
− | txtT2.setProperty({visible:true});
| |
− | txtC2.setProperty({visible:false});
| |
− | txtGS2.setProperty({visible:false});
| |
− | txtRS2.setProperty({visible:false});
| |
− | txtDS2.setProperty({visible:false});
| |
− | txtTS2.setProperty({visible:true});
| |
− | txtCS2.setProperty({visible:false});
| |
− | };
| |
− | | |
− | function impuls2C() {
| |
− | funcG2.setProperty({visible:false});
| |
− | funcR2.setProperty({visible:false});
| |
− | funcD2.setProperty({visible:false});
| |
− | funcT2.setProperty({visible:false});
| |
− | funcC2.setProperty({visible:true});
| |
− | funcGS2.setProperty({visible:false});
| |
− | funcRS2.setProperty({visible:false});
| |
− | funcDS2.setProperty({visible:false});
| |
− | funcTS2.setProperty({visible:false});
| |
− | funcCS2.setProperty({visible:true});
| |
− | txtG2.setProperty({visible:false});
| |
− | txtR2.setProperty({visible:false});
| |
− | txtD2.setProperty({visible:false});
| |
− | txtT2.setProperty({visible:false});
| |
− | txtC2.setProperty({visible:true});
| |
− | txtGS2.setProperty({visible:false});
| |
− | txtRS2.setProperty({visible:false});
| |
− | txtDS2.setProperty({visible:false});
| |
− | txtTS2.setProperty({visible:false});
| |
− | txtCS2.setProperty({visible:true});
| |
− | };
| |
− | | |
− | function impuls2I() {
| |
− | funcG2.setProperty({visible:false});
| |
− | funcR2.setProperty({visible:false});
| |
− | funcD2.setProperty({visible:false});
| |
− | funcT2.setProperty({visible:false});
| |
− | funcC2.setProperty({visible:false});
| |
− | funcGS2.setProperty({visible:false});
| |
− | funcRS2.setProperty({visible:false});
| |
− | funcDS2.setProperty({visible:false});
| |
− | funcTS2.setProperty({visible:false});
| |
− | funcCS2.setProperty({visible:false});
| |
− | txtG2.setProperty({visible:false});
| |
− | txtR2.setProperty({visible:false});
| |
− | txtD2.setProperty({visible:false});
| |
− | txtT2.setProperty({visible:false});
| |
− | txtC2.setProperty({visible:false});
| |
− | txtGS2.setProperty({visible:false});
| |
− | txtRS2.setProperty({visible:false});
| |
− | txtDS2.setProperty({visible:false});
| |
− | txtTS2.setProperty({visible:false});
| |
− | txtCS2.setProperty({visible:false});
| |
− | };
| |
− | | |
− | | |
− | | |
− | //Definition der Zeige und Verstecke Koordinatensystemfunktion
| |
− | | |
− | function showgrid() {
| |
− | if (gridbox.checked) {
| |
− | xaxis1 = pltBox1.create('axis', [[0, 0], [1,0]], {});
| |
− | yaxis1 = pltBox1.create('axis', [[0, 0], [0, 1]], {});
| |
− | xaxis2 = pltBox2.create('axis', [[0, 0], [1, 0]], {});
| |
− | yaxis2 = pltBox2.create('axis', [[0, 0], [0, 1]], {});
| |
− | }
| |
− | else {
| |
− | xaxis1.removeTicks(xaxis1.defaultTicks);
| |
− | yaxis1.removeTicks(yaxis1.defaultTicks);
| |
− | xaxis2.removeTicks(xaxis2.defaultTicks);
| |
− | yaxis2.removeTicks(yaxis2.defaultTicks);
| |
− | }
| |
− | pltBox1.fullUpdate();
| |
− | pltBox2.fullUpdate();
| |
− | };
| |
− | </script>
| |
− | | |
− | </form>
| |
− | | |
− | <script>
| |
− | | |
− | //Definition des Reset-Buttons
| |
− | function zurueck() {
| |
− | document.getElementById("myForm").reset();
| |
− | };
| |
− | </script>
| |
− | | |
− | </body>
| |
− | </html>
| |
− | | |
− | {{Display}}
| |