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