XBLOCKRMS

Purpose:

Calculates the moving block RMS of a series given a duration.

Syntax:

XBLOCKRMS(series, xdur, rampflag, "naflag", "edgeflag")

series

-

A series or table

xdur

-

A real, the X duration used to compute the integer number of samples for the non-overlapping moving interval.

rampflag

-

Optional. An integer, endpoint ramp flag.

0

:

none  

1

:

ramp up (default)

"naflag"

-

Optional. A string, the NA handling method.

"omitnan"

:

ignore NA values (default)

"includenan"

:

include NA values

"edgeflag"

-

Optional. A string, the edge processing flag.

"full"

:

process all segments (default)

"center"

:

center the result within the overlapping N point segments

"discard"

:

ignore partial segments

"shrink"

:

shrink the segment size to actual number of samples at the edge segments (same as rampflag == 1)  

Returns:

A series or table.

Example:

W1: {1, 2, 4, 7};setdeltax(1/100)

W2: blockrms(w1, 3)

W3: xblockrms(w1, 0.02)

 

W1 contains the input data with a sample rate of 100 Hz.

W2 computes a 3 point moving block RMS.

W3 computes the same moving block 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, 7}.

Example:

W1: integ(gnorm(10000, 1/10000)) * 1000

W2: blockmin(w1, 51)

W3: xblockmin(w1, 0.005)

W4: W2 - W3

 

W1 synthesizes 10000 samples of data with a sample rate of 10kHz.

W2 computes a 51 point block minimum.

W3 computes a moving block minimum with an interval of 0.005 seconds. Since a 0.005 interval equates to 51 samples, the two block minimums are identical.

Remarks:

XBLOCKMIN computes a moving minimum with non-overlapping blocks of duration xdur.

 

The block duration xdur is converted to the integer block interval N with:

 

N = xdur / deltax(s) + 1

 

where xdur >= deltax(s)

 

See MOVAVG for more details on rampflag, naflag and edgeflag.

See Also:

AVGFILT

BLOCKAVG

BLOCKMAX

BLOCKMEDIAN

BLOCKMIN

BLOCKRMS

MOVAVG

MOVSTD