Calcul de la valeur efficace

Pour les formes d'onde de courant alternatif (p. ex. onde sinusoïdale), il existe plusieurs façons de caractériser la tension. L'une est la moyenne quadratique (RMS), qui est la tension continue équivalente qui aurait le même effet de chauffage sur une résistance. Le calcul de la valeur RMS implique de prendre la tension moyenne sur une certaine période de temps. Pour obtenir un résultat à faible bruit, il est important d'aligner ces plages de temps avec les cycles de la forme d'onde. Ceci peut être obtenu par les calculs suivants.

  • Exemple d'onde sinusoïdale (utilisation d'une trame périodique de 100 ms) :

    voltage = sin(Master())

  • Détection des passages par zéro (utilisée pour terminer l'intégrale) :

    positive = voltage > 0

    windowDetect = positive && !State_Register(positive, !1)

  • Fourniture du signal détecté retardé d'un échantillon (utilisée pour redémarrer l'intégrale) :

    windowDetect2 = State_Register(windowDetect, !1)

  • Rappel du début de la fenêtre à chaque passage :

    windowStart = Latch(Master(), windowDetect2)

  • Calcul de la valeur RMS depuis le dernier passage par zéro :

    RMSTemp = sqrt(Rolling_Accumulate_Integral(voltage ** 2, windowStart))

  • Maintien de la valeur RMS à partir de la fin de la dernière fenêtre :

    RMS = Latch(RMSTemp, windowDetect)

Généralement, la valeur RMS calculée sera retardée d'une période.

Voir également 

Extraction de bits ou champs de bits d'un nombre entier

Utilisation des signaux d'énumération

Appliquer des calculs à des échantillons spécifiques