# What is moving average?

Started by December 13, 2005
```What does the term "moving average" mean in symbol synchronization?

```
```"Ant_Magma" <vcteo1@gmail.com> wrote in message
> What does the term "moving average" mean in symbol synchronization?
>
I think it means the same as it does elsewhere; you take the average of a
number of terms grouped near whatever the 'current'  term value is. In this
way your average does not have much bias from estimates made a long time ago
( or a long way into the future ).

Best of Luck - Mike

```
```Ok, i'm trying to visualise this...

so lets say the moving avg block now contains the avg value of 1~20
samples. When then 21st sample enters, the 1st sample that was in the
moving avg block will be 'popped' out and the new average (2~21) is
calculated? Or are they accumulated (1~21)?

```
```In article <1134520796.295944.207230@z14g2000cwz.googlegroups.com>,
Ant_Magma <vcteo1@gmail.com> wrote:
>Ok, i'm trying to visualise this...
>
>so lets say the moving avg block now contains the avg value of 1~20
>samples. When then 21st sample enters, the 1st sample that was in the
>moving avg block will be 'popped' out and the new average (2~21) is
>calculated? Or are they accumulated (1~21)?

It's 2-21.  The accumulation version is called something else; I've
seen it before but I don't remember the name.

Traditionally, a moving average uses a sliding window.  In your
example, you average 20 samples, record the result, slide the window
over by 1 sample (popping the oldest sample out and pushing a new
one in) and average again.  That is, if you have a time series on
which you want to calculate an n-sample moving average:

y[i] = sum(x[i]...x[i-n+1]) / n

You can also do what's known as an "exponential moving average"
which approximates an arithmetic moving average by multiplying
the last result by some factor, and adding it to the next sample
multiplied by some other factor.  That is:

y[i] = b*x[i] + (1-b)*y[i-1]

If b = 2/(n+1), where n is the number of samples you would have
used in an arithmetic average, the exponential moving average will
approximate the arithmetic average pretty well.  Note that every
past value of x in the time series is contained in each new result
y, but older x values get exponentially weighted to insignificance
as the series progresses.

In DSP terms, the arithmetic moving average is known as an n-tap
Finite Impulse Response (FIR) lowpass filter, and the exponential
moving average is known as a 1st-order, all-pole, Infinite Impulse
Response (IIR) lowpass filter.

-A
```
```axlq wrote:
> In article <1134520796.295944.207230@z14g2000cwz.googlegroups.com>,
> Ant_Magma <vcteo1@gmail.com> wrote:
>
>>so lets say the moving avg block now contains the avg value of 1~20
>>samples. When then 21st sample enters, the 1st sample that was in the
>>moving avg block will be 'popped' out and the new average (2~21) is
>>calculated? Or are they accumulated (1~21)?
>
>
> It's 2-21.  The accumulation version is called something else; I've
> seen it before but I don't remember the name.
>

CIC filter.  aka Cascaded Integrator-Comb.

--
Jim Thomas            Principal Applications Engineer  Bittware, Inc
jthomas@bittware.com  http://www.bittware.com    (603) 226-0404 x536
A great mind thinks alike.
```