Interpolationsfilter für diskontinuierliche Daten

Gast #1932601
Lesenswert?

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?
Gast #1934093
Lesenswert?

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

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.

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