Forum: FPGA, VHDL & Co. Signalverarbeitung im FPGA


von Georg (Gast)


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

?

von Martin (Gast)


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.

von Nephilim (Gast)


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

von Georg (Gast)


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.

von Jürgen Schuhmacher (Gast)


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.

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
Noch kein Account? Hier anmelden.