-
FlexPro
- Zoom sur FlexPro
- Fonctionnalités & Options
- Domaines d’application
- Tous les avantages
- Nouveau dans FlexPro 2021
- Testez FlexPro gratuitement
- FlexPro View OEM Freeware
- Conseils d’achat
- Login
- Langue
- +49 6894 929600
- infoweisang.com
- Google Maps
- Produits
- News
- Support
- Société
- Emplois
- Contact
- Login
- Langue
- +49 6894 929600
- infoweisang.com
- Google Maps
Accueil > Community > FPScript > calculate the true RMS value > Reply To: calculate the true RMS value
April 9, 2019 at 1:42 pm
#21272
Bernhard Kantz
Participant
The code seems above seems to be mangled, maybe in the transition to the new web site. The FPScript formula below should do the job.
//Recherche des index où le signal d'entrée passe à zéro (orientation positive) afin d'isoler les périodes du signal
Dim PMax = Maximum(Acceleration)
Dim Idx = LevelCrossings(Acceleration, 0.0, 0.05 * PMax, EVENT_POSITIVE, EVENT_INDEX)
//Calcul des valeurs RMS
//Code optimisé pour un calcul plus rapide
//Ici on n'étend pas les variables time et rms dans la boucle for avec l'opérateur :=
//On définit au préalable la taille de time et rms et on les remplies dans la boucle For
Dim N = NumberOfRows(idx)
Dim rms = AdjustUnit(? # N-1, Acceleration)
For k = 0 To N - 2 Do
rms[k] = Mean(Acceleration[Idx[k], Idx[k+1]], MEAN_SQUARE)
End
Return Signal(rms, Acceleration.X[Idx])