Allgemeines über das Simulations

Werbung
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 1
Allgemeines über das Simulations-Programm Tephys
Tephys im Vergleich zu anderen Simulations-Programmen
Mit dem Programm Tephys kann man Computer-Simulationen aus vielen Bereichen der Physik und
Technik durchführen. Verglichen mit anderen Simulationsprogrammen ist die Bedienung von Tephys sehr
einfach. Trotzdem kann Tephys vieles besser und eleganter als manches andere Programm. Vereinfachend
kann man sagen: Das, was mit Tephys realisierbar ist, ist bei anderen Programmen zwar vielleicht
auch möglich, aber dort meist viel umständlicher. Erst in solchen Fällen, wo Tephys an seine Grenzen
stößt, sind andere Programme evtl. besser geeignet.
Starten von Tephys
Nach dem Runterladen der selbstentpackenden Datei Tephy.exe und Doppelklick auf dies Teph.exe wird
ein neues Verzeichnis (Tephys) erzeugt. Darin finden Sie u.a. diesen Word-Text (tepanleit2.doc), das
eigentliche Tephys-Programm (hier die Version tephyk13.exe), die Datei egavga.bgi, einige TephysDateien, die Hilfedatei tepinfo.pas sowie einige Batch-Dateien und das Programm slowdown.com.
Falls Ihr PC höchstens ca. 800 MHz Taktfrequenz hat, starten Sie Tephys einfach durch Doppelklick auf
die Datei tephyk13.exe. Falls Ihr PC höhere Taktfrequenz hat, ergibt sich ev. ein Abbruch mit einer
Fehlermeldung runtime error 200 at... In diesem Fall starten Sie Tephys über eine der mitgelieferten
Batch-Dateien: Doppelklick auf (z.B.) tephyb6.bat. Diese Batch- Datei hat folgenden Inhalt:
slowdown /M:60
tephyk13.exe
slowdown /u
Die erste Zeile Ruft das Programm slowdown.com auf und übergibt den Parameter M:60. Dadurch wird der
PC etwas verlangsamt, umso mehr, je kleiner der Zahlenwert des Parameters ist. Anschließend wird das
Tephys-Programm tephyk13.exe gestartet. Nach Beenden von Tephys wird mit der letzten Zeile der BatchDatei der PC wieder auf seine frühere Geschwindigkeit gebracht.
Wichtig:
1. Sorgen Sie dafür, dass der Pfad nur Ordner-Namen mit
maximal 8 zulässigen Zeichen hat!
2. Die „Graphik-Datei“ egavga.bgi muss sich im gleichen Ordner
befinden wie das Tephys-Programm Tephyk13.exe
Einige Grundeigenschaften von Tephys
Die Formulierung einer „Tephys-Datei“ ist sehr einfach: Mit Hilfe eines eingebauten „Editors“ werden
zeilenweise Formeln geschrieben nach dem Schema (s. die späteren Beispiele)
y1 = .....
y2 = ....
u4 = ....
.
t = t+dt
Die Größen links vom Gleichheitszeichen ( hier y1, y2, u4...t) werden nacheinander berechnet gemäß der
rechts vom Gleichheitszeichen stehenden Formel. Diese Folge von Programmzeilen wird in einer Schleife
mit der zeitlichen Schrittweite dt so lange wiederholt, bis die Zeit t größer als die mit dem Parameter
tmax vorgegebene Maximalzeit.
Die Formeln können die üblichen mathematischen Zeichen + - * / ( ) und die Funktionen sin(..),
cos(...), exp(...), sqrt(...), sqr(...) usw. enthalten. Zusätzlich kennt Tephys noch einige spezielle
Funktionen wie ja(...), nein(...), totzeit(... , ...), begr(... , ... , ...), and(... , ...), or(... , ...), round(...),
trunc(...) und noch weitere Funktionen. Mit dem eingebauten Menüpunkt „help“ kann man sich über
den Vorrat an Funktionen, ihre Wirkungsweise und andere Eigenschaften von Tephys unterrichten. Weitere
Information kann man im „Grafikbereich“ mit Taste „i“ abfragen. Beide Hilfetexte sind weiter unten
reinkopiert.
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 2
Der Tephys-Editor hat eingebaute Intelligenz:
1)
2)
3)
Syntax-Test: Wenn man in einer Zeile einen „Klammerfehler“ macht, z.B. mehr öffnende Klammen )
als schließende Klammern ( , dann meldet sich der Editor mit „Klammerfehler“. Sie können diese
Editor-Zeile gar nicht verlassen, bevor der Klammerfehler beseitigt wurde.
Wenn Sie eine nicht implementierte Funktion schreiben ( z. B. si(x) statt sin(x) ) und verlassen den
Editor, dann meldet sich der Editor mit „Funktion „SI“ nicht implementiert“. Zum Vergleich: In
anderen Simulationsprogrammen wird ein Syntax-Fehler erst dann bemerkt, wenn beim Laufen des
Programms die fragliche Stelle drankommt.
Nach dem Verlassen des Editors sammelt Tephys die „Parameter“ in einer Parameterliste. Neue
Parameter haben zunächst den Wert 0. Im Menüpunkt Parameter werden die gewünschten
Parameterwerte eingetippt. In den Figuren steht die Parameterliste am unteren Bildrand.
Dieses „automatische“ Erstellen einer Parameterliste ist ein großer Vorteil von Tephys gegenüber
anderen Simulationsprogrammen. Dass in den Tephysbildern die aktuelle Parameterliste automatisch
drinsteht, ist ebenfalls ein wesentlicher Vorteil. Denn damit sind alle für den Bildinhalt verwendeten
Parameter untrennbar mit dem Bildinhalt verbunden und eine Verwechslung mit anderen Bildern und
deren Parametern ist daher unmöglich. In dieser Hinsicht sind andere Programme sehr umständlich.
In einer Tephys-Datei können bis zu 5 der links vom Gleichheitszeichen stehenden Größen für die
graphische Darstellung ausgewählt werden. Für diese Größen werden die berechneten Werte gespeichert
und sofort während der Rechnung als Kurven in Abhängigkeit von der Zeit (oder auch als x-y-Diagramm)
dargestellt. Auch dieses sofortige Zeichnen der Rechenkurven ist gegenüber anderen Programmen ein
Vorteil. Durch einfachen Tastendruck kann man die Berechnung beenden.
Nach Ablauf der Rechenzeit kann man mit einem „Cursor“ (vertikaler Cursor-Strich) die berechneten
Werte punktweise abfragen und auch als Tabelle in das Bild schreiben (mit Taste „w“). Zum Vergleich:
Andere Simulationsprogramme haben keinen Cursor. Die Graphik-Parameter ( y-Nullpunkt, y-Faktor)
der einzelnen Kurven können nach der Rechnung variiert werden (Taste „p“), in die Figur kann man Text
schreiben (Taste „T“), die Figur kann man als Bild auf Disk abspeichern (Taste „s“), mit einfachem
Tastendruck (Tasten „0“ bis „9“ und Funktionstasten“F1“ bis „F9“) kann man gespeicherte Bilder
rückrufen. Diese Bilder kann man später (oder sofort im Multitasking-Betrieb) als PCX-Datei in Word
einfügen.
Mit dem Menüpunkt „Schar“ kann man für einen gewählten Parameter die Rechnung bis zu 5 mal mit
je einem anderen Zahlenwert wiederholen. Dabei werden die neuen Kurven in das Bild der alten Kurven
gezeichnet. Auf diese Weise kann man sehr schnell den Einfluss eines Parameters studieren. Auch in
dieser Hinsicht sind andere Simulationsprogramme weniger elegant.
Bei geeigneter Einschubkarte im Rechner kann man von einem geeigneten Digitalsozilloskop Messungen
auslesen, als Kurven darstellen und abspeichern und mit simulierten Rechenkurven vergleichen.
Von den berechneten oder gemessenen Kurven kann das Frequenzspektrum berechnet werden (FourierAnalyse, FFT). Wählt man 2 Kurven, so ergibt sich auch der Differenzwinkel und die komplexe
Übertragungsfunktion, als Betrag und Winkel und als komplexe Ortskurve. Im Spektrum kann man
ausgewählte Frequenzbereiche löschen und das Spektrum in den Zeitbereich zurück transformieren.
Vom Zeitbereich gelangt man mit der Taste f in den Frequenzbereich, von dort mit der Taste z wieder in
den Zeitbereich. – Diese Spektral-Eigenschaften kann man wohl auch in anderen Simulationsprogrammen
machen, aber es erfordert erhebliche Programmierkunst, bevor man das erreicht. Bei Tephys wird das als
selbstverständlicher Service mitgeliefert.
Bedienungsanleitung zu Tephys anhand der
Kommentare in den Tephys-Dateien
Laden einer Tephys-Datei: Menü-Punkt „Laden“ mit Taste „Return“ anklicken, ev. den Pfad ändern
(mit Pfeiltasten, Taste Entf. usw.). Es erscheint eine alphabetische Liste der gefundenen Verzeichnisse und der
Dateien mit dem Zusatz .txt. Mit Pfeiltasten auf die gewünschte Datei fahren, mit „Returntaste“ auf die
gewünschte Datei wird diese geladen und der Text der geladenen Datei erscheint auf dem Bildschirm. Je nach
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 3
Einstellung Ihres PC kann es vorkommen, dass nach dem Start von Tephys beim Versuch, eine Datei zu laden,
keine Datei geladen wird. In diesem Fall hilft mehrmaliges Betätigen der Menütaste Laden. Anschließend ist
das Dateiladen problemlos.
Mit „Return“ auf Menüpunkt „Run“ kann man die Datei sofort laufen lassen: Man sieht dann den GrafikBildschirm und sieht die Kurven entstehen. Durch Drücken einer beliebigen Taste kann man die Berechnung
stoppen. Mit den Pfeiltasten bewegt sich ein senkrechter Cursor-Strich, die Zahlenwerte der Kurven zum
Zeitpunkt t des Cursorstrichs stehen am rechten Bildrand. Haben mehrere Kurven den gleichen Y-Nullpunkt,
bleibt (natürlich) nur der Zahlenwert der letzten Kurve sichtbar, denn die vorhergehenden werden überschrieben.
Der Zeitpunkt des Cursorstrichs steht oben links als t = ... s. Im Frequenzbereich ist die x-Achse die FrequenzAchse. Statt der Zeit t wird jetzt mit dem Cursor die Frequenz f angezeigt (steht oben links im Bild).
Hinweis: Die in geschweiften Klammern {} stehenden Kommentarzeilen sind in diesem Word-Text mit Hilfe
von Word geschrieben worden. In den eigentlichen Tephys-Dateien sind diese Kommentarzeilen nicht
enthalten, wohl aber die hier ebenfalls eingefügten „Kommentare“
Tephys-Datei: 1infedit.txt
1
2
3
4
5
6
7
y1=a1*sin(2*pi*f1*t) { y1 = Sinusfunktion, Amplitde a1, Frequenz f1}
y2=a2*sin(2*pi*f2*t+ph*pi/180) { y2 = Sinusfunktion, Ampl. a2, Freq. f2, Phase ph in Grad}
sum=y1+y2 { sum = Summe von y1 und y2 }
prod=y1*y2/10 { prod = Produkt von y1 und y2 geteilt durch 10}
y=(y1+DC1)*(y2+DC2)/10 { y= Produkt/10. DC1= „Offset“ von y1, DC2 = „Offset“ von y2 }
yabs=abs(y) { yabs = Absolutwert von y = „Zweiweg-Gleichrichtung“ von y}
yTP=tiefp(yabs,fTP,1) { yTP = Ausgang des „Tiefpasses“ 1, Eingang ist yabs,
fTP=Grenzfrequenz des Tiefpasses 2. Ordnung, Butterworth }
8 t=t+dt
{t = Zeit}
Kommentar in der Tephys-Datei 1infedit.txt
Info zum Editor und zur Zahleneingabe. Progr.-Text: Produkte, Tiefpass
1. Das Programm unterscheidet zwischen Groß- und Kleinbuchstaben
2. Alle eingebauten Funktionen ( wie sin(x) etc ) müssen klein geschrieben werden (auch die Zahl pi).
3. Editieren: Anwählen einer Zeile mit den Auf-Ab-Pfeiltasten,
Aktivieren einer Zeile mit RETURN-Taste. Um an dieser Zeile eine
Aenderung anzubringen, bitte erst eine "Bewegungstaste" druecken (LinksRechts-Pfeile oder "Pos1" oder "Ende"), sonst verschwindet die Zeile
scheinbar. Bitte keine Panik: mit der ESCAPE-Taste ist die Zeile wieder
da. Nachdem man also nach Aktivieren der Zeile eine Bewegungstaste
gedrueckt hat, kann man die Zeile veraendern. Durch RETURN wird diese
Aenderung bestaetigt,mit ESCAPE wird die Zeile ohne Aenderung verlassen.
4. Eingabe von Zahlenwerten (bei "Parameter", "Grafik" etc): Hier gilt das
Gleiche wie unter Punkt 3 (Edit.) beschrieben: Anwaehlen mit Auf-AbPfeilen, aktivieren mit RETURN. Zahl aendern: erst Bewegungstaste, dann
Aenderung der Zahl (notfalls mit "Delete" Platz schaffen). Neueingabe einer Zahl: Nach Aktivieren mit RETURN direkt die neue Zahl (die alte
verschwindet scheinbar). Wichtig: neue Zahl mit RETURN bestaetigen.
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 4
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 5
Tephys-Datei: 1infparg.txt
1
2
3
4
5
6
7
y1=a1*sin(2*pi*f1*t) { y1= Sinusfunktion, Amplitude a1, Frequenz f }
y2=a2*sin(2*pi*f2*t+ph*pi/180) { y2=Sinusfunktion, Ampl. a2, Freq. f2, Phase ph in Grad}
y12=y1+y2 { y12 = Summe}
yprod=y1*y2 { yprod = Produkt }
y1gl=ja(y1)*y1 { y1gl = positiver Teil von y1 = „Einweg-Gleichrichtung“ von y1 }
y2gl=abs(y2) { y2 = Absolutwert von y2 = „Zweiweg-Gleichrichtung “ von y2 }
y2TP=y2TP+(y2gl-y2TP)*dt/TTP { y2TP = Ausgang eines Tiefpasses 1. Ordnung mit
Zeitkonstante TTP, Eingang ist y2gl : DGL des Tiefpasses ( mit x = y2TP ): TTP*dx/dt + x = y2gl .
Aus der DGL folgt die „Änderung“ dx = (y2gl - x )*dt/TTP, daraus der Algorithmus x = x + dx
8 t=t+dt
{ t = Zeit }
Kommentar in Tephys-Datei 1infparg.txt:
Info:Parameter,Grafik. Im Progr.: Einweg-und ZweiwegGleichrichtung+Tiefpass
1. Parameter sind alle "Bezeichner", die nicht durch die linke Seite
einer Gleichung definiert sind. In der Parameterliste erscheinen sie
in der Reihenfolge ihres Auftretens im Gleichungs-System, also
innerste Klammer zuerst etc.
2. Bei Neueingabe eines Parameters (mit "Editieren" oder "New") ist
dieser Parameter auf Null gesetzt.
3. Deshalb vor Starten eines Programms (mit "Run") beachten, dass nicht
etwa durch einen Parameterwert = 0 dividiert wird !! (Allerdings wird die Division durch Null abgefangen,
Tephys stürzt also nicht ab.
4. Um Verlust eines neuen oder geänderten Programms zu vermeiden, vor dem
"Run" das Programm erst abspeichern (mit "Speichern" im Menü "File").
5. Grafik : Im Menüpunkt "Grafik" bzw. „select“ können bis zu 4 oder 5 Gleichungen zur
Darstellung angewählt werden (Eingabe der Zeilen-Nr).
Y_Pos ist die Vertikal-Position des Kurven-Nullpunktes, in Pixeleinheiten, nach unten positiv, oberer Bildschirmrand hat den Wert 0.
Y_Faktor: damit wird die darzustellende Funktion multipliziert. Das
Produkt wird in Pixeleinheiten dargestellt.
Visible: true oder false , Wahl mit Taste RETURN.
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 6
Tephys-Datei: 1infcurs.txt
1
2
3
4
5
6
y1=a1*sin(2*pi*f1*t) { y1= Sinusfunktion, Amplitue a1, Frequenz f1}
y2=a2*sin(2*pi*f2*t+ph*pi/180) { y2 = Sinusfunktion, Ampl. a2, Freq. f2, Phase ph in Grad}
uGL=abs(y1) { uGL = Absolutwert von y1 = „Zweiweg-Gleichrichtung“ von y1 }
ueGL=y1*ja(y1) { ueGL = positiver Wert von y1 = „Einweg-Gleichrichtung“ }
uBL=ja(t-t1)*ja(t2-t)*y2 { uBL = y2 im Zeitbereich t1...t2 = „ausgeblendete“ Teil von y2 }
t=t+dt { t= Zeit }
Kommentar in der Tephys-Datei 1infcurs.txt :
Info im Bildbereich, Cursor, Tabelle
1.Info im Bildbereich: Taste i
Es erscheint eine Seite Text für die Tastenbelegung im Bildbereich.
Nach Drücken einer Taste wird das aktuelle Bild wieder aufgebaut.
2.Einige Beispiele:
2.1 Cursor bewegen : 1 Pixel mit Links-Rechts-Pfeil, 10 Pixel mit AufAb-Taste, 50 Pixel mit Page-up-down-Taste.
Die für die Cursorstellung geltenden Zahlenwerte der dargestellten
Kurven stehen am rechten Rand.
Oben links steht der Zeitwert t=...s bzw. im Frequenzbereich
der Frequenzwert f = ... Hz (entsprechend der Cusorstellung)
3.2 Tabelle schreiben: durch Taste w ("write") werden die Werte bei der
Cursorstellung als Tabelle geschrieben. Nach neuem Bildaufbau (z.B.
nach Taste „i“ (Info) oder RETURN ist die Tabelle wieder weg.
3.3 Im Frequenzbereich kann die Tabelle mit Kommentar auf Drucker (Taste d)
oder Diskette (Taste $) geschrieben werden. Taste t bewirkt, dass
die Frequenzlagen der aktuellen Tabellenwerte bei jedem Bildaufbau als
kurze Striche erscheinen (an/abstellen mit Taste t).
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 7
Tephys-Datei: 1infbild.txt
1
2
3
4
5
6
7
8
9
eD=drei(f*t+del) { eD = Dreieckfunktion mit Frequenz f, Phase del}
uR=aR*sign(eD-sw) { uR = Rechteckfunktion, Amplitude aR. sW=„Schwelle“}
uS=aS*saeg(f*t+des) { uS = Sägezahnfunktion, Frequenz f, Phase des}
upR=apR*ja(uR) { upR = positiver Teil der Rechteckfunktion uR von Zeile 2}
{ y = ja(x) : if x>0 then y = 1 else y = 0 ; y = nein(x) : if x <= 0 then y = 1 else y = 0 }
uN=apR*nein(uR) { uN = negativer Teil der Rechteckfunktion uR von Zeile 2}
uG=aG*glock((t-t1)/det) { uG = „Glockenkurve“. glock(x)= exp(-x*x) }
uP=aP*ja(t-t1)*ja(t2-t) { uP = Reckeckpuls im Zeitbereich t1...t2, Amplitude aP}
ges=aD+eD+uR+uS+upR+uG+uP {ges = Summenfunktion}
t=t+dt { t=Zeit, dt = zeitliche Schrittweite. Die Zeilen 1 bis 9 werden sooft durchlaufen, bis t
Kommentar in der Tephys-Datei:
Info: Bilder,
im Programm-Text: Signal-Funktionen
1. Vgl. Infos im Bildbereich ( mit Taste i )
2. Taste s: das aktuelle Bild wird auf Disk gespeichert:
Bildnamen eingeben: Tasten 0...9, Funktionstasten F1...F9
Das Bild wird im aufrufenden Laufwerk gespeichert, einmal als Pixelmuster
im Tephysformat, zusätzlich als PCX-File ( Name mit Zusatz .PCX)
3. Bildholen: Durch Tasten 0...1 bzw. Funktionstasten F1..F9 wird das
gespeicherte Bild geholt.
4. Zum CURSOR: die Zahlenwerte der Cursorstellung sind die Werte, die
nach dem letzten RUN gespeichert wurden, sie sind also mit der Bildinformation nur dann identisch, wenn das Bild die aktuelle Situation
darstellt (das liegt daran, dass das aus dem Bildspeicher (Tasten 0...9,
F1,..) geholte Bild nur das Pixelmuster ist, also keine Zahlen enthält).
>= tmax}
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 8
Tephysdatei: 1infhard.txt
1 F1=aS*sin(2*pi*f*t)+aP*ja(t-t1)*ja(t2-t) { F1 = „Kraft-Funktion“= Summe aus
Sinusfunktion (Amplitude aS, Freq. f ) und Reckteckimpuls (Amplitude aP, Zeitbereich t1...t2) }
2 x=x+v*dt { x = Auslenkung der Masse m. Aus v = dx/dt = Geschwindigkeit folgt der Algorithmus
x=x+v*dt, d.h. der Wert x wird durch den Wert x+v*dt ersetzt }
3 a=(F1-D*x-R*v)/m
{ a= Beschleunigung der Masse m. F1 = gegebene Kraft (Zeile 1), -D*x =
Federkraft, -R*v = Reibungskraft }
4 v=v+a*dt { aus a = dv/dt folgt der Algorithmus v = v + a*dt, d.h. der Wert v wird durch den Wert v +
a*dt ersetzt}
D
F1
5 t=t+dt { t = Zeit}
m
r
x
Kommentar in Tephys-Datei 1infhard.txt:
Info: Hardcopy, Grafikmenü (Taste p). Im Progr.: Kraft auf Feder-MasseSystem
1. vgl Info im Bildbereich ( Taste i )
2. Hardcopy des angezeigten Bildes mit Tastenfolge h1, oder h2 oder h3
oder h4 oder h5 (nacheinander eintippen nicht etwa h festhalten!).
3. Jeder dieser Kombinationen entspricht ein Druckertyp oder auch
der Bildgröße. Probieren Sie das mit Ihrem Drucker aus!
LEIDER geht diese Hardcopy-Methode nur bei Nadeldruckern, s. Punkt 5.
4. Mit Taste „p“ im Bildbereich erscheint das Grafik-Menue. Damit können
die Grafikparameter der aktuellen Kurven geändert werden: Y_pos, Y-fakt,
visible). Nach Verlassen des Grafikeditors (mit Leertaste oder ESC)
wird das aktuelle Bild mit den angewählten Änderungen aufgebaut.
WICHTIG: die Zuordnung der Gleichungs-Nr zu Kanal-Nr kann mit diesem
mit Taste p erreichbaren Grafikeditor NICHT geändert werden, sondern
nur im Hauptmenü unter Menüpunkt "Grafik".
5. Bilder drucken mit Laser-oder Tintendrucker geht nur auf dem Umweg über
WINDOWS: Von WORD mit Einfügen/Grafik das Bild mit dem Zusatz .PCX
holen und drucken. Evt. Tephys gleichzeitig mit WORD laufen
lassen: Mit ALT-TAB zwischen WORD und Tephys hin und her schalten.
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 9
Tephys-Datei: 1infxfer.txt
1 F=aG*exp(-sqr((t-t1)/det)) { F = gegebene Kraft: Glockenkurve um die Zeit t1, „Breite“ det }
2 x=x+v*dt { x = Auslenkung der Msse m. v = dx/dt = Geschwindigkeit. --> Algorithmus x=x+v*dt}
3 a=(F-D*x-r*v)/m { a = dv/dt = Beschleunigung der Masse m: Kräfte: F, Federkraft -D=x,
Reibungskraft -r*v}
4 v=v+a*dt {v = Geschwindigkeit. Aus a = dv/dt folgt Algorithmus v=v+a*dt }
5 t=t+dt
{ t = Zeit }
D
F
Kommentar in Tephys-Datei 1infxfer.txt:
m
r
x
Info: Transferfunktion (Fourier-Analyse, Transferfunktion)
1. Definition der komplexen Transferfunktion
(auch Übertragungsfunktion oder kurz XFER genannt):
Auf ein (lineares) "System" wirkt die sinusförmige Eingangsfunktion E
(Amplitude E1, im Beispiel Kraft F).
Sie bewirkt die Ausgangsfunktion A (im Beispiel A= Weg x oder
Geschwindigkeit v). Nach Abklingen des "Einschwingvorgangs" ist auch
A sinusfoermig (A hat Amplitude A1 und Phasenwinkel wi gegen E).
Def.: Die Transferfunktion XFER ist das Amplitudenverhältnis A1/E1
und der zugehörige Winkel wi (für den eingeschwungenen Zustand).
2. Auftragungsarten von XFER:
a) Betrag und Winkel als Funktion der Frequenz f
oder
b) Real- und Imaginärteil als Funktion von f mit
Realteil = Betrag*cos(wi), Imaginärteil = Betrag*sin(wi) oder
c) komplexe "Ortskurve" : Realteil und Imaginärteil mit Frequenz f
als Parameter: Taste o, oder O (einige Frequenz-Punkte in Cusorumgebung) .
3. Beispiel: Masse m, mit Feder D und parallel dazu Reibungsglied r mit
"Erde" verbunden. Auf m wirkt Kraft F. Stossförmige Kraft ("Dirac-Stoß"):
XFER=Spektrum der Stoßantwort/Spektrum des Stoßes, Stoss kurz gegen
....charakteristische Systemzeit. Kein HANNING, sonst wird Stoss wegmultipliziert!
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 10
D
F
m
r
x
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 11
Anschließend sind die beiden im Programm Tephys enthaltenen Hilfe-Informationen
reinkopiert worden.
Informationen im Bildbereich, Aufruf mit Taste „i“
Grafik-Menue aktivieren (Änd. ypos, yfakt, true, false) : <p>
Cursor : Pfeiltasten, Page up,down: Werte werden geschrieben
" Werte als Tabelle: <w> (write)
" bei FFT: auf Drucker: <d>, auf Disk:<$> FreqWerte merken (an/aus):t
Kurve größer ...<g> <Nr. der Kurve> kleiner..<k> <Nr. der Kurve>
x-Achse dehnen : <Tab>
Kurve ab Cursor-Position abschneiden: <+>, wieder Orig.Zustand:<->
Reset für Zoom bei Zeit-bzw Freq-Dehnung: <r> Abtastpunkte markieren an/aus:<m>
Wechsel von Zeit-und Frequenzbereich : <z>, <f>
Falls FFT: FFT-Menue aktiveren: <p>, Hanning an/aus:<#>, logarithm an/aus:<l>
complex an/aus:<c>[Imagteil gepunktet]
Spektrum 1 filtern: die mit Cursor überfahrenen Freq. werden gelöscht
"
" Start bei Cursor:<Alt a>, Ende bei Cursor:<Alt e>
gefiltertes Spektrum 1 in Zeitbereich rücktransformieren: <Alt r>
Ortskurve der TransferFkt:<o>, Einheitskreis:<e>, Nullpkt ändern: <v>
" mit Kreis -Näherung in Resonanz-Umgeb( FreqPkte um CursorFreq): <O>
Bild speichern:<s> Bild holen <0...9, F1...F9>, Text ins Bild <T>,Ende:<Return>
Farbe wechseln: <W>: Für Bilder,Text,Tangente: schwarz/weiß(sonst Info-Verlust)
Abtastpunkte markieren (an/aus) :<m>, Parameter in Grafik ausblenden: <a>
Hardcopy: Nadeldrucker: <h1,h2,...h5 >
" Laserdrucker, Tintendrucker..:Bilder sind mit Zusatz .PCX gespeichert. Mit WORD
holen! neuer Bildaufbau: <SPACE>, Hauptmenü: <Escape>
Tangente: an/aus:<t>, Y-Pos: (Ctrl)Pg up/down, X-Pos:(ctrl)Li/Re-Pfeil
" Winkel (0..90°):Pfeil up/down, Radius: <r><R>
WICHTIG: Für "Bilder", "Text", "Tangente" :vorher mit <W> auf schwarz/weiß
2 Kanaele auf Disk : <A>, Glätten <G>, Ende korrigieren <K>
Untergrund-Gitter an/aus: <u>...........................................
Hilfe-Information, die nach Aufruf von „Help“ im Menü „File“ erscheint
(Inhalt der Datei tepinfo.pas)
Wichtig:
---------Sorgen Sie dafür, dass der "Pfad" nur Ordner-Namen mit maximal 8 zulässigen
Zeichen enthält
Erläuterungen zur Formulierung eines "Tephys-Programms":
Allgemeines :
Die Bezeichner links des Gleichheitszeichens dürfen rechts
beliebig oft, links aber nur einmal erscheinen !
Die Anzahl der Gl. ist auf 4*15=60 beschränkt.
---------------------------------------------------------------Das Programm unterscheidet Groß- und Kleinschreibung:
alle "eingebauten" Funktionen (s.u.) sind klein zu schreiben:
richtig: sin(x) , falsch: Sin(x), sIn(x), SIN(x), siN (x)
---------------------------------------------------------------Operatoren : + , - , * , /
---------------------------------------------------------------Funktionen mit einem Argument :
sin(x) , cos(x) , tan(x) , arctan(x) , ln(x) , exp(x)
sqrt(x) { Wurzel },
sqr(x) { Quadrat }
sign(x) {Vorzeichen}, ramp(x) { Rampe }
abs(x) { Betrag },
fak(x) { Fakultaet }
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 12
rec(x), ja(x) , nein(x) {wahr, falsch} random(x) { Zufallszahl }
glock(x) { Glockenkurve }, drei(x) { Dreieck }
saeg(x) { Saegezahn }
trunc(x) { Ganzzahlanteil von x }
round(x) {gerundeter Ganzzahlwert von x }
torr(x)=sign(x)*sqrt(2*g*abs(x)) mit g= Fallbeschleunigung.
( torr = Formel von TORRICELLI in der Strömungslehre)
Beispiele: ( a = beliebiger zusammengesetzter Ausdruck )
y=rec(a) : if a >= 0 then y:=1 else y:=0;
y=sign(x) {Vorzeichen}: if x > 0 then y:= 1 else if y < 0 then y:= -1 else y :=0
y=random(a) Zufallszahl im Bereich 0 <= y < a
y=ja(a) ("wahr") if a > 0 then ja := 1 else ja := 0 ;
y=nein(a)=not(a) if a <= 0 then nein := 1 else nein := 0;
---------------------------------------------------------------Funktionen mit mehreren Argumenten :
y=begr(ein,oben,unten) {Begrenzungsfunktion: if ein< unten then
y:=unten else if ein> oben then y := oben else y := ein}
pbrs(t,tz) = "pseudobinäres Rauschen symmetrisch" : t=Zeit, tz=mittlere
"Taktperiode"
y = totzeit(KanalNr,Tt)
.
if t-Tt < 0 then y = 0 else y = Funktion der KanalNr zur Zeit t-Tt
{KanalNr = Graphik-Kanal der Kurve,
die um die Totzeit Tt verzögert werden soll}
NICHT SO WICHTIG:
recn(sin(x),tastv)
{ Rechteck mit variabler Breite }
rect(freq,ampl,tastv,t)
{ Rechteck mit variabler Breite }
imp(amplitude,Aufflanke,Abflanke,t)
{ Rechteckimpuls }
ys=sh(y,t,ys,ts) { sample+hold: if ts>=t then sh:=y else sh:=ys }
idrrp(u,R,Rp,i0,sw)=Gesamtstrom durch Reihen-Schaltung von Widerstand
R und Parallelschaltung von Diode und Widerstand Rp. Diese Schaltung liegt an Spannung u. Diode: Sperrstrom i0 (z.B. i0=E-13,
sw = Schwelle zum Abbruch der Diodenberechnung ( z.B. sw=1E-10 )
---------------------------------------------------------------logische Funktionen :
exor(a,b) exor(0,0)=0; exor(1,0)=1; exor(0,1)=1; exor(1,1)=0;
and(a,b) and(0,0) =0; and(1,0) =0; and(0,1) =0; and(1,1) =1;
or(a,b) or(0,0) =0; or(1,0) =1; or(0,1) =1; or(1,1) =1;
not(a)
not(0)=1; or(and(1,exor(0,1)),not(1))=1
---------------------------------------------------------------Schmittrigger , 3 Varianten
---------------------------------------------------------------ST=ja( ja(ein-os)+ST*ja(ein-us)) {ein=Eingang, os=obere Schwelle,
us = untere Schwelle. if ein > os then ST=1; if( (ST>0) and
(ein > us) then ST:=1; if ein < us then ST:= 0 }
---------------ST1=sign( ja(ein-os) + ST1/2 - ja(us-ein) )
wie ST, aber im LOW-Zustand -1 statt 0
----------------Usch= schmitt(Uein,obere_Schwelle,untere_Schwelle,Usch)
Beispiel:
Uein=amp*sin(x)+...+Ux
Usch=schmitt(Uein,obere_Schwelle,untere_Schwelle,Usch)
t=t+dt
-----------------------------------------------------------------
Hilfe -Information zum Aufstellen eines Programms:
-------------------------------------------------------------Algorithmus zum numerischen Lösen von DGLn:
------------------------------------------Beispiel Feder-Masse-System:
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 13
-------------------------------------Kraft F wirkt auf die Masse m, die mit Feder D und Reibglied r
an "Erde" "gefesselt" ist:
Newton: m * dv/dt (= Summe der Kräfte auf m) = F-D*x-r*v ,
dabei ist x =Auslenkung der Masse m aus ihrer Ruhelage,
v = dx/dt = Geschwindigkeit.
aus diesen beiden "DGLn" 1.Ordnung für x und v ergeben sich die
"Änderungen" dx und dv :
dx = v * dt und
dv = ( F - D*x - r*v ) * dt/m.
Daraus folgt sofort der
"Algorithmus" nach dem einfachen Prinzip:
"neue Größe = alte Größe + die Änderung der Größe".
Anwendung dieses Prinzips auf den vorliegenden Fall:
neuer Wert x = alter Wert x + Änderung von x. Die Änderung von x
ist dx -> xneu = xalt + dx oder einfacher formuliert: x = x + dx .
Das bedeutet, der Rechner ersetzt den "alten" Wert x durch den
"neuen" Wert x + dx.
Analog für die Geschwindigkeit: vneu = valt + dv, oder wieder
einfacher: v = v + dv.
Werden jetzt die oben schon formulierten Änderungen dx und dv
eingesetzt, so ergeben sich die wesentlichen Zeilen des Algorithmus:
x = x + v * dt
v = v + (F- D*x - r*v )* dt/m
t = t + dt
{ t = Zeit, dt = zeitliche Schrittweite }
Würde dieser Algorithmus in einer "normalen" Programmiersprache formuliert, brauchte man noch Anweisungen für das Einsetzen der Anfangswerte, für Wiederholungen der Algorithmus-Zeilen, für die Ausgabe
der Werte (hier x,y,t) und für den Abbruch. Für Formulierung in
"PASCAL" würde der Algorithmus etwa so aussehen:
Setze die "Anfangsbedingungen" (= "Startwerte") für t, x und v ;
{ hier nur "verbale" Formulierung}
repeat
F := ...
{ hier steht die Formel für die Kraft F }
x := x + v * dt;
v := v + (F - D*x - r*v) * dt/m;
t := t + dt;
Ausgabe von x und v und t ;
{ hier nur verbal formuliert}
until t >= t_max;
Genau diese Abfolge von Programmzeilen läuft im Inneren von Tephys
ab, allerdings ist die Formulierung einfacher:
a) Es entfallen die Anweisungen für die Anfangsbedingungen, denn
Tephys setzt beim Start die "linken" Seiten der Gleichungen
gleich den (im "Menüpunkt Startwerte") angegebenen "Startwerten";
b) Statt := genügt = .
c) Auf die Semikolons (;) am Ende der Anweisungen wird verzichtet.
d) Die "Ausgabe" der Werte wird im "Menü-Punkt Grafik" festgelegt.
e) Auf die Zeilen mit "repeat" und "until" wird verzichtet, denn sie
sie werden von Tephys automatisch (unsichtbar) erzeugt.
Somit bleiben nur folgende 4 Zeilen zu schreiben:
F = ....
x = x + v * dt
v = v + (F - D*x - r*v ) * dt/m
t = t + dt
Tephys nummeriert diese Zeilen automatisch.
------------------------------------------------------
Prof. Dr. R. Kessler, FH-Karlsruhe, Fachbereich Naturwissenschaften, Datei tepanleit3.doc, Seite 14
RUNGE-KUTTA { Beispiel: Feder-Masse-System, 2 Freiheitsgrade }
DGL=0
{ Hier als Kommentar in Klammern die Dgln }
F0=A0*ja(t-t1)*ja(t2-t)
x1=rk(v1) { dx1/d1=v1 }
x2=rk(v2) { dx2/dt=v2 }
v1=rk((F0-D1*x1+D2*(x2-x1)-R1*v1)/m1) { m1*dv1/dt = F0-D1*x1...-R1*v1 }
v2=rk((D2*(x1-x2)-R2*v2)/m2)
{ m2*dv2/dt = D2*(x1-x2)-R2*v2 }
END=0
t=t+dt
---------------------------------------------------------------XY - Darstellung:
Im Submenü XY kann aus dem Gleichungssystem die Gleichung
selektiert werden die die X-Ablenkung bewirken soll.
Nullpunkt und Verstärkung in X- Richtung sind auch
---------------------------------------------------------------Schleife :
Im Gl. System kann eine Schleife enthalten sein.
Beispiel:
for=N
{ die Schleife wird N mal durchlaufen }
y=x+w
k=y+dt { Schleifenrumpf mit n Gleichungen }
...
next=0
{ Schleifenende }
Anmerkung : Die Gleichungen im Schleifenrumpf werden
vor dem ersten Durchlaufen der Schleife
auf ihre Startwerte gesetzt.
----------------------------------------------------------------
Filter:
Tiefpass 2. Ordnung: { BUTTERWORTH }
y=tiefp(Signal,Grenzfreq,Nr_Fil)
Hochpass 2. Ordnung:
y=hochp(Signal,Grenzfreq,Nr_Fil)
Bandpass 2. Ordnung:
y=bandp(Signal,Grenzfreq,Guete,Nr_Fil)
Mit Nr_Fil werden die Filter in der Reihenfolge ihres Vorkommens
durchnummeriert.
Beispiel:
s=a*rec(sin(2*pi*f*t))
s=a*rec(sin(2*pi*f*t))
y0=tiefp(s,fg,1)
{ 1. Tiefpass }
y1=tiefp(y0,fg,2) { 2. Tiefpass }
t=t+dt
Herunterladen