Hello World =) Wie kann man Differentialgleichung als simultane Gleichung in VHDL-AMS schreiben? Dies ist eine mögliche Klausurfrage und ich habe keine Ahnung, wie ich die angehen soll...
Wo sind die Vorlesungsunterlagen? Wenn Du uns hier schon die Klausuraufgaben gibst...
Niko schrieb: > Hello World =) > Wie kann man Differentialgleichung als simultane Gleichung in VHDL-AMS > schreiben? > Dies ist eine mögliche Klausurfrage und ich habe keine Ahnung, wie ich > die angehen soll... Hi, dx/dt = x_(n) - x_(n-1)/(t_(n) - t_(n-1). Angenommen das Design ist synchron, dann ist t_(n) - t_(n-1) deine Sampling-Rate oder Sampling-Clock. Dann vereinfacht sich obige Formel, zu x_(n) - x_(n-1), d.h du subtrahierst einfach die beiden aufeinanderfolgenden Werte von x. Das gleiche kann man für d2x/dt2 machen, überlasse ich dir als Übung. Und google mal nach Digitalen Filter, das ist nämlich was deine Gleichung beschreibt. Gruss, JD
Muchas gracias JD =) Leider erschließt sich mir das System nicht! Hier ist ein pdf dazu http://publications.eas.iis.fraunhofer.de/papers/2001/020/paper.pdf, z.B.: i = c_value ⋅ dv/dt wird dann so geschrieben: i == c_value*v'DOT x_(n) - x_(n-1)/(t_(n) - t_(n-1) sehe ich leider nicht, warum! Kann jemand eine Seite oder ein Buch empfehlen?
Was JD gemacht hat ist eine kontinuierliche Differentialgleichung in eine Differenzengleichung umzuwandeln, d.h kontinuierlich -> diskret (habs jetzt nicht nach gerechnet, aber es geht ums Prinzip). Wenn du jetzt mal folgenden Versuch im Kopf durchspielst verstehst du es hoffentlich. 1.Du nimmst jetzt deine eigene Diffenrentialgleichung (die für den Ladestrom vom Kondensator) wandelst sie entsprechend der Gleichung von JD um und implemetierst die in einem FPGA, n ist dabei irgendein x-Bit (bsp 16 Bit je nach dem wie genau das ganze werden soll) Vektor den speicherst halt mehrfach in Register (Bsp Register x(n) kommt der zur Zeit aktuelle Wert rein, x(n -1) wäre dann ein Register in dem du den vorherigem Wert speicherst (oder doch für den nächsten Wert??), etc). So dann verrechnest du entsprechend der obigen Differenzengleichung die gespeicherten Werten aus den Reigstern und gibts das dann auf einen Ausgang(n- Bitbreit). 2. du bastelst dir jetzt ein ADC vor den Fpga, der dir entsprechend einen x-Bit digital Wert liefert (vom Fpga gesamplet ist das dann n). Zusätzlich bastelst du dir einen DAC ebenfalls an den Fpga, dieser soll den berechneten Ausgangswert der Differenzgleichung wieder in einen Analogwert wandeln. So wenn du jetzt parallel dazu nen Versuch aufbaust in dem du abhängig von einer wählbaren Spannung einen Kondenstor entlädst/lädst und den Strom mist, dabei die freiwählbare Spannung an den ADC -> FPGA -> DAC weitergibst und nun den wirklichen Strom mit der Ausgangsspannung vom DAC vergleichst, dann werden die beiden Größen einen, bis auf nen Vorfaktor, gleichen Verlauf zeigen. Vorausgesetzt du hast richtig gerechnet und deine Bitweite und Abtastrate passen einigermaßen. Jedoch weiß ich net wie man die für entsprechende Anwendung korrekt auslegt.
Zusatz: -Stichwörter zum googlen wären : zeitdiskret Filter, z-Transformation, Diffenrenzengleichung
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.