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