3
$\begingroup$

I am using an on-chip SAR adc where for some reason I can only get accurate signal reconstruction and filtering when I sample at almost 100 times my desired sampling frequency. Specifically, the minimum working sampling rate right now is 25KHz but the desired sampling rate is 500Hz for a signal with a BW of 0.5-100Hz, therefore I am still slightly oversampling this signal but the 25KHz is clearly overkill.

I want to downsample this signal to that desired sampling frequency to aid in the design and implementation of digital filters in that passband of .5-100Hz. I know a key thing to look out for is aliasing and because of that you should use a digital anti-aliasing filter but is it pretty much the same concept as an analog anti-aliasing filter where I simply lowpass filter the signal bandwidth that I want to reconstruct after sampling? Also are there any other pitfalls/design tips that I should know to be able to implement downsampling in a DSP? Thanks in advance.

$\endgroup$
1
$\begingroup$

The key point is that you remove any signal outside of the final bandwidth before downsampling to avoid aliasing. If you want to do this analog or digitally it doesn't really make a difference technically. From an engineering perspective, digital filtering is typically more economical. As for pitfalls/design tips - if you do use digital filtering keep in mind that you can save CPU cycles by not computing filtered output samples which will ultimately be thrown away by downsampling.

So to conclude, design a 100Hz LPF FIR at the 25kHz sample rate, run the filter on every 50th sample and then throw all but those samples away.

$\endgroup$
  • 1
    $\begingroup$ Yea this will be done digitally. So to clarify for my application I simply want to lowpass filter for 100hz every time i decimate, say decimating 5 times by a factor of 10, 10 times by a factor of 5, or decimating once by a factor of 50? Or would it make sense to increasingly decrease my cutoff frequency for every full decimation iteration to make it easier to design the filters as the sampling frequency decreases? Thanks for the feedback. $\endgroup$ – Jbot2016 Apr 7 '16 at 5:48
1
$\begingroup$

If you're decimating by a factor of 50 then I suggest you decimate in two stages. Lowpass filter with LPF1, decimate by factor D1, next lowpass filter with LPF2, and finally decimate by factor D2. To minimize the total number of multipliers in the two filters, set D1 = 25 and D2 = 2. Decimation factor D1 = 25 will tell you what the cutoff frequency should be for the LPF1 to avoid aliasing after decimation by 25. (Use a halfband filter for LPF2.)

$\endgroup$

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.