Forums Neueste Beiträge
 

Interpolation mit Filter oder per Hand?

30/03/2011 - 11:45 von Manuel J. | Report spam
Hallo,

folgende vielleicht etwas blöde Frage:

Ich möchte ein zeit- und wertdiskretes Signal von 5kSamples/s auf ca.
50kSamples/s in einem Mikrocontroller synchron interpolieren (upsamplen).

Wàre folgender einfacher Schleifen Ansatz dazu geeignet?

Differenz = Alter - Neuer;
InterpolSummand = Differenz / Skalierungsfaktor;
InterpolWerte[0] = Alter;
for(i=1; i < Skalierungsfaktor; i++){
InterpolWerte[i] = InterpolWerte[i-1] + InterpolationsSummand;
}
DAC_FIFO = InterpolWerte;
Warte_NeuerWert;

Oder sollte ich lieber tiefer in Digitale Filter einsteigen?
Wikipedia hat mich über den Artikel zur Abtastratenkonvertierung [1] auf
CIC-Filter [2] gestoßen.

Wenn ich richtig gezàhlt habe dann dürfte mein Schleifenansatz
(Skallierungsfaktor = 8 und Division durch Bitschieben) insgesamt
1 + 3 + 8 = 12 Berechnungen umfassen.

Der dsPIC33FJ128GP802 bietet bei 40 MIPS / 5kSamples/s = 8000
Instruktionen pro Schleife, dass müsste doch eigentlich passen, oder?

[1]: <http://de.wikipedia.org/wiki/Abtast...ierung>
[2]: <http://de.wikipedia.org/wiki/Cascad...Filter>

Grüße,
Manuel

Die eMail-Adresse ist in angegebener Form gültig!
 

Lesen sie die antworten

#1 Matthias Weingart
30/03/2011 - 12:11 | Warnen spam
"Manuel J." :

Hallo,

folgende vielleicht etwas blöde Frage:

Ich möchte ein zeit- und wertdiskretes Signal von 5kSamples/s auf ca.
50kSamples/s in einem Mikrocontroller synchron interpolieren (upsamplen).



Das ist kein Filter sondern Interpolation. Die einfachste Realisierung
verbindet die beiden Endpunkte durch Strecken (Polynom 1. Grades) - damit
sind die Übergànge zwischen zwei Strecken relativ "eckig" - wenn Dir das
genügt...
Eine sehr gute Interpolation kann mit der kubischen Spline realisiert werden
- eine Verkettung von Polynomen 3. Grades -> die Übergànge sind schön
gleichmàssig, da die Spline unter Berücksichtigung der benachbarten
Abschnitte berechnet wird.
Ich denke mal für beide Algorithem findet man Sourcecode im Web.

M.

Ähnliche fragen