04.11.2009, 15:32
(Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2009 15:45 von dimitri84.)
Beitrag #1
|
dimitri84
Astronaut
Beiträge: 1.496
Registriert seit: Aug 2009
2020 Developer Suite
2009
DE_EN
53562
Deutschland
|
Effektivwert berechnen (RMS)
Hallo zusammen,
..... und dabei war ich mir so sicher das selbst hinzubekommen .....
Ich möchte gerne den RMS (RootMeanSquare) eines Signals berechnen:
Mit dem fertigen LV VI bin ich nicht glücklich, weil das Fenster immer um eine ganze Fensterlänge weiterspringt. Wenn ich also über ein Zeitfenster von 200 ms den RMS berechne, habe ich bei einer Abtastrate von 1kHz eine Reduktion der Auflösung um den Faktor 200. Lieber hätte ich es, wenn die Schrittweite des gleitenden Fensters einstellbar wäre. Das Fenster würde sich also, von einem Durchlauf zum nächsten, teilweise überlappen und die Auflösung des Effektivwerts wäre deutlich höher.
Ich weiß garnicht so recht was bei der Umsetzung schief geht. Mit den Datentypen von den Signalverläufen bekomme ich oft Konflikte beim rumprobieren. Wie mache ich aus einem "1-D Array von Signalverlauf(DBL)" ein "Signalverlauf(DBL)" und umgekehrt? Mein Eingangssignal hat auch meistens 4 Kanäle ... mein Versuch spuckt aber nur einen aus.
RMS.vi (Größe: 29,02 KB / Downloads: 377)
Gruß dimitri
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
|
|
|
04.11.2009, 16:25
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Effektivwert berechnen (RMS)
Eigentlich dürfte ich dir gar nicht antworten, da du kein LabVIEW VI haben willst, aber nimm doch die PtByPt RMS Funktion:
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
04.11.2009, 20:16
(Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2009 20:20 von dimitri84.)
Beitrag #3
|
|
|
05.11.2009, 09:11
Beitrag #4
|
|
|
05.11.2009, 09:47
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Effektivwert berechnen (RMS)
Wo schickst du 4 Kanäle rein?
Dein Upload hat als Eingang "Signal" ein Waveform, das ist 1 Kanal. Da kommt natürlich nur ein Kanal raus. Schon mal dein RMS-VI in eine For-Schleife gepackt? Mit AutoIndexing am Ein- UND Ausgang?
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
05.11.2009, 10:34
(Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2009 10:44 von dimitri84.)
Beitrag #6
|
dimitri84
Astronaut
Beiträge: 1.496
Registriert seit: Aug 2009
2020 Developer Suite
2009
DE_EN
53562
Deutschland
|
Effektivwert berechnen (RMS)
Ja mein Problem ist, dass die VIs "Signalausschnitt lesen" und "Signalverlaufskomponenten lesen" nur mit 1em Kanal funktionieren! Oder sehe ich das falsch?
Zitat:Schon mal dein RMS-VI in eine For-Schleife gepackt?
Ja. (Siehe letzter Screenshot)
Zitat:Mit AutoIndexing am Ein- UND Ausgang?
Nein. So wäre die Schrittweite des Fensters "1 Sample" (Bei entsprechender Benutzung der Eingänge Start/Dauer beim VI "Signalausschnitt lesen"). Das ist zuviel des Guten. So hoch aufgelöst muss das RMS-Signal nicht sein. Die Schrittweite soll in Samples angegeben werden können. Die Anzahl der Durchläufe ergibt sich daraus wie oft die Schrittweite des Fensters in den Signalblock passt.
Daten:
EMG_daten2.lvm.txt (Größe: 2,16 MB / Downloads: 382)
lv85zum abspielen:
rms_test.vi (Größe: 70,5 KB / Downloads: 330)
Edit Prinzip: Es kommt ein Signalblock der Länge N --- Ein Fenster der Länge n (n << N) gleitet über den Signalblock mit einer einstellbaren Schrittweite delta_n (delta_n < n ) und berechnet für jede neue Position einen RMS Wert --- aus den RMS-Werten wird wieder ein Signal --- fertig
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
|
|
|
05.11.2009, 13:11
Beitrag #7
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Effektivwert berechnen (RMS)
Und wieder mal ist das verdammte DDT-Format Schuld, da funktioniert das Autoindexing nicht, obwohl es bei dir 4 Kanäle sind.
Also: DDT Format in ein Array of Waveform umwandeln, und dann in einer For-Schleife das RMS-VI aufrufen:
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
05.11.2009, 13:20
(Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2009 13:26 von dimitri84.)
Beitrag #8
|
|
|
05.11.2009, 14:16
Beitrag #9
|
|
|
05.11.2009, 14:43
(Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2009 14:44 von dimitri84.)
|
|
|
| |