www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Interpolationsfilter für diskontinuierliche Daten


Autor: C.F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach so, wenn dir Geraden auch reichen: lineare Interpolation 
natürlich...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu Akima-Interpolation: da war ein guter Artikel in der c't 6/1989, S. 
206-212

Autor: C.F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bressi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.