Trigonometrische Interpolation - Wie umsetzen???

OP #297059
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
Gast #297060
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.
Gast #297062
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.

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