LabVIEWForum.de - Endliche Messreihe: Problem mit Mittelwertbildung

LabVIEWForum.de

Normale Version: Endliche Messreihe: Problem mit Mittelwertbildung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich bräuchte da mal eure Hilfe bei einem kleinen LV-Programm.

Es sollen mit der größtmöglichen Abtastrate der Datenerfassungskarte (USB-6366) ein Messsignal aufgenommen werden.
Soweit auch kein Problem.

Dies ist aber ein Problem: Von den Messwerten soll der Mittelwert gebildet werden. Doch genau dies funktioniert nicht.
In die Messdatei werden aber alle Werte geschrieben.

Daher die Frage: Wie muss das Programm verändert werden, so dass es funktioniert?


P.S. Das Histogramm ist nur testweise drin. Aber wie man sieht, zeigt es auch nur den ersten Messwert an.


MfG Mathias
Deine Signale sind Waveforms, und auf die kann man keine Point-to-Point-Funktionen anwenden. Verwende die normale Mittelwert-Funktion. Evtl. muss noch das Signal in ein Array umgewandelt werden.
Danke!

Mit den Funktionen aus "Mathematik / Wahrscheinlichkeit und Statistik" hat es funktioniert (auch das Histogramm).

Hat noch jemand eine Idee, warum leicht verschiedene Mittelwerte angezeigt werden?
Habe es mal nachgerechnet (Excel, Mittelwertfunktion), dann kommt genau der Wert "DC-Werte" heraus.

BTW: Gemessen wurde eigentlich eine Gleichspannung, dennoch gibt es diese seltsame Verteilung der Messwerte. Liegt höchstwahrscheinlich daran, das die Spannungsversorgung der Schaltung mit Schaltreglern aufgebaut ist.


MfG Mathias
Hallo Mathias,

Zitat:Hat noch jemand eine Idee, warum leicht verschiedene Mittelwerte angezeigt werden?
Dir ist schon klar, dass es einen Unterschied zwischen "Median" und "Mean" gibt, oder? Und der Unterschied besteht nicht nur aus 2 Buchstaben Smile
Wenn nicht, solltest du mal googlen oder Wikipedia nutzen und dann die richtige Funktion für deine Aufgabe nutzen...
Habe mir jetzt noch mal den Unterschied zwischen Mean und Median zu Gemüte geführt, das wäre also geklärt.

Jedoch habe ich gleich noch eine Frage.
Da nicht die ganze Zeit mit 2MHz abgetastet werden braucht, habe ich noch einen zweiten DAQ hinzugefügt, welcher nach Ablauf der ersten Messreihe startet.
Mir geht es jetzt um die Zeitverzögerung vom Beenden der ersten Messreihe zum Starten der zweiten Messreihe.
Wie könnte man diese Zeit bestimmen?

Bzw. wie ist es möglich, beide Messreihen gleichzeitig (oder ohne Zeitverzug hintereinander) starten zu lassen?
(Zwei DAQs in einem Rahmen funktioniert nicht)


Anbei das Programm.
Hallo Shelby,

Zitat:Bzw. wie ist es möglich, beide Messreihen gleichzeitig (oder ohne Zeitverzug hintereinander) starten zu lassen?
Vielleicht nicht ohne Zeitverzug, aber mit stark minimiertem durch:
1) auf ExpressVIs verzichten
2) DAQmx-Funktionen verwenden
3) Task nach dem 1. Frame nicht löschen, sondern nur stoppen
4) einfach Samplerate ändern
5) Task in Frame 2 dann einfach wieder starten
oder
6) Task mit hoher Samplerate weiterlaufen lassen und nur die gewünschten dezimierten Messwerte weiterverwenden...

Ansonsten:
- Was soll es bringen, Werte mit 1 zu multiplizieren?
- Was bringt es, einen boolschen Wert mit TRUE zu vergleichen? If TRUE then TRUE else FALSE??? (klassischer RubeGoldberg...)
- Warum müssen DDT-Daten zweifach nach Array of DBL umgewandelt werden, wenn auch einmal ausreichen würde? (vor Histogramm und Mittelwertberechnung)
Danke für deine Vorschläge.

Zitat:Task mit hoher Samplerate weiterlaufen lassen und nur die gewünschten dezimierten Messwerte weiterverwenden...
Wie müsste dann das Programm aussehen?

Noch mal anders gefragt.
Die Datenerfassungskarte hat 8 ADCs und kann somit 8 Kanäle simultan erfassen. Nur leider habe ich noch nicht rausgefunden, wie das gehen soll.
Gedacht hätte ich mir das dann folgender maßen:
Kanal 1: Abtastrate 2Mhz ; 0 bis 499,5µs
Kanal 2: Abtastrate 2khz ; 0 bis 5s (der erste Messwert wäre dann ja genau bei 500µs)

Nur wie muss dann das Programm aussehen Huh


Zitat:Was soll es bringen, Werte mit 1 zu multiplizieren?
Da stand zwischenzeitlich mal 1000 (für kilo) drin. Habe es nur noch nicht wieder gelöscht.

Zitat:Was bringt es, einen boolschen Wert mit TRUE zu vergleichen?
Auch dies ist eigentlich nur Spielerei. Damit soll nur verhindert werden, dass der Time-Out des DAQ im zweiten Rahmen sofort los läuft.

Zitat:Warum müssen DDT-Daten zweifach nach Array of DBL umgewandelt werden, wenn auch einmal ausreichen würde?
Stimmt, das werde ich noch ändern. (So ist es eben, wenn man hier und da was zum Programm hinzufügt und nicht darauf achtet, was schon da ist...)
Hallo Shelby,

Zitat:Nur wie muss dann das Programm aussehen
Zwei parallel laufende DAQmx-Task mit je einem AI und unterschiedlicher SampleRate. Einfach mal die mit LabVIEW mitgelieferten Beispiele durchschauen...
Zitat:Einfach mal die mit LabVIEW mitgelieferten Beispiele durchschauen
Hätt´ ich ja auch selber drauf kommen können...

Unter den Beispielen habe ich auch ein passendes VI gefunden.
Jetzt wollte ich es allerdings auf 2 Kanäle erweitern - dies funktioniert aber nicht.

Könnt ihr mir bitte sagen, wo der Fehler liegt.
Hallo Shelby,

sagt der Fehler nicht schon alles aus? Du hast irgendeine Resource doppelt nutzen wollen, was aber nicht geht...

Außerdem: Aus dem Bild des BD kann man leider nicht auf die vorgenommenen Einstellungen im FP schließen...
Seiten: 1 2
Referenz-URLs