LabVIEWForum.de - variable Mittelwertbildung von verschiedenen Signalen

LabVIEWForum.de

Normale Version: variable Mittelwertbildung von verschiedenen Signalen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich bekomme verschiedene Signale aus unterschiedlichen Schleifen mit unterschiedlichen Zeiten. Von diesen Signalen möchte ich den Mittelwert bilden. Dabei soll die Anzahl der Werte sowie die Abtastzeit unterschiedlich eingestellt werden.

Ich habe dies einmal exemplarisch mit 3 Signalen dargestellt.

Nun meine Frage: Kann ich dies wirklich nur mit jeweils einer While Schleife pro Signal tun oder gibt es da einen bessere Lösung?


PS: leider kann ich hier nichts nachträglich anhängen, sonst hätte ich hier noch das Snippet hochgeladen ...
Hallo hrathke,

Zitat:ich bekomme verschiedene Signale aus unterschiedlichen Schleifen mit unterschiedlichen Zeiten. Von diesen Signalen möchte ich den Mittelwert bilden. Dabei soll die Anzahl der Werte sowie die Abtastzeit unterschiedlich eingestellt werden. Ich habe dies einmal exemplarisch mit 3 Signalen dargestellt.
Nun meine Frage: Kann ich dies wirklich nur mit jeweils einer While Schleife pro Signal tun oder gibt es da einen bessere Lösung?
Wie variabel sind denn Sampleanzahl und Abtastrate in den 3 Schleifen zur Mittelwertberechnung?
Wenn die Variationen überschaubar sind, könnte man sicherlich eine andere Lösung finden. Bei wirklich zufälligen Werten ist das aber schon eine einfache Lösung…

Statt lokaler Variablen würde ich Notifier nehmen, da kann man dann auch einfacher subVIs bilden. (Mit benannten Notiifiern könnte man dann auch reentrante VIs mehrfach ausführen…)
Hallo Gerd,

Danke für Deine Antwort!

Es sind bis zu 70 analoge Signale (würde also 70 While Schleifen bedeuten!?).

Dabei sollte die Sample Anzahl von 2 - 100 und die Abtastrate von 100 ms bis ca. 15 sec - für jedes Signal getrennt - einstellbar sein.

Mit Meldern hatte ich das schon probiert, allerdings ändert dies nichts an der Anzahl der While Schleifen? - und wird durch die vielen Verbindungen aus den unterschiedlichen Quellen (Schleifen) sehr unübersichtlich.

Vielleicht gibt es da noch andere Möglichkeiten?
Hallo hrathke,

wie wäre es so:
Arbeite mit einem Grundtakt von 100ms: damit kannst du z.B. 15s als 150 Samples abbilden.
Jetzt reduziert sich dein Problem darauf, dass du "nur noch" über eine variable Länge von 1 bis 15000 Samples (15s * 100 Werte) mitteln musst.

Ich habe es so gelöst, dass ich mir eine FGV angelegt habe, die jeden Kanal mit seinem (Messwert-)Namen buffert. Die maximale Buffergröße wird durch die CPU begrenzt: auf einem typischen Quad-Core kann ich so 250 Kanäle mit je 10k Samples verwalten. Mittelwerte pro Kanal werden dann aus dem Buffer berechnet...
Für so etwas bieten sich Variantattribute oder Maps (in LV2019) an.
Hallo Gerd,

klingt erst einmal vielversprechend :-)

Hast Du vielleicht ein kleines Beispiel mit der Globalen Variable in Verbindung mit einer Buffer Speicherung? Auf LV2019 habe ich leider keinen Zugriff, d.h. Variantattribute oder Maps kann ich nicht testen (obwohl das laut Beschreibung vielversprechend klingt).

Danke schon einmal im Voraus!

Gruß
Holger
Hallo Holger,

die Variantattribute gibt es schon seeehr lange
(Das "LV2019" bezog sich exklusiv auf die Maps.)
OK, dann werde ich mich mal damit beschäftigen :-)
Referenz-URLs