Ich brauche ein Interpolationsfilter (Geraden / Quadrate), welches mit zeitlich nicht gleichmäßig ankommenden Daten gefüttert werden- und zu einem beliebigen Zeitpunkt abgetastet werden kann. Die Daten kommen mit einem Zeitstempel, der so aussieht: t k(t) 11.2 78.0 12.3 80.1 13.9 86.7 14.1 85.2 14.9 76.3 Das wäre ein Bogen. Ich weiss im Vorhinein nicht, wann das nächste "update" der Daten kommt, jedoch ist gewährleistet, daß kein Zeitpunkt abgefragt wird, der nicht schon durchschritten ist. Abgefragt werden soll dann z.B. k(t=10.41)? k(t=10.52)? k(t=10.63)? k(t=10.74)? also mit "krummen" Abtastwerten in der Zieldomain. Wie macht man das?
ach so, wenn dir Geraden auch reichen: lineare Interpolation natürlich...
Zu Akima-Interpolation: da war ein guter Artikel in der c't 6/1989, S. 206-212
Das bringt mich jetzt noch nicht so richtig weiter. Ok, ich stelle mir ma vor, ich erhalte aus den von linker Seite ins System einfließenden Daten stückweise Bögen aus der Interpolation. Das bedeutet aber dann, daß ich jeweils einige Punkte an Vorlauf benötige, um die Gleichungen berechnen zu können. Ich habe mir die Gleichungen angesehen: Wenn das in VHDL zu machen wäre, führt das zu hunderten Takten Latenz, die ich nicht habe. Ich brauche also eine einfach Gleichung, die mit einigen Takten auskommt. Ein lineares Filter würde ja mit einer Geraden arbeiten können und die wäre mittels 2er Punkte zu berechen. Ich hätte dann den Offset und die Steigung. Die aber braucht zumindest eine Division. Kann man das so hindrehen, daß man nur binär Teilen muss? Ich habe leider keine konstanten Abstände oder "Frequenzen" wo ich ein Delta-T im Vorhinein wüsste und einen Multiplikator für eine Division bestimmen könnte. Und: Wie mache ich dann weiter? Es kann sein, daß die Abfragezeitpunkte aus einer anderen Takt-Domain kommen- reicht es, die Gleichungen in die andere Domain rüberzutakten? Andere Frage: Gibt es da eigentlich keine Cores für bei Altera oder Xilinx? Oder wird sowas mit Chips gemacht?
C.F. schrieb: > Die aber braucht zumindest eine Division. Kann man das so > hindrehen, daß man nur binär Teilen muss? Wenn du mit lienaqrer Interpolation auskommst und nicht teilen willst: Da müsste man doch den Bresenham-Algorithmus missbrauchen können. Der ist zwar eigentlich zum Linienziehen gedacht, macht aber doch eigentlich auch nichts anderes.
Bressenham hilft ja nur dann, wenn das spätere Abtasten sequentiell und nicht beliebig erfolgt. Um Division (oder eine geeignete Tabelle im ROM) wird man iA nicht rumkommen. Gast3
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.