LabVIEWForum.de - Wie richtig filtern?

LabVIEWForum.de

Normale Version: Wie richtig filtern?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

Katagia

Guten Abend.
Ich will ein Signal mit einer Abtastrate von 300Hz mit dem ExpressVI
Filter filtern.
Die Daten werden in einer While-Schleife verarbeitet. Bei jeder Iteration
wird ein neues Datenpaket mit 30 Abtastwerten empfangen.
Die Messdaten fass ich über ein Schieberegister in einem Array zusammen.
An dem Schieberegister ist eine Graph Anzeige angeschlossen.

Wenn ich die Filter direkt vor die Anzeige setze, ist die Anzeige OK. Leider
ist die CPU-Last zu hoch, da bei jeder Iteration alle Messwerte durch den
Filter müssen.

Die CPU Last ist wesentlich geringer, wenn ich nur die neuen Abtastwerte filtere.
Leider entstehen dabei extreme Sprünge an den Intervallrändern und das Signal
ist kaputt.

Hat einer von euch eine Idee, wie ich richtig filtere?

Bis dann
Hallo,

probier's mal mit einer kleinen Zeitverzögerung (z.B. 10 ms) in Deiner Whileschleife.

Gruß M.Weippert

' schrieb:Guten Abend.
Ich will ein Signal mit einer Abtastrate von 300Hz mit dem ExpressVI
Filter filtern.
Die Daten werden in einer While-Schleife verarbeitet. Bei jeder Iteration
wird ein neues Datenpaket mit 30 Abtastwerten empfangen.
Die Messdaten fass ich über ein Schieberegister in einem Array zusammen.
An dem Schieberegister ist eine Graph Anzeige angeschlossen.

Wenn ich die Filter direkt vor die Anzeige setze, ist die Anzeige OK. Leider
ist die CPU-Last zu hoch, da bei jeder Iteration alle Messwerte durch den
Filter müssen.

Die CPU Last ist wesentlich geringer, wenn ich nur die neuen Abtastwerte filtere.
Leider entstehen dabei extreme Sprünge an den Intervallrändern und das Signal
ist kaputt.

Hat einer von euch eine Idee, wie ich richtig filtere?

Bis dann
Hallo Katagia,

kannst Du bitte etwas mehr Informationen zu Deiner Art von Filterung schreiben, oder sogar das VI publik machen? Ich denke zwar das die Lösung eine "gleitende Filterung" wäre, aber die existiert nicht für alle Arten der Filterung.

Gruß
kokisan2000


' schrieb:Guten Abend.
Ich will ein Signal mit einer Abtastrate von 300Hz mit dem ExpressVI
Filter filtern.
Die Daten werden in einer While-Schleife verarbeitet. Bei jeder Iteration
wird ein neues Datenpaket mit 30 Abtastwerten empfangen.
Die Messdaten fass ich über ein Schieberegister in einem Array zusammen.
An dem Schieberegister ist eine Graph Anzeige angeschlossen.

Wenn ich die Filter direkt vor die Anzeige setze, ist die Anzeige OK. Leider
ist die CPU-Last zu hoch, da bei jeder Iteration alle Messwerte durch den
Filter müssen.

Die CPU Last ist wesentlich geringer, wenn ich nur die neuen Abtastwerte filtere.
Leider entstehen dabei extreme Sprünge an den Intervallrändern und das Signal
ist kaputt.

Hat einer von euch eine Idee, wie ich richtig filtere?

Bis dann
Referenz-URLs