C-koden til at beregne RMS af sinus-bølge

N

neuralc

Guest
Hej alle,

Nogen har en C-kode (for embedded) til at beregne RMS værdi af sinus-bølge readed af en DAC af 8 bits?

THXNeuralC

 
Hi neuralc,

Det er meget simpelt,

Overvej din linje frekvens = 50,00 Hz

50,00 Hz = 20ms = 20000 us

for eksempel hvis du grab SINEWAVE prøve @ 100us interval gang du får 200 prøver.

butik i nogle buffer, din ADC er 8 bit, så du skal buffer størrelse
underskrevet char adcbuf [200]

ok ...

nu gøre følgende

underskrevet int rawrms;
int rms;

for (count = 0; count <200; count )
(
rawrms = adcbuf [count] * adcbuf [count];
)

eff = rawrms / 200;
rms = sqrt (RMS);

efter squartrooting

du får faktisk rms SINEWAVE.Hilsen.

Zastereo

 
OK, Thx,

Ligesom dette får vi RMS for en cicle, men hvad med cicle til cicle, gør vi det gennemsnitlige?THX

NeuralC

 

Welcome to EDABoard.com

Sponsor

Back
Top