Calculates the moving RMS of a series given a duration.
XMOVRMS(series, xdur, rampflag, dof, "naflag", "edgeflag")
series |
- |
A series or array, the input series |
||||||||||||
xdur |
- |
A real, the X duration used to compute the integer number of samples for the moving interval. |
||||||||||||
rampflag |
- |
Optional. An integer, endpoint averaging flag.
|
||||||||||||
dof |
- |
Optional. An integer, the degrees of freedom normalization mode.
|
||||||||||||
"naflag" |
- |
Optional. A string, the NA handling method.
|
||||||||||||
"edgeflag" |
- |
Optional. A string, the edge processing flag.
|
A series or table.
W1: {1, 2, 4, 7};setdeltax(1/100)
W2: movvar(w1, 3)
W3: xmovvar(w1, 0.02)
W1 contains the input data with a sample rate of 100 Hz.
W2 computes a 3 point moving RMS.
W3 computes the same moving RMS except the block size is specified in terms of seconds. Since a 0.02 interval equates to 3 samples, both functions return the series:
{1, 1.581, 2.646, 4.796, 5.701, 7}
W1: integ(gnorm(10000, 1/10000)) * 1000
W2: movrms(w1, 51)
W3: xmovrms(w1, 0.005)
W4: W2 - W3
W1 synthesizes 10000 samples of data with a sample rate of 10kHz.
W2 computes a 51 point moving RMS.
W3 computes a moving RMS with a moving interval of 0.005 seconds.
Since a 0.005 interval equates to 51 samples, the two moving RMS results are identical.
The interval duration xdur is converted to the integer sample interval N with:
N = xdur / deltax(s) + 1
where xdur >= deltax(s)
See MOVAVG for more details on rampflag, naflag and edgeflag.