-
FlexPro
- At a Glance
- Features & Options
- Applications
- All Advantages
- What’s New in FlexPro 2021
- Try FlexPro For Free
- FlexPro View OEM Freeware
- Buying Guide
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
- Products
- News
- Support
- Company
- Contact
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
Home > 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])