What is moving average?

Digital Signal Processing using computers.

What is moving average?

Postby Ant_Magma » Tue Dec 13, 2005 9:15 am

What does the term "moving average" mean in symbol synchronization?
Ant_Magma
 

Re: What is moving average?

Postby Mike Yarwood » Tue Dec 13, 2005 12:20 pm

"Ant_Magma" <vcteo1@gmail.com> wrote in message
news:1134463715.830975.177350@g44g2000cwa.googlegroups.com...
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
Mike Yarwood
 

Re: What is moving average?

Postby Ant_Magma » Wed Dec 14, 2005 1:16 am

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)?
Ant_Magma
 

Re: What is moving average?

Postby axlq » Wed Dec 14, 2005 1:38 am

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
 

Re: What is moving average?

Postby Jim Thomas » Wed Dec 14, 2005 5:16 pm

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.
Jim Thomas
 


Return to DSP

Who is online

Users browsing this forum: No registered users and 1 guest