LabVIEWForum.de - Tiefpassfilter lässt Signal bei Null beginnen

LabVIEWForum.de

Normale Version: Tiefpassfilter lässt Signal bei Null beginnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich nutzen den Filter "Digitaler IIR Filter" (Tiefpass, Butterworth, 3. Ord.).
Egal, welches Signal ich hier übergebe, das Ausgangssignal des Filters beginnt immer bei Null, auch wenn mein Signalverlauf z.B. beim Wert 30 beginnt.

Kann man das ändern?
Blockdiagramm..........


Eventuell musst du die Punkt-für-Punkt Filter benutzen.
Das Blockdiagramm ist nichts besonderes (hab's aus mehreren SubVIs heraus kopiert, daher ist es nicht vollständig verdrahtet).

Den anderen Filter schaue ich mir an.
Versuch mal diese Methode. Mit dem IIR hab ich noch nie was gemacht...
Lv09_img2
[attachment=27512]
[attachment=27511]

Achtung! Das VI klappt nur für max 10 Kanäle. Und den Initialisierungsanschluss bitte ordentlich verwenden.
Dankesehr. Da fängt das Signal ebenfalls bei Null an, auch wenn "Init" true ist.
Oder muss dieser nur beim 1. Wert "true" sein?

Beim IIR-Filter benötige ich keinen Initialisierungsanschluss und in der Hilfe steht nur "Initialisieren muss TRUE sein, damit das VIs initialisiert wird."
' schrieb:Da fängt das Signal ebenfalls bei Null an, ...
Kann ich nicht nachvollziehen. VI?
' schrieb:Oder muss dieser nur beim 1. Wert "true" sein?
Ja. Siehe Hilfe.
Ich wollte dir ein Test-VI basteln, doch dort kann ich es nicht reproduzieren.
Naja, dann teste ich mal weiter. Dennoch danke.

Das Originalprojekt kann ich nicht anhängen, es wäre auch viel zu komplex.
Naja, auf jeden Fall kenne ich das Problem, dass die Ränder von Signalblöcken auf Null gezogen werden. Mit der Punkt für Punkt Methode trat das aber nie auf.

So initialisiere ich immer:
[attachment=27518]
Gibt auch ein VI "erster Aufruf".
Ich puffere die Messwerte in einem Array und habe so initialisiert:

[attachment=27520]

Das müsste folglich passen.

Das Ergebnis:

ungefiltert:
[attachment=27522]

gefiltert:
[attachment=27523]

Mit dem digitalen IIR-FIlter sieht's genau so aus.

Das Signal beginnt gar nicht genau bei 0/0 wie folgende Werte zeigen.

ungefiltert:
[code]14,817694
' schrieb:Egal, welches Signal ich hier übergebe, das Ausgangssignal des Filters beginnt immer bei Null, auch wenn mein Signalverlauf z.B. beim Wert 30 beginnt.

Das ist ganz natürlich und das wäre bei einem analog aufgebauten TP-Filter auch nicht anders. Bevor dort eine Spanuung angelegt wird, sind alle im Filter verwendeten Kondensatoren ohne Ladung, die Ausgansspannung ist Null. Und das ändert sich nach Anlegen der Spannung nur stetig. Oder anders ausgedrückt: Eine Anfangsspannung ungleich Null wird vom Filter immer als Sprung von Null auf diesen Wert gewertet.

Ich weiß jetzt nicht, ob es Filter-VIs in der Palette gibt, bei denen man die die Anfangsbedingungen einstellen kann. Das würde auch schwieirg sein.

Die beste und zugleich einfachste Möglichkeit ist: Die Messungwertaufnahme sollte genügend lange vor dem Zeitpunkt beginnen, zu dem die Messwerte anfangen interessant zu werden. Auf diese Weise erhält das Filter Gelegenheit, sich einzuschwingen.

Eine Behelfsmaßnahme könnte sein, den Anfangswert zu vervielfältigen und dem eigentlichen Array voranzustellen. Das Filter wäre dann vom ersten echten Wert an schon eingeschwungen.
Seiten: 1 2
Referenz-URLs