-
FlexPro
- Auf einen Blick
- Features & Optionen
- Einsatzgebiete
- Alle Vorteile
- Neu in FlexPro 2021
- FlexPro gratis testen
- FlexPro View OEM Freeware
- Kaufberatung
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
- Produkte
- News
- Support
- Unternehmen
- Jobs
- Kontakt
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
Home > Community > FPScript > calculate the true RMS value > Antwort auf: calculate the true RMS value
April 9, 2019 um 1:42 pm Uhr
#21272
Bernhard Kantz
Teilnehmer
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])