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