Esta pregunta es acerca de cómo obtener una lectura de voltaje RMS real de un ADC de muestreo en ejecución. ¿Esto me da una verdadera lectura de RMS o dónde cometí un error?
Construya un búfer de anillo de un tamaño suficientemente grande y comience a escribir en él las lecturas de ADC. El RMS de la señal es aproximadamente el RMS de todos los números en ese búfer de anillo.
- EDIT -
¿O es una buena idea?
Tiene una variable, n
, como promedio de cuadrados. Cada vez que aparece una nueva muestra \ $ k_i \ $ esto se calcula:
$$ n_ {i + 1} = \ frac {2n_i + k_i ^ 2} {2} $$
y RMS se calcula tomando la raíz cuadrada de este número. (Las raíces cuadradas son más caras que cuadradas, incluso en un Xeon de 12 GHz de 12 núcleos)
Aclaración
No estoy hablando de si el ADC es RMS o no, en realidad mi ADC captura valores instantáneos. Estoy hablando de cómo tomar este valor instantáneo y aplicarle un algoritmo, para aproximar una medición RMS.
Tampoco estoy hablando de programación integrada con recursos limitados. El sistema en cuestión, que no es relevante para esta pregunta, tiene un servidor poderoso en él y puede (y será) utilizado para procesar a la mayoría, si no a todos los números.