LabVIEWForum.de - Signalabtastung zur Frequenzbestimmung

LabVIEWForum.de

Normale Version: Signalabtastung zur Frequenzbestimmung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo allerseits,

ich bin Neuling und habe ein Problem. In einer While-Schleife schreibe ich Messdaten eines Kraftsensors in eine globale Variable. Der aufgezeichnete Kurvenverlauf ist sehr nahe dem einer Sinuskurve (geringfügiges Rauschen). Eine zweite While-Schleife liest die Variable und soll daraus den Kurvenverlauf, insb. die Frequenz des Sinus und Amplituden bestimmen.

Aus den Y-Daten in der globalen Variable erstelle ich mit "Signalverlauf erstellen" ein Signal und versuche dieses auszuwerten. Bzgl. Frequenz allerdings ohne Erfolg. Ich denke etwas mit den Zeitstempeln im erhaltenen Signal stimmt nicht.

Hatte jemand schon mal ein ähnliches Problem oder kann mir da so weiterhelfen. Vielen Dank und schönes WEBig Grin.

Lv85_img
Ein VI mitzuschicken ist schon mal sehr gut, aber sie sollten dann auch bei anderen laufen. Hier fehlen dazu die beiden SubVis "Globale Variable 3" und "Unbenannt 1".
Gruß Ludwig
Warum nicht die Daten in ein Array geben und einfach die Abstaende zwischen den Nulldurchgaengen bestimmen?
Oh Sorry! Ich habe die Daten jetzt leider nicht hier auf dem PC.

- Globale Variable ist einfach vom Typ double (les- und schreibbar)
- Unbenannt 1 ist das Express-VI "Signal simulieren" - hier ein Sinus

Mit den Abständen der Nullstellen werde ich versuchen, danke. Aber ich denke ich werde dann immer die Lesezeiten des Signals mit in die globale Variable schreiben müssen und dann irgendwie auswerten. Na mal sehn obs was wird.Dry

LG
' schrieb:...

Mit den Abständen der Nullstellen werde ich versuchen, danke. Aber ich denke ich werde dann immer die Lesezeiten des Signals mit in die globale Variable schreiben müssen und dann irgendwie auswerten. Na mal sehn obs was wird.Dry

LG

Bei einer kontinuierlichen äquidistanten Abtastung ist doch bekannt wie groß die Zeitschritt zwischen zwei Samples ist..
Wenn ich nun 10 Samples habe, sind das erste und letzte wie weit auseinander?

Gruß,
Robert
Was ich bei deinem VI vorn und hinten nicht verstehe:

Wieso übergibst du Werte zwischen parallel laufenden Prozessen per Globaler Variablen (mit der Gefahr von Racing Condition) und baust dann innerhalb einer Sequenz eine Queue ein?

Die Queue solltest du zum Übertrag der Daten zwischend den Parallel-Prozessen verwenden, und in der Sequenz kannst du die Daten einfach per Verdrahtung weitergeben.

Gruß, Jens
Alles klar. Vielen Dank für die Hinweise!Big Grin Die Queue ist inzwischen einem Array gewichen. Und die zeit-äquidistanten Samples konnte ich zu einem Signal zusammenfügen und aus diesem die beteiligten Frequenzen bestimmen.

Die Gefahr der Racing Condition werde ich wohl mit einem Melder umgehen. Die Übertragung der Daten per Queue zwischen den Threads werde ich auch probieren.
Referenz-URLs