2
$\begingroup$

I have a signal of bandwidth DC to ,say, 100 Hz. I am interested in the range DC-10 Hz. I oversample by a factor of, say, 30. Thus the sampling rate is 600 samples/sec. Then I bandpass filter and decimate it over a number of stages, say 3 stages (e.g. by a factors of 5, 3 and 2). Thus I get the original signal.

This gives me the advantage of having simpler anti-aliasing filter.

However, there is another advanage of oversampling, which is reducing the noise by taking an average of adjacent (extra) samples. For example, if we oversample by 4, then we take average of every 4 samples.

My questions: Do I need to do filtering before the averaging, as is the case with the downsampling?

EDITED TO CLARIFY.

$\endgroup$
  • $\begingroup$ Your first paragraph makes no sense to me: If the signal you're sampling has bandwidth equal to 10 Hz, why do you band-pass filter it? And why do you need an antialias filter? $\endgroup$ – MBaz Mar 12 '15 at 22:17
  • $\begingroup$ The 'signal' itself has much higher bandwidth, but the portion I am interested in is up to, say, 10 Hz. $\endgroup$ – student1 Mar 12 '15 at 22:21
  • $\begingroup$ Shouldn't you use a low-pass filter, then? $\endgroup$ – MBaz Mar 12 '15 at 22:39
  • $\begingroup$ Yes, that's actually what is being done, sorry for the wrong description. But that part is already working fine, so maybe we can focus more on the questions itself :) $\endgroup$ – student1 Mar 13 '15 at 3:15
3
$\begingroup$

Oversampling can be used to reduce noise only when you're oversampling the same quantity and the noise samples are uncorrelated and have zero mean. This is seldom the case.

Let's say you're sampling signal $s(t)=r(t)+n(t)$, where $r(t)$ is the signal you're interested in, and $n(t)$ is zero-mean noise, which comes primarily from internal noise in your circuitry. You oversample by a factor of 2 and then average every two samples. Your samples are, say, $s[1]$ and $s[2]$, taken at times $T_s$ and $2T_s$. The average is

$$\begin{align} s_a&=\frac{s[1]+s[2]}{2} \\ &=\frac{r[1]+r[2]}{2}+n_a \\ &=r_a+n_a \end{align}$$

where $n_a$ is, you hope, closer to zero than a regular noise sample (if the noise samples are correlated, their average is not necessarily close to 0). However, what can you say about $r_a$? It is neither $r[1]$ nor $r[2]$. You may hope it is close to $r(1.5T_s)$ (or something) but there is no guarantee of that.

Now consider this scenario: you feed $r(t)$ into two circuits, each with its own ADC, in parallel, with synchronized sampling clocks. At time $t=T_s$ you have two samples, $s_1[1]$ and $s_2[1]$, one from each converter, and (this is key) each with independent, uncorrelated noise. Now your average is

$$\begin{align} s_a&=\frac{s_1[1]+s_2[1]}{2} \\ &=\frac{r[1]+r[1]}{2}+n_a \\ &=r[1]+n_a \end{align}$$

Now you have achieved an actual reduction in noise. You achieved that by sampling the same quantity ($r[1]$) twice, and by making sure the noise samples are uncorrelated (since the noise is produced by two different circuits).

$\endgroup$
  • $\begingroup$ Thanks, your post answers the question "how good is averaging oversampled samples to reduce noise". But my question was more of how to do that in the first place. $\endgroup$ – student1 Mar 14 '15 at 15:26
  • $\begingroup$ @student1 The anti-alias filter is an analog filter before your sampler. The sequence of steps would be: anti-alias filter in the analog domain; sample at 4 times the Nyquist frequency; average your samples in groups of 4. But be mindful that, as hotpaw2 and I tried to point out, the results may not be as good as you could think. $\endgroup$ – MBaz Mar 14 '15 at 17:12
3
$\begingroup$

Averaging is filtering with a rectangular filter kernel, which has a poor frequency response, both in pass band ripple and stop band attenuation, Because of the poor stop band response it won't anti-alias very well. The non-flat passband will distort the final result even if there is no high-frequency spectral content to alias.

$\endgroup$
  • $\begingroup$ So the entry in wikipedia (en.wikipedia.org/wiki/Oversampling) mentioning "noise reduction" by averaging as an advantage to oversampling is not correct then? $\endgroup$ – student1 Mar 13 '15 at 13:24
  • $\begingroup$ Also, I don't understand how the averaging is considered a rectangular filtering? $\endgroup$ – student1 Mar 13 '15 at 13:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.