INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

RMS berechnen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

05.04.2011, 10:23
Beitrag #1

reNNer Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Dec 2008

8.2.1
-
de

39104
Deutschland
RMS berechnen
Hallo Leute,

ich hab mal wieder ein Problem und hoffe es kann mir einer dabei helfen.

Ich habe EMG-RohDaten im ASCII format in einer Textdatei gespeichert.
Dieses Signal habe ich mit einem gleitenden Mittelwert dargestellt. Funktioniert einwandfrei.

Für die Analyse von EMG-Daten wird nur leider der Root Mean Square (RMS) als Standard angesehen.
So, nun hab ich mir ein RMS-VI nach der Formel selbst gebastelt.
   
Wobei "n" das Zeitfenster ist, über das jeweils der RMS berechnet wird.

Die Rohdaten hab ich alle in ein Array geschoben und lasse dann die "Formel" über das Array laufen, mit dem entsprechenden Zeitfenster. Dieses Zeitfenster muss variabel einstellbar sein.
kleines Bsp.:
- Rohdaten anzahl = 3000 samples
- Zeitfenster = 100 samples

--> 1. Durchlauf: Berechnung des RMS über die Werte im Array (0-99)
--> 2. Durchlauf: Berechnung des RMS über die Werte im Array (1-100)
--> 3. Durchlauf: Berechnung des RMS über die Werte im Array (2-101)
--> usw.
--> Darstellung der RMS Werte als Kurvensignal

Nun gibt es ja auch die RMS im Funktionsumfang von Labview.. nur leider weiss ich nicht, ob ich da ein Zeitfenster definieren kann.
hab damit schon rumprobiert, aber bekomme es einfach nicht hin.
Ich würde auch gern mal überprüfen, ob mein VI auch wirklich das berechnet, was eigentlich im RMS berechnet wird und ob das mit meiner Berechnung übereinstimmt.

Bild:
rot = Roh EMG
weiss = gleitender Mittelwert
blau = mein berechnetes RMS


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.04.2011, 10:54
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: RMS berechnen
Hallo Renner,

vielleicht so (und ohne lokale Variablen):
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2011, 11:32
Beitrag #3

reNNer Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Dec 2008

8.2.1
-
de

39104
Deutschland
RE: RMS berechnen
Hallo Gerd..

also deine Version funktioniert natürlich genauso und ergibt auch das gleiche, wie meins.. deins is halt einfacher Smile danke schon mal dafür

ich würd mal wissen, wie und ob ich mein RohEMG-Array in dieses blöde RMS-Vi aus der Funktionspalette geben kann.
da kann ich ja irgendwie nur eine Eingangsgröße x reingeben und bekomme nen RMS-Wert ausgespuckt.
http://zone.ni.com/reference/en-XX/help/...gmath/rms/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2011, 11:43
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: RMS berechnen
Hallo renner,

das RMS.vi nimmt dir "nur" die Berechnung des RMS-Wertes ab, die Teilarray-Bildung vorneweg musst du selbst erledigen - z.B. wie in meinem Snippet gezeigt...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2011, 12:03
Beitrag #5

reNNer Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Dec 2008

8.2.1
-
de

39104
Deutschland
RE: RMS berechnen
also im Endeffekt so oder wie hast du das gemeint?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2011, 12:05
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: RMS berechnen
Hallo renner,

Zitat:im Endeffekt so
Ja. (Bei meiner Variante brauchst du nichts an "N" anschließen, das erledigt der AutoIndex-Anschluß...)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.04.2011, 12:16 (Dieser Beitrag wurde zuletzt bearbeitet: 05.04.2011 12:21 von reNNer.)
Beitrag #7

reNNer Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Dec 2008

8.2.1
-
de

39104
Deutschland
RE: RMS berechnen
ah ok.. gut zu wissen Wink

also von den Werten her ergeben beide Varianten die gleichen Werte .. Das is schon mal gut.

Was passiert eigentlich genau, wenn das Zeitfenster bspw 100 beträgt und es 3000 Werte sind, wenn die For-Schleife beim Wert 2900 angelangt ist? Dann kann die ja eigentlich nicht mehr über das gesamte Zeitfenster die Berechnungen anstellen, sondern nur noch soviele, wie daten übrig sind. oder hab ich da jetzt nen Denkfehler?

Und dann hab ich da noch das Problem, das die Kurve meiner Meinung nach zu früh beginnt.
   

Ich denke, das die blaue Kurve in etwa ihren maximalen Anstieg dort haben sollte, wo die weisse Kurve beginnt. Und irgendwie hab ich das gefühl, das es mit dem gewählten Zeitfenster zu tun hat.. denn es sind in etwa 100 samples unterschied, beim gewählten Zeitfenster von 100.
Kann sich das einer irgendwie erklären?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2011, 12:31 (Dieser Beitrag wurde zuletzt bearbeitet: 05.04.2011 12:34 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: RMS berechnen
Hallo renner,

Zitat:Was passiert eigentlich genau, wenn das Zeitfenster...
Hast du dir mal mein Snippet genau angeschaut? Und dir überlegt, wozu die ArraySize-Funktion da verwendet wird?

Zitat:Und irgendwie hab ich das gefühl, das es mit dem gewählten Zeitfenster zu tun hat.. denn es sind in etwa 100 samples unterschied, beim gewählten Zeitfenster von 100. Kann sich das einer irgendwie erklären?
Ja.

Erklärung:
Du benutzt ein Fenster mit einer Größe x, die ab dem aktuellen Index gilt, d.h. für die Werte n...n+(x-1). Nach kurzen Nachdenken solltest du auch darauf kommen, dass du also für den Index n schon eine Summe für die n nächsten x Werte berechnest, also "vorausschaust". Du kannst natürlich jederzeit den Fensterbereich anpassen, z.B. in n-(x/2)...n+(x/2-1)!

Manchmal kann es wirklich helfen, sich sowas auf einem Blatt Papier aufzumalen Smile
Es soll sogar Leute geben, die vor dem Programmieren alles erst auf Papier ausarbeiten Cool

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2011, 13:19
Beitrag #9

reNNer Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 50
Registriert seit: Dec 2008

8.2.1
-
de

39104
Deutschland
RE: RMS berechnen
also ich hab jetz zwar deine erklärung soweit verstanden, aber komme nich ganz drauf, wie ich den Fensterbereich anpassen soll.. aber ok.

hab jetz ne lösung gefunden, welches mein problem gelöst hat.

mit dem RMS punkt für punkt VI klappts .. gelbe Kurve (RMS3) .. der shift is weg und ich bin glücklich
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.04.2011, 14:36 (Dieser Beitrag wurde zuletzt bearbeitet: 05.04.2011 15:09 von Lucki.)
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: RMS berechnen
(05.04.2011 13:19 )reNNer schrieb:  mit dem RMS punkt für punkt VI klappts .. gelbe Kurve (RMS3) .. der shift is weg und ich bin glücklich
Dann ist ja alles gut - nur den Nonsens, der darin besteht, die indexierten Werte in der For-Schleife nicht zu verwenden, würde ich noch beseitigen.

   

Dass es sich jetzt um eine gleitende Mittelwertbildung handelt, d.h man hat nach wie vor 3000 Werte und somit keine Datenreduktion, stört Dich wohl nicht, oder?

Edit: ..und einen Versatz hast Du immer noch, wenn auch nur um kaum merkliche 50 Punkte. Wenn der weg soll. dann müßte das VI so aussehen:

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Clarke Transformation berechnen un in Grafik darstellen heja 3 5.768 23.07.2012 16:37
Letzter Beitrag: Lucki
  Effektivwert berechnen (RMS) dimitri84 12 23.024 06.11.2009 15:26
Letzter Beitrag: dimitri84
  Medianfrequenz aus einem FFT Spektrum berechnen dimitri84 23 28.064 01.10.2009 07:12
Letzter Beitrag: dimitri84
  signal simulieren und maximas berechnen bosse 4 4.941 09.04.2009 13:58
Letzter Beitrag: bosse
  Polynomdivision zweier Übertragungsfunktionen berechnen jameson 6 9.022 20.11.2008 23:47
Letzter Beitrag: Lucki
  Geschwindigkeit eines Anstiegs berechnen eins 7 7.810 28.03.2006 16:58
Letzter Beitrag: eg

Gehe zu: