LabVIEWForum.de
.lvm Daten einlesen und mit einem Tiefpass filtern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: .lvm Daten einlesen und mit einem Tiefpass filtern (/Thread-lvm-Daten-einlesen-und-mit-einem-Tiefpass-filtern)



.lvm Daten einlesen und mit einem Tiefpass filtern - Kernkraft500 - 17.01.2012 11:26

Hallo liebe LabView Gemeinde,

lange verfolge ich schon dieses äußerst hilfreiche Forum, doch zum ersten mal hat mit die Suchfunktion keinen passenden Treffer angeboten, so dass ich euch direkt fragen muss Big Grin !

Wie der Titel schon sagt, habe ich im Labor mit einem selbst geschrieben Programm Messwerte von ein einer Hallsonde erfasst und mit dem dem ExpressVI in Datei schreiben/speichern als .lvm Dateien abgespeichert.

Zuhause habe ich zu zur Auswertung ein Auswertungsprogramm geschrieben. Mit diesem lese ich die lvm Dateinen ein und stelle sie in einem Graph dar und untersuche die Daten. Das klappt auch alles ganz gut, jedoch möchte ich die eingelesenen Daten durch einen Tiefpassfilter schicken und da kommt dann auch schon die Fehlermeldung.

Nun wollte ich Fragen ob das Filtern mit einer solchen Filterart grundsätzlich mit einem vorhandenen "statischen" Datensatz nicht funktioniert oder ob ich da was falsch mache.
Ich habe den Tiefpassfilter in meinen Aufnahmeprogramm eingebaut und da klappt es perfekt.

In den Anhang habe ich mein Auswertungsprogramm und zur Probe eine .lvm Datei gelegt. In LV2010
[attachment=38159][attachment=38160]


MfG


RE: .lvm Daten einlesen und mit einem Tiefpass filtern - gentos - 18.01.2012 10:28

Dein Signal, was Du in das Filter einspeist, hat ein dt von 1 (ich denke das entspricht nicht der Wahrheit;-) ). Das dt ist ja das Zeitinterval zwischen zwei aufeinanderfolgenden Abtastwerten. Somit bedeutet ein dt=1, dass dein Signal mit der Abtastrate Fs=1 Sample/Sekunde abgetastet wurde. Das Filter richtet sich nach Niquist und überprüft die Bedingung:
fl <= Fs/2. In Deinem Fall ist fl=1 Hz (Filtergrenzfrequenz) und Fs/2 = 0,5 Samples/ Sekunde. Das führt zur Fehlermeldung. Setzt Du die Grenzfrequenz auf mindestens 2 Hz, ist das Niqiuist Kriterium erfüllt und die Fehlermeldung verschwindet! Big Grin

Sorry für die lange Beschreibeung, kann heute nicht "kürzer" denken;-)

EDIT:

Bevor Du hingehst und das Problem durch ändern der Filtergrenzfrequenz löst, solltest du dir Gedanken machen ob dein Abtastrate stimmt, weil Du sonst u.U. ein fasches Filterergebniss erhälst!


RE: .lvm Daten einlesen und mit einem Tiefpass filtern - Kernkraft500 - 18.01.2012 11:10

also es ist so:

das Signal wurde mit 10.000 Samples/s jeweils in 1000er blöcken aufgezeichnet. Das expressVI in Datei schreiben fängt aber ab 1 an zu Zählen!
Außerdem greife ich ja nur die 2te Spalte ab, so dass das zumindest nix damit zu tun hat. Ich glaube eher es liegt daran das x und Y Werte getrennt vorliegen wenn er aus der Datei ausliest.
So habe es hinbekommen! Es war so wie ich gesagt habe meine ausgelesenen Y-Werte hatten kein X-Wertzuordnung.

Lösung: Mit dem VI "Build Waveform" einfach an meine Werte ein konstates dt von 0,0001 angehängt!


RE: .lvm Daten einlesen und mit einem Tiefpass filtern - gentos - 18.01.2012 11:32

(18.01.2012 11:10 )Kernkraft500 schrieb:  Lösung: Mit dem VI "Build Waveform" einfach an meine Werte ein konstates dt von 0,0001 angehängt!

Mit dem Ändern des dt hast Du ja genau das erreicht, was ich Dir gesagt habe, denn jetzt weiß Dein Filter, dass Dein Signal auch Anteile über 0,5 Hz beinhaltet!