XMOVMEAN

Purpose:

Calculates the centered moving average of a series given a duration.

Syntax:

XMOVMEAN(series, xdur, "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.

"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.

"discard"

:

only process segments of length N, ignore partial segments

"shrink"

:

shrink the size of both the start and end segments to the actual number of samples in the segments (default)  

Returns:

A series or table.

Example:

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

W2: movmean(w1, 3)

W3: xmovmean(w1, 0.02)

 

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

W2 computes a 3 point centered 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.5, 2.333, 4.333, 5.5}.

Example:

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

W2: movmean(w1, 51)

W3: xmovmean(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 MOVMEAN to compute an N point centered moving average.

 

See MOVAVG for more details on naflag and edgeflag.

See Also:

AVGFILT

BLOCKAVG

CUMAVG

EXPMOVAVG

LINAVG

MOVAVG

MOVAVG2

MOVMAX

MOVMEAN

MOVMEDIAN

MOVMIN

MOVSTD

XMOVAVG