FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 06-09-2009, 06:26 AM
Roy
Guest
 
Posts: n/a
Default Design of anti-alias filter for ADC, with oversampling and averaging

Hi,

I am trying to design proper anti-aliasing filters for a new hobby
project (digital control of a quad-rotor flying robot - see previous
post for more questions). Here are the specifics:

* My sensors are analog MEMS accelerometers and gyroscopes. I'll have
at least 6 sensors to process, at least initially.
* I will be using a microcontroller with 10-12 bit built-in ADCs to
process the sensor data (and implement the control loops)
* I'd like to keep part counts and costs to a minimum (of course)
* I'd like to employ oversampling so I can make use of an analog anti-
alias filter with a (relatively) low number of poles
* I'll need to implement a digital filter + decimation to get down to
the desired sample rate
* I'd like to average the samples (prior to the digital filter?
although the averager is itself a digital filter) to improve the
effective number of bits of resolution.

So, here are my questions:
* Can anyone recommend a good references for such a design, combining
these elements?
* How important is it to use a Bessel filter (linear phase) vs
butterworth (flat passband response) in the analog filter stage?
* What kinds of filter-on-a-chip IC packages exist out there? I think
I'd prefer a switched capacitor or other easily varied type of
configuration (so I can make certain filter changes without altering
hardware)
* Are there any microcontrollers that automate the sampling and
digital filtering processing, with minimal direct intervention? It
looks as if the Luminary Micro ARM line has some hardware sample
averaging capability, for example, but it is not clear if it can
handle 6 simultaneous analog channels.

Thanks in advance
Roy
Reply With Quote
  #2 (permalink)  
Old 06-09-2009, 07:06 AM
Tim Wescott
Guest
 
Posts: n/a
Default Re: Design of anti-alias filter for ADC, with oversampling andaveraging

On Mon, 08 Jun 2009 21:26:36 -0700, Roy wrote:

> Hi,
>
> I am trying to design proper anti-aliasing filters for a new hobby
> project (digital control of a quad-rotor flying robot - see previous
> post for more questions). Here are the specifics:
>
> * My sensors are analog MEMS accelerometers and gyroscopes. I'll have
> at least 6 sensors to process, at least initially. * I will be using a
> microcontroller with 10-12 bit built-in ADCs to process the sensor data
> (and implement the control loops) * I'd like to keep part counts and
> costs to a minimum (of course) * I'd like to employ oversampling so I
> can make use of an analog anti- alias filter with a (relatively) low
> number of poles * I'll need to implement a digital filter + decimation
> to get down to the desired sample rate
> * I'd like to average the samples (prior to the digital filter? although
> the averager is itself a digital filter) to improve the effective number
> of bits of resolution.
>
> So, here are my questions:
> * Can anyone recommend a good references for such a design, combining
> these elements?
> * How important is it to use a Bessel filter (linear phase) vs
> butterworth (flat passband response) in the analog filter stage? * What
> kinds of filter-on-a-chip IC packages exist out there? I think I'd
> prefer a switched capacitor or other easily varied type of configuration
> (so I can make certain filter changes without altering hardware)
> * Are there any microcontrollers that automate the sampling and digital
> filtering processing, with minimal direct intervention? It looks as if
> the Luminary Micro ARM line has some hardware sample averaging
> capability, for example, but it is not clear if it can handle 6
> simultaneous analog channels.
>

Here is a block diagram of my recommended anti-alias filter for 95% of
all digital control loops out there:

_____
| |
---->| 1 |----->
|_____|

IOW, don't do it. The only time you need an anti-aliasing filter is if
you have lots of noise at close to your sampling rate. Otherwise, the
most significant contribution that an anti-alias filter can have in a
closed loop is excessive phase delay.

Having said that, usually when I have the chance I'll oversample the ADC,
and hand the controller the sum of the ADC samples in the interval
leading up to the controller sample interval. I.e., if I'm sampling the
controller at 500Hz, I may sample the ADC at 8000Hz and deliver the sum
of the last 16 ADC samples to the controller. This knocks down the ADC
noise nicely, and makes a comb filter for any external signal that wants
to interfere with my loop. It does add delay, but the delay is minimal
for those frequencies that would alias down into my loop.

--
www.wescottdesign.com
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Anti-Aliasing filter orien1202 DSP 7 07-17-2008 05:42 PM
filter and downsampling vs averaging peterbone DSP 13 11-17-2006 12:00 AM
Examples of Anti-Anti-Alias Requirements Tim Wescott DSP 39 09-28-2006 10:37 PM
Anti-Aliasing filter naebad DSP 21 08-26-2005 03:56 PM
Help Understanding - Decimation, Anti-Alias and Accuracy ! Sascha DSP 1 12-17-2003 08:30 PM


All times are GMT +1. The time now is 08:27 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved