Forum: Digitale Signalverarbeitung / DSP / Machine Learning Umformung eines digitalen Filters


von Dodger (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem.
In meinem µC läuft momentan ein Programm, welches ein A/D-gewandeltes 
Signal mit einem PT2-Filter filtert.
Die Messwerte werden alle 2ms aufgenommen und dann muss ja auch der 
Filter alle 2ms gerechnet werden.
Anschließend erfolgt eine Anpassung an die Ausgangsschnittstelle 
(Ausgabe alle 15ms).
Die Filterfunktion ist ja vom Typ y(n)= a*x(n)-b*y(n-1)-c*y(n-2)
Das bedeutet ja, dass man zunächst y(n-1) berechnen muss etc.
Daher muss das Filter bei jedem neuen Eingangswert auch neu berechnet 
werden.
Gibt es nun eine Möglichkeit, das Filter in die Form 
y(n)=a*x(n)+b*x(n-1)+c*x(n-2) oder so zu bringen?
Dann wäre das Ergebniss nur abhängig von den Eingangsgrößen und ich 
könnte das Filter mit einer niedrigeren Wiederholrate berechnen lassen.

Gruß
Dodger

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ein gleichwertiges FIR-Filter (das soll es ja werden) ist immer deutlich 
größer als ein IIR-Filter, wie vorgegeben. Ich glaube nicht, dass das 
den Rechenaufwand verringert.

von der mechatroniker (Gast)


Lesenswert?

Bring das IIR-Filter doch in eine Form, die nicht mehr von y(n-ungerade) 
abhängt, sondern neben den Eingangswerten nur noch von y(n-2) und 
y(n-4).

Das geht mit Sicherheit irgendwie. Viel Spaß beim Rechnen.

von Matthias L. (Gast)


Lesenswert?

>Das bedeutet ja, dass man zunächst y(n-1) berechnen muss etc.

Warum? Das ist doch der Wert y(n) vom vorigen Rechendurchgang. Den musst 
du dir nur merken.

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.