LabVIEWForum.de - Signalmanipulation

LabVIEWForum.de

Normale Version: Signalmanipulation
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe im Zuge einer Studienarbeit einen Beschleunigungsaufnehmer zu untersuchen.
Signaleingang und -darstellung sind auch nicht das Problem, jedoch bekomme ich die Messwerte in Bits statt m/s^2 ausgegeben.
Zur Umrechnung habe ich auch die Formel

Output=Slope×Bits+Offset

zur Hand, wobei die Daten dreier Kanäle in einem Datenstrom verlaufen und andere Konstanten als Slope und Offset haben

Kanal 1: Slope= 0,0520247 Offset= -103,399
Kanal 2: Slope= 0,0502905 Offset= -101,788
Kanal 3: Slope= 0,0510763 Offset= -98,3215

Mit den Bits als Messergebnis würde ich gerne eine Manipulation durchführen bevor das Messsignal in den wavechart geht und angezeigt wird.
Ich habe schon versucht die Datenverbindung zu trennen, per Formel zu manipulieren und danach wieder zusammen zu fassen, hat aber leider nicht geklappt.
Mein Anliegen wäre also zu erfahren, wie ich das in einer Datenverbindung verlaufende Messsignal in ihre drei einzelnen Signale aufsplitten kann, im Folgenden jeden Kanal einzeln per Formel manipulieren kann und abschließend mir alle drei Signalverläufe in einem Diagramm angezeigt werden.
Ich wäre euch für schnelle Hilfe wahnsinnig dankbar und wahrscheinlich ist es auch nicht schwierig, aber meine LabVIEW Kenntnisse reichen noch nicht aus...
Im Anhang ist vereinfacht das VI
Danke schon mal im voraus!


MfG
hannsen
Hi hannsen,

bisher sieht es so aus als ob du noch nicht so viel an dem Beispiel aus probiert hast.
Die Daten kommen in Form eines Arrays und mit "Index Array" kannst du auf jede Zeile oder auch Spalte zugreifen und sie "manipulieren".

Gruß,
swatski
Moin moin,

wenn du die Daten als Array bekommst, kannst du auch einfach ein Array addieren oder damit multiplizieren.
Ich habe dir mal ein kleines Beispiel angehängt, was ich meine.
Leider kann ich dein Vi nicht öffnen (hab hier nur LV 7.1).

Gruß

Stefan
Hallo,

danke erstmal für das schnell Feedback.
Ich habe eben beide Varianten ausprobiert. Es klappt auch mit dem manipulieren, jedoch leider nur indem ich den gesamten Datenfluss also alle drei eingehenden Signale zusammen manipulieren kann. Ich habe mit einer Sonde geguckt und ich müsste drei Zeilen reinbekommen... schätze ich.
Ich denke es klappt noch nicht mit der Entzweigung der Daten in ihre drei Kanäle.
Habt ihr da noch einen Ratschlag wie ich da vorgehen muss?!

Grüße
Hallo Hannsen,

bisher verrechnest du deine "3 Signale" mit jeweils einer skalaren Größe für Offset/Slope. Dir ist schon bekannt, dass du Arrays aber auch mit Arrays verrechnen kannst?

Wenn du also für Slope und Offset jeweils ein Array anschließt, kannst du jedem Signal seinen eigenen Wert zuordnen...
Ich würde es so machen:
[attachment=43629]
wobei hier mit jeder Spalte die gleiche Operation ausgeführt wird. Wenn es anders herum sein soll, müßten die 2D-Arrays vor und nach dem Passieren der Schleife noch transponiert werden.
Hallo,
ich habe jetzt die Verechnung von den Arrays hinbekommen und siehe der Graph funktioniert wie ne eins!
Besten Dank!
Gibt mir LabVIEW auch die Möglichkeit eine Art Schieberegister in einen Graphen einzubauen, über welches ich mir den aktuellen Wert der x- und y-Achse anzeigen lassen kann, um zum Beispiel zu erfahren, welche Beschleunigung zum Zeitpunkt x vorliegt?

Grüße
Hallo Hannsen,

sowas nennt sich bei einem Graphen "Cursor"...
Referenz-URLs