Reply by Jim Thomas December 14, 20052005-12-14
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.
Reply by axlq December 13, 20052005-12-13
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
Reply by Ant_Magma December 13, 20052005-12-13
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)?

Reply by Mike Yarwood December 13, 20052005-12-13
"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
Reply by Ant_Magma December 13, 20052005-12-13
What does the term "moving average" mean in symbol synchronization?