Differentialgleichungen in VHDL-AMS

(Firma: Privat) #3296937
Lesenswert?

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
#3298611
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren