www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Signalverarbeitung im FPGA


Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte ein Signal digital durch ein Filter (Kombi aus Tiefpass und 
Hochpass) senden. Nun habe ich mir Formeln dafür herausgsucht und wie 
erwartet sieht es so aus, daß die Genauigkeit mit der Abtastfrequenz 
steigt. Die erste Frage wäre, ich ich zu einer Abschätzung der 
Mindestabtastfrequenz komme:

Ich kann z.B. einen neuen Analogwert des Filters ja dadurch bekommen, 
daß ich die Funktion Wert(t0 + td) = F (Wert (t0) , td) benutze. Wenn 
ich nun td kleiner ansetze, auf z.B. die Hälfte erreiche ich ja einen 
exkteren Wert, der mehr dem analogen Verlauf entspricht - ich muss dann 
aber mehr rechnen. Ich möchte nun, daß die Genauigkeit besser ist, als 
12 Bit und dabei möglichst wenig fein rechnen muss.

Wie kriegt man da das Optimum raus ?

Aussderm : Ich bekomme Daten aus einem AD-Wandler, der aber 
ereignisgestueert liefert. Die Werte kommen alle 50 bis 100us, 
unvorhergesehen, aber jweils mit genauem Zeitstempel.

Wie kann ich das resampeln, sodaß ich einen Wert bekomme, den ich selber 
zu jedem Zeitpunkt abtasten kann - erst einmal synchron.

Das Ganze soll in ein FPGA

?

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Georg,

was macht denn Dein Signal zwischen den Abtastwerten? Wenn es nicht 
sinusförmig ist wird es m.E. schwer werden dies zu interpolieren. Warum 
kommen keine regelmäßigen Samples?
Generell kannst Du ein Interpolations-Filter verwenden, um die 
Abtastrate hoch zu setzen. Ob die dadurch erhaltenen Zwischenwerte etwas 
mit Deinem Signal zu tun haben hängt von den Eigenschaften des Signals 
ab.

Autor: Nephilim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als minimale abtastfrequenz, um das signal eindeutig rekonstruieren zu 
können sollte man das doppelte der maximal möglichen auftretenden 
eingangsfrequenz nehmen.
Abtast-Theorem nach Shannon

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Shannon ist mir natürlich bekannt. Aber soweit ich weis, braucht 
es dann ein ideales Rekonstruktionsfuilter. Real ist es ja so, daß dort 
aber sowohl bei Sampling als auch REkonstruktion mit Oversampling 
gearbeitet wird, da das die Genauigkeit verbessert (Alias)

Solange ich auf dieser Ebene bleibe und für jedes Sample wieder einen 
neuen Wert berechne, müsste es also passen - erst einmal,

Damit täte es erst einmal reichen, synchrone Abtastung zu bekommen , 
indem ich ein solches Interplations filter laufen lasse. Die Abtastung 
wäre dann z.B. 128 x 2 fmax. Das macht ja der Wandler.

Es ist nur so, da0 der Wandler über eine Triggerletung angestossen wird, 
die sich mit x anderen Leitungen einen optischen Transceiver teilt. 
Damit ist es nicht sichergestellt, daß das immer sehr synchron kommt.

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du einen Wandler hast, der bereits n-fach oversamplig betreibt, 
hast Du alias-Effekte durch Frequenzen jenseits der Abtastfrequenz im 
Griff, ja.

Wenn Dein Wandler aber jittert, brauchst Du besagtes 
Interpolationsfilter. Wie "fein" das sein muss, hängt von der Abtastung 
durch die nächste Stufe ab. Außerdem ist es von Relevant, wie schnell Du 
arbeiten willst, musst - bzw. wieviel Latenz Du Dir erlauben kannst. Im 
einfachsten Fall läuft es event triggered, d.h. mit jedem neuen Wert 
aktualisierst Du das Filter, wobei die Grenzfrequenz von Bedeutung ist: 
Diese wäre an den analogen Eigenschaften der Schaltung VOR dem Wandler 
zu orientieren, dürfte aber auch nicht nicht größer sein, als die 
maximale Periode Deiner Abtastung. In der Regel kann sie / muss sie 
niedirger sein.

Welche Frequenzen willst Du noch messen?

Für die Grundlagen empfehle ich "Zeitdiskrete Signalverarbeitung" von 
Oppenheim, Schafer, Buck (PEARSON). Dort gibt es so ziemlich alles von 
der Theorie, über Lösungen zu Übungsaufgaben.

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.