XMOVAVG

Purpose:

Calculates the moving average of a series given a duration.

Syntax:

XMOVAVG(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 moving interval.

rampflag

-

Optional. An integer, endpoint averaging flag.

0:

do not ramp

1:

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: movavg(w1, 3)

W3: xmovavg(w1, 0.02)

 

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

W2 computes a 3 point moving average.

W3 computes the same moving average 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.5, 2.333, 4.333, 5.5, 7}.

Example:

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

W2: movavg(w1, 51)

W3: xmovavg(w1, 0.005)

W4: W2 - W3

 

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

W2 computes a 51 point moving average.

W3 computes a moving average with a moving interval of 0.005 seconds. Since a 0.005 interval equates to 51 samples, the two moving average results are equal.

Remarks:

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

 

N = xdur / deltax(s) + 1

 

where xdur >= deltax(s)

 

See XMOVMEAN to compute a centered moving average given a duration.

 

See MOVAVG to compute an N point centered moving average and for more details on rampflag, naflag and edgeflag.

See Also:

AVGFILT

BLOCKAVG

CUMAVG

EXPMOVAVG

LINAVG

MOVAVG

MOVAVG2

MOVMAX

MOVMEDIAN

MOVMIN

MOVSTD

XMOVMEAN