[sdiy] Digital filtering (Oversampling and downsampling)

Ingo Debus igg.debus at t-online.de
Mon Aug 3 21:23:27 CEST 2009


Am 03.08.2009 um 18:38 schrieb Ben Lincoln:

> On Mon, August 3, 2009 8:59 am, Tom Wiltshire wrote:
>
>> The final part of an oversampling system is to reduce the internal
>> sample rate for output. This is done by applying a digital filter to
>> remove any unwanted high frequency content (remember that a signal
>> with a sample rate of 384KHz could have frequencies up to 192KHz) and
>> then chucking away most of the samples (7 out of 8 to get from 384 to
>> 48KHz).
>
> Wouldn't you want to take the average (or median, which would be  
> faster to
> compute) for best results?

No. Averaging can be viewed as a FIR lowpass filter, with all filter  
coefficients being same. That's not a good lowpass filter. You can  
achieve much better FIR lowpass filters with smarter chosen  
coefficients.
What we really need here is just a good lowpass filter.


> As opposed to just taking every 8th sample
> as-is, I mean. Maybe that's what you meant and I misread it.

No, no, we're not not taking every 8th sample as-is, this would make  
the whole oversampling thing pointless (why generate all the samples  
if they are chucked away anyway?). We're taking every 8th sample of  
the filter's output. The filter's input is still fed with all the  
samples. In reality, we're only calculating every 8th filter output  
sample, but all filter input samples are used.

Ingo



More information about the Synth-diy mailing list