LabVIEWForum.de
Mittelwert mit ungerade Anzahl von Eingangswerten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Mittelwert mit ungerade Anzahl von Eingangswerten (/Thread-Mittelwert-mit-ungerade-Anzahl-von-Eingangswerten)

Seiten: 1 2


Mittelwert mit ungerade Anzahl von Eingangswerten - Destiny - 10.06.2009 12:50

Hi,
folgendes Problem: Ich komme mit 124 Werten in einem Array an ->Mit einer Abtastrate von 1000Hz -> diese sollen nun ein 10-Fach Oversampling erfahren. Also aus immer 10 Werten soll der Mittelwert gebildet werden und so auch der Datenstrom reduziert werden.

Aber wie soll ich immer 10 Werte herraus bekommen? Ohne an dem Einganswert etwas fallen zu lassen komme ich da nicht weiter.


Mittelwert mit ungerade Anzahl von Eingangswerten - ImExPorty - 10.06.2009 17:46

Hallo Destiny,
anbei ein Beispiel bei dem gegenüber dem "normalen" gleitenden Mittelwert noch etwas vorne und hinten "drangerechnet" wurde.
[attachment=18986]
[attachment=18985]

Lv85_img[attachment=18984]
Wenn auch der letzte Wert des "Mittelwertes" zeitlich mit dem letzten Wert des Datensatzes übereinstimmen soll => XY-Graph, da nicht äquidistant (würde auch gehen)
doch nun die Frage aller Fragen ...Wofür das Ganze?
viel Spaß damit


Mittelwert mit ungerade Anzahl von Eingangswerten - jg - 10.06.2009 19:12

Ich tippe ja mal darauf, dass es eher darum geht, dass Destiny immer wieder ein Datenpaket aus 124 Messwerten erhält und momentan nicht weiß, wie er die 4 Werte, die beim ersten Durchlauf der Datenreduzierung übrig bleiben, an den nächsten Datendurchlauf weitergibt.

Stimmt diese Interpretation der Frage?

Wenn ja, das Stichwort "Schieberegister" könnte dir weiterhelfen.

Gruß, Jens


Mittelwert mit ungerade Anzahl von Eingangswerten - ImExPorty - 10.06.2009 21:05

...dann noch eine Erweiterung der Mittelswertvarianten:
[attachment=18994]
[attachment=18993]

Lv85_img[attachment=18991]
viel Spaß


Mittelwert mit ungerade Anzahl von Eingangswerten - Destiny - 10.06.2009 21:31

' schrieb:Ich tippe ja mal darauf, dass es eher darum geht, dass Destiny immer wieder ein Datenpaket aus 124 Messwerten erhält und momentan nicht weiß, wie er die 4 Werte, die beim ersten Durchlauf der Datenreduzierung übrig bleiben, an den nächsten Datendurchlauf weitergibt.

Stimmt diese Interpretation der Frage?

Wenn ja, das Stichwort "Schieberegister" könnte dir weiterhelfen.

Gruß, Jens

genau! Nur wenn ich jetzt das array mit 124 Werten in ein schieberegister gebe habe ich doch immernoch ein ungerades datenpacket. es sei denn ich sammel dann 5 Datenpackete (620 werte), aber das kann ja nicht der sinn der sache sein.
man müsste halt wert 1-10 aus dem array haben, danach 11-20 und wenn bei dem arrar nurnoch 4 werte über sind eben aus dem nächsten die ersten 6 dazu und dann das nächste 10er päckchen.
Ich hab hier jetzt leider kein LabVIEW und kanns euch weder zeigen noch ausprobieren.

wozu das ganze: ganz einfach zur datenreduktion, wir bekommen mehr werte rein als man braucht...und das ist dann halt auch ein sehr unruiges signal.
Und leider kann die Messkarte nur so krumme Blocklängen ausgeben.


Mittelwert mit ungerade Anzahl von Eingangswerten - jg - 11.06.2009 08:43

Schau dir das 2. Beispiel von ImExporty an, dann hast du die Lösung. Er gibt nur die noch nicht bearbeiteten Werte an den nächsten Schleifendurchlauf weiter, verbindet sie dort mit den neuen Daten, reduziert so weit wie möglich, gibt den Rest wieder weiter etc. etc. etc.

Gruß, Jens

P.S.: Seit wann ist übrigens 124 eine ungerade Zahl?Wink


Mittelwert mit ungerade Anzahl von Eingangswerten - Destiny - 11.06.2009 10:01

danke, die 2.lösung habe ich gersten abend garnicht mehr gesehen.....müssen wir wohl gleichzeitig gepostet habenSmile

Puh, das sieht aber verdammt kompliziert aus, dafür das man einfach nur nen Mittelwert brauchtSad(blöde messkarte), werd mich gleich mal dran machen das aus zu probieren. Ich hab auch immer das "Mean" genommen und nicht das "Avarage", oder ist das egal welches man da nimmt?


Mittelwert mit ungerade Anzahl von Eingangswerten - ImExPorty - 11.06.2009 12:14

Hallo Destiny
' schrieb:Puh, das sieht aber verdammt kompliziert aus, ....da ist ja auch noch vieles an Altlasten drin, da ich zuerst in eine andere Richtung gedacht hatte
dafür das man einfach nur nen Mittelwert braucht ...na ja, ist ja auch nicht der Regelfall, einen gleitenden Mittelwert mit Überlaufsberücksichtigung zu berechnen
somit nun reduziert:
[attachment=19008]
[attachment=19007]

Lv85_img[attachment=19006]
viel Erfolg beim Einbau
PS: du brauchst nur die innere Schleife


Mittelwert mit ungerade Anzahl von Eingangswerten - Destiny - 11.06.2009 18:05

Super lieben dankSmile

Ich hab anhand dieser Vorlage mal was aufgebaut, um eben auch nach zu volziehen was da eigentlich gemacht wird - da sind jetzt ein paar Dinge anders, könnt ihr vielleicht mal gucken ob man das so machen kann, oder da ein grober Fehler drin ist?

LV8.6

Habs vorher mal mit einem gefüllten Array (natürlich mit weniger wertenWink) ausprobiert und auch da passiert genau das was passieren soll.
Die Werte werden genommen, der Mittelwert gebildet- und der Rest wird dann an das nächste array oben drauf gesetzt.


Mittelwert mit ungerade Anzahl von Eingangswerten - jg - 11.06.2009 18:47

Autsch, ja, da sind Bugs drinnen.

Hier der Schlimmste:
[attachment=19027]
Das Build-Array gehört nach vorne, du willst doch den nächsten Datenblock an die noch nicht gemittelten Werte anhängen, und erst dann wieder neu dezimieren.

Auch fehlt dir durch das uninitialisierte Schiebe-Register momentan die Möglichkeit eines Reset. In meinen Augen ein "minor Bug".

Aber genug der langen Rede, hier noch mal 2 Vereinfachungsvorschläge. Die Dezimier-Funktion gibt es nämlich fertig in LabVIEW:
[attachment=19028]
Lv86_img[attachment=19029]

Gruß, Jens

P.S.:Offtopic2
Profil_ergaenzen