Forum: FPGA, VHDL & Co. Trigonometrische Interpolation - Wie umsetzen???


von Matthias H. (harti)


Lesenswert?

Hi,
ich habe eine Dezimiererstruktur mit anschließender Tiefpassfilterung
im FPGA implementiert. Die Dezimierung war für die weitere
Signalverarbeitung notwendig gewesen.

Nun soll ich das gefilterte Signal mit Hilfe eines Delta-Sigma DAC
wieder analog ausgeben. Hierfür muss die anfangs dezimierte
Samplingrate wieder erhöht werden.
Als Ansatz dachte ich an eine Trigonometrische Interpolation bzw. an
einen CIC-Interpolator (Sinc-Interpolator).
In der Theorie sehen diese Ansätze nicht so schwer aus, bei der
Umsetzung fehlt mir leider jeglicher Ansatz für die Realisierung der
Upsamplingstruktur.

Hat jemand bereits Erfahrungen mit Interpolationsalgorithmen bzw. einen
kleinen Quellcodeansatz.

Schon mal Vielen Dank,
Matthias

von FPGA-User (Gast)


Lesenswert?

Hallo Matthias,

Du fügst zwischen 2 Samples so viele Nullen ein, wie nötig,
um eben die höhere Abtastrate zu erreichen.
Anschließend folgt ein TP, der alle Signale die größer
sind als die halbe original-Abtastrate unterdrückt.

Einen TP hast Du ja offenbar schon realisiert, also sollte das
kein Problem sein.

Da durch diesen TP sehr viele Nullen geschoben werden und eine
Multiplikation mit 0 ziemlich sinnlos ist, kann man bei
hohen Interpolationsfaktoren vorteilhaft sog. Poly-Phase
Filter einsetzen, aber das führt hier wahrscheinlich zu weit.

Also probiers erstmal mit dem simplen TP.

von Matthias H. (harti)


Lesenswert?

Danke für Deine schnelle Antwort,

für kleine Interpolationsfaktoren läuft es super.
Werde es mal mit den Poly-Phase Filtern versuchen um Upsamplingraten
von 2^3 bis 2^13 realisieren zu können.

von FPGA-User (Gast)


Lesenswert?

Hallo Matthias,

bei Upsampling-Raten > Faktor 8 wird man wahrscheinlich stufenweise
vorgehen müssen, also vielleicht mehrere x8 -Stufen kaskadieren.
Ansonsten werden vermutlich die Anforderungen an das Filter
zu hoch und die Implementierung ineffizient.

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.