What are RC Filtering and Exponential Averaging and how do they differ? The answer to the second part of the question is that they are the same process! If one comes from an electronics background then RC Filtering (or RC Smoothing) is the usual expression. On the other hand an approach based on time series statistics has the name Exponential Averaging, or to use the full name Exponential Weighted Moving Average. This is also variously known as EWMA or EMA.
A key advantage of the method is the simplicity of the formula for computing the next output. It takes a fraction of the previous output and one minus this fraction times the current input. Algebraically at time k the smoothed output yk is given by
. (1)
where 0<a <1.
As shown later this simple formula emphasises recent events, smoothes out high frequency variations and reveals long term trends.
The above formula is sometimes written in the more limited fashion.
![]()
How is this formula derived and what is its interpretation? A key point is how do we select a . To look into this one simple way is to consider an RC low pass filter.
Now an RC low pass filter is simply a series resistor R and a parallel capacitor C as illustrated below.

The time series equation for this circuit is
![]()
The product RC has units of time and is known as the time constant ,T , for the circuit. Suppose we represent the above equation in its digital form for a time series which has data taken every h seconds. We have
![]()
Rearranging gives
![]()
or
![]()
This is exactly the same form as the previous equation. Comparing the two relationships for a we have
![]()
which reduces to the very simple relationship
![]()
Hence the choice of N is guided by what time constant we chose. Now equation (1) may be recognised as a low pass filter and the time constant typifies the behaviour of the filter. To see the significance of the Time Constant we need to look at the frequency characteristic of this low pass RC filter. In its general form this is
![]()
Expressing in modulus and phase form we have
![]()
where the phase angle f is tan-1(-w T ).
The frequency w = 1/T is called the nominal cut off frequency w c. Physically it may be shown that at this frequency the power in the signal has been reduced by one half and the amplitude is reduced by the factor (1/Ö 2) = 0.7071. In dB terms this frequency is where the amplitude has been reduced by 3dB.

Clearly as the time constant T increases so then the cut off frequency w c reduces and we apply more smoothing to the data, that is we eliminate the higher frequencies.
It is important to note that the frequency response is expressed in radians/second. That is there is a factor of 2p involved. For example choosing a time constant of 5 seconds gives an effective cut off frequency of 1/(2p * 5) = 0.032Hz. One popular use of RC smoothing is to simulate the action of a meter such as used in a Sound Level Meter. These are generally typified by their time constant such as 1 second for S types and 0.125 seconds for F types. For these 2 cases the effective cut off frequencies are 0.16Hz and 1.27Hz respectively.
Actually it is not the time constant we usually wish to select but those periods we wish to include. Suppose we have a signal where we wish to include features with a P second period. Now a period P is a frequency fp = 1/P. We could then choose a time constant T given by T = P/2p . However we know that we have lost about 30% of the output (-3dB) at fp. Thus choosing a time constant which exactly corresponds to the periodicities we wish to keep is not the best scheme. It is usually better to choose a slightly higher cut off frequency, say 1.5fp . The time constant is then T = P/3p which in practical terms is similar to T = P/10. This reduces the loss to around 15% at this periodicity. Hence in practical terms to retain events with a periodicity of P or greater then choose a time constant of (P/10). This will include the effects of periodicities of down to about 0.6P. For example if we wish to include the effects of events happening with say an 8 second period (= 0.125Hz) then choose a time constant of 0.8 seconds. This gives a cut off frequency of approximately 0.2Hz so that our 8 second period is well in the main pass band of the filter. If we were sampling the data at 20 times/second (h = 0.05) then the value of N is (0.8/0.05) = 16 and a = (16/17) = 0.9412.
This gives some insight into how to set a . Basically for a known sample rate it typifies the averaging period and selects which high frequency fluctuations will be ignored.
By looking at the expansion of the algorithm we can see that it favours the most recent values, and also why it is referred to as exponential weighting. We have
![]()
Substituting for yk-1 gives
![]()
![]()
Repeating this process several times leads to
![]()
Because a is in the range 0<a <1 then clearly the terms to the right become smaller and behave like a decaying exponential. That is the current output is biased towards the more recent events but the larger we choose T then the less bias.
In summary we see that the simple formula yk = a yk-1 + (1- a )xk
- emphasises recent events
- smoothes out high frequency (short period) events
- reveals long term trends











Excellent! Exactly what I was looking for.