As you all probably know, the Ardupilot/ArduIMU uses ADC oversampling to achieve greater than 10 bit resolution of the internal ADC. I beleive they achieved alomost 12 bit resolution- not bad, I'd say.When I discovered this, I started using that approach to increase the resolution of cheap ADC's at my work, saving but loads of $ in the process.
Anyway to any curious parties interested, here is a good article that decribes how its done and why.
@Nathan
Cool!Could but could you elaborate on how an increased resolution helps mitigate gyro drift?
I am not sure this is that simple. you have to be careful with that method and understand what you really get. oversampling and doing some kind averaging ( average, median, geometric average...) will help reduce the average error due to noise, it will not increase the accuracy of each sample because in presence of white noise you can be "unlucky" on one individual sample. in addition that technique works better with "slow" signal ( far from the nyquist frequency). a simple example: if your signal is an amplitude A sinus at a frequency close to nyquist a non oversampled signal will give you all the values between -A and A, but if you oversample a lot the resulting "samples" will be between -A/2 and A/2 more or less, so the error will be far bigger with the oversampling. and of course there are also other problems that are not covered here like the non linearity of the code or the impact of the jitter on the sampling clock...
So in the right environment and with the understanding of the limits of the method, oversampling and averaging will on average eliminate some noise, but if you want for example to measure a temperature with a 16 bits real accuracy do not think that averaging 64K samples from a cheap 8 bit ADC will do the trick...
my 2 cents
God Likar,
I can't see why it should produce lag. The sample frequency is increased in a way that when it normaly would do one sample, it takes four and avarages the values. This shouldn't take more time if the clock frequency of the ADC is increased properly.
@Fokko,
In esence, the software averaging is acting as a low pass filter, and so the frequency response will be biased low.
45 members
1472 members
282 members
470 members
57 members
© 2019 Created by Chris Anderson.
Powered by
You need to be a member of DIY Drones to add comments!
Join DIY Drones