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!
16.07.2010, 12:42 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2010 12:49 von florioso.)
ok, nur habe ich nach dem Arraysubset ein Array als Ausgang, und wenn ich PtByPt-Fkt verwende, brauche ich am Eingang einen Eingangswert, kein Array.
Soll ich das Subsetarray indizieren, wenn ja welche Indexgröße, weil des graphische Ergebnis scheint mir genauso wenig sinnvoll?
oh man, mir fällt gerade auf, dass ich anstatt "Array-Subset" "Replace Array-Subset" im VI hatte, nur ändern tut des nicht viel...
16.07.2010, 12:50 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2010 12:51 von GerdW.)
RMS will ich nicht verwenden, da wie gesagt, andere später die Formel (vom gleitenden Effektivwert) nachvollziehen müssen.
was mich nun wundert: die Integrationskonstante macht z.B bei einem Tonsignal nur sinn bei ca. 50 ms (Frequenzen ab 20 Hz)
stell ich jedoch beim T = 0,05 ein, erhalte ich eine kurve y=0, stell ich jedoch T auf 50 erhalte ich eine Effektivwert-ähnliche Kurve, woran liegt das?
16.07.2010, 13:12 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2010 13:15 von GerdW.)
ja klingt logisch mit den ganzzahligen Elementen, danke.
Nur versteh ich jetzt nicht die Mathematik, woher weiss ich denn die Einheit für "T"? ich dachte ich arbeite im Zeitberich immer in Sekunden, und deswegen 0,05 für die 50ms.
ZU den roten Punkten, also die Integrationskonstante in I32 ändern, der einzige rote Punkt, der dann auftaucht ist beim "teilen" des Double-Feldes durch dann die INtegerzahl T, aber sowas kann man ignorieren?
tut mir leid, dass ich dich bzw andere vlt. mit solchen Banalitäten aufhalte, nur bin ich eben noch ein Anfänger, habt bitte Verständnis
trotzdem danke für die zahlreichen Hinweise und Hilfestellungen!!
16.07.2010, 13:30 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2010 13:31 von GerdW.)
"Nur versteh ich jetzt nicht die Mathematik, woher weiss ich denn die Einheit für "T"? ich dachte ich arbeite im Zeitberich immer in Sekunden, und deswegen 0,05 für die 50ms."
Du hast Werte, mit zeitlichen Abständen dt, in einem Array. Von diesem Array willst du einen Bereich T "ausschneiden". Wie geht das wohl?
Vielleicht so, Beispiel:
dt=1ms, T=50ms. Du willst Werte um einen Zeitstempel von 0.125s herum bewerten. Du brauchst also die Werte ab Index 100 (=(0.125s-T/2)/dt ) bis Index 150 (=(0.125s+T/2)/dt ). Quintessenz: du musst beim Indizieren natürlich deine Zeitbasis beachten und entsprechend die Indizes umrechnen...
"aber sowas kann man ignorieren?"
Ja. Ist eine einmalige Umwandlung eines Integer nach DBL - die würde explizit auch nicht schneller gehen. (Es sei denn, man macht die Umwandlung schon vor der Schleife)
Zeitstempel bedeutet in meiner Erläuterung nur "einen bestimmten Zeitpunkt in deinen Daten"...
"z.B ich schaue mir ein Sound-wave von ca. 8 Sek. Länge an, dt=0,1 ms, T soll eben 50 ms sein"
Dann entspricht ein T von 50ms wohl 500 Werten in deinem Array...
hmm, aber wenn ich Werte zwischen 20 und 100 eingebe, schaut der Graph der Effektivwerte besser aus, als bei 500. hier wirkt es sehr genähert, und man erhält nur noch einen groben Kurvenverlauf.
eine weitere Frage zum VI:
ensteht nicht ein kleiner Fehler beim Integrieren beim Zeitpunkt t=null und beim Zeitpunkt t=Ende des Signals.
weil mein Zeitpunkt 0 kann ich ja nur ab null integrieren und net von -T/2 bis +T/2?
muss ich diesen Bereich -T/2 bis 0 dann mit nullen auffüllen, wenn ja, wie geht das?
"ensteht nicht ein kleiner Fehler beim Integrieren beim Zeitpunkt t=null"
Siehe meinen Beitrag #10. Liest du auch, was ich hier so schreibe?
"wenn ich Werte zwischen 20 und 100 eingebe, schaut der Graph der Effektivwerte besser aus, als bei 500. hier wirkt es sehr genähert"
Ja, so ist das, wenn man einen Tiefpaß zu immer tieferen Frequenzen hinschiebt...