18.05.2010, 15:00
Beitrag #1
|
dommae
LVF-Neueinsteiger
Beiträge: 8
Registriert seit: May 2010
8.5.1
2010
de
Deutschland
|
Ringpuffer - aber wie?
Sers an alle,
ich möchte die Arrays meiner Messwerte mitteln, d.h. ich möchte beispielsweise 5 Arrays mit je 1000 Messwerten aufnehmen und diese dann elementweise addieren und durch 5 teilen, damit ich eine gemittelte Kurve bekomme. Das ganze soll als Ringpuffer fungieren, also das älteste Array immer raus, das neueste rein und dann Mittelwert elementweise für alle 5 Arrays.
Wie geht das?
Danke schonmal für die Hilfe!!!
Grüße,
Thomsen
|
|
|
18.05.2010, 15:04
Beitrag #2
|
|
|
18.05.2010, 15:08
Beitrag #3
|
|
|
18.05.2010, 15:12
Beitrag #4
|
dommae
LVF-Neueinsteiger
Beiträge: 8
Registriert seit: May 2010
8.5.1
2010
de
Deutschland
|
Ringpuffer - aber wie?
Danke, das mit den Schieberegistern ist ne Möglichkeit. Aber dann kann ich meine Ringpuffergröße nicht dynamisch einstellen!
Das würde ich allerdings ganz gerne!
Die Lösung von Dimitri funktioniert nur mit einzelnen Werten, nicht mir Arrays, jedenfalls soweit ichs versteh.
|
|
|
18.05.2010, 15:48
Beitrag #5
|
Ome
LVF-Gelegenheitsschreiber
Beiträge: 109
Registriert seit: Nov 2009
2011
2009
DE
12XXX
Deutschland
|
Ringpuffer - aber wie?
Hallo,
das immer die 5 neusten Arrays verarbeitet werden, kannst du mit Queues erreichen.
Bsp gibt es hier: http://www.LabVIEWforum.de/index.php?s=&am...ost&p=87814
Das Arithmetik geht dann in einer For-Schleife...
Gruß Ome
|
|
|
18.05.2010, 15:49
(Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2010 16:15 von eg.)
Beitrag #6
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Ringpuffer - aber wie?
Warum sind es 5 Arrays mit je 1000 Elementen und nicht eins mit 5000 Elementen?
Warum musst du überhaupt deine Messwerte in Arrays ansammeln um danach einen Mittelwert zu bilden? Ich meine es frisst doch dein RAM?!
|
|
|
18.05.2010, 16:28
(Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2010 16:32 von Ome.)
Beitrag #7
|
|
|
18.05.2010, 16:43
(Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2010 16:52 von eg.)
Beitrag #8
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Ringpuffer - aber wie?
@Ome, ich hätte es auch mit Lossy Queue gemacht
Übrigens, sobald ich das Wort "Ringbuffer" höre, denke ich direkt an Lossy Queue. Das Problem dabei ist, dass die Größe eines solchen Puffers nicht dynamisch einstellbar ist. Aber, ich glaube, ich habe schon eine Lösung dafür im Kopf
|
|
|
18.05.2010, 17:45
Beitrag #9
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Ringpuffer - aber wie?
' schrieb:ich möchte die Arrays meiner Messwerte mitteln, d.h. ich möchte beispielsweise 5 Arrays mit je 1000 Messwerten aufnehmen und diese dann elementweise addieren und durch 5 teilen, damit ich eine gemittelte Kurve bekomme. Das ganze soll als Ringpuffer fungieren, also das älteste Array immer raus, das neueste rein und dann Mittelwert elementweise für alle 5 Arrays.
Würde gern helfen, aber da müßte ich zu sehr raten, wie Du es genau meinst...
Aber vielleicht hilft das: Den Ringpuffer gibt es auch als Funktion, und die Größe ließe sich dort dynamisch einstellen. Allerdings nur für ein einfaches Element. Wenn Du 5 Elemente hast, dann müßtest Du 5 solche Puffer verwenden (Was kein Problem wäre)
Sehr gut versteckt in: Signalverarbeitung Punkt für Punkt weitere Funktionen Daten Queue
|
|
|
| |