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]: [2]:Grüße, Manuel