Effektivwert von einem aperiodischem Signal ermitteln..

Gast #756962
Lesenswert?

Hallo!

Ich habe hier ein aperiodisches Signal (im Prinzip ein Stromwert; 
ermittelt über einen Hallsensor). Das Signal sieht aus wie ein 
NF-Signal. Auch die enthaltenen Frequenzen bewegen sich in diesem 
Bereich.

Nun muß ich daraus im 500ms-Takt einen Strom ermitteln, welcher in 
diesem 500ms-Zeitfenster dem DC-Effektivwert entspricht - Tipps?

MfG,
techniker
Gast #756977
Lesenswert?

d.h. wie folgendes Beispiel?

T=0ms -> Zähler=0

Schleife:
1. Abgetasten: z.B. 500dez
2. Quadrieren: z.B. 500dez*500dez -> 250000
3. Aufsummieren: z.B. Zähler += 250000
Schleife wiederholen bis T=500ms

4. Vom Zähler die Wurzel ziehen -> fertig?!?


Wenn ja, dann wird die Zähler-Variable ja gigantisch gross..?!? :-o
Auch das Wurzel-ziehen wird dann seine Zeit brauchen - oder?
Gast #756986
Lesenswert?

>Wenn ja, dann wird die Zähler-Variable ja gigantisch gross..?!? :-o

Die Zahl wird vermutlich nicht mehr als 8Byte groß sein...

>Auch das Wurzel-ziehen wird dann seine Zeit brauchen - oder?

Klar, ist ja eine Berechnung. Dazu sollte es aber optimierte Algorithmen 
geben...
Gast #756995
Lesenswert?

>Die Zahl wird vermutlich nicht mehr als 8Byte groß sein...

Wenn du die Variablen von WINAVR verwendest (long int) wird sie maximal 
4 Byte werden können. Was größer ist mußt du selbst basteln.
Bei Berechnung alle 500ms dürfte das Timing kein Problem sein, das geht 
recht fix.
Persönliche Seite #757005
Lesenswert?

Thilo M. wrote:
>>Die Zahl wird vermutlich nicht mehr als 8Byte groß sein...
>
> Wenn du die Variablen von WINAVR verwendest (long int) wird sie maximal
> 4 Byte werden können. Was größer ist mußt du selbst basteln.
> Bei Berechnung alle 500ms dürfte das Timing kein Problem sein, das geht
> recht fix.

uint64_t bzw. unsigned long long sind 64bit bzw. 8byte.
Admin Persönliche Seite #757006
Lesenswert?

Der Techniker wrote:
> d.h. wie folgendes Beispiel?
>
> T=0ms -> Zähler=0
>
> Schleife:
> 1. Abgetasten: z.B. 500dez
> 2. Quadrieren: z.B. 500dez*500dez -> 250000
> 3. Aufsummieren: z.B. Zähler += 250000
> Schleife wiederholen bis T=500ms

3,5: Zähler durch Anzahl der Werte teilen

> 4. Vom Zähler die Wurzel ziehen -> fertig?!?

Genau. Bei der Abtastung aber aufpassen dass keine höheren 
Frequenzanteile als Abtastfrequenz/2 enthalten sind, also bei Bedarf 
einen Tiefpass einbauen.

> Wenn ja, dann wird die Zähler-Variable ja gigantisch gross..?!? :-o
> Auch das Wurzel-ziehen wird dann seine Zeit brauchen - oder?

Wenn das nur zwei mal pro Sekunde gemacht werden muss sollte das kein 
Problem sein.

> ..was kommt eigendlich raus wenn ich das Signal durch einen OP, welcher
> als Integrierer arbeitet, durchschicke?

Der Mittelwert. Um den Effektivwert zu bekommen musst du vorher 
quadrieren. Man kann das auch analog machen, lohnt sich in dem 
Frequenzbereich heutzutage aber nicht mehr.
Admin Persönliche Seite #757021
Lesenswert?

Der Techniker wrote:
>> Man kann das auch analog machen, lohnt sich in dem
>> Frequenzbereich heutzutage aber nicht mehr.
>
> Nur der Interesse halber: Wie? :-)

Es gibt Analogmultiplizierer als IC, ich glaube die arbeiten intern mit 
dem Logarithmus (x*y = exp(ln(x) + ln(y)). Man kann das so auch mit 
OP-Amps aufbauen. Oder man nimmt etwas mit einer ungefähr quadratischen 
Kennlinie (Diode).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren