Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/15/08 18:29
Read: times


 
#154799 - Erm ... not quite true.
Responding to: ???'s previous message
There's no time constant you could ever choose that would inhibit the LSB flickering.

If you apply proper rounding, the LSB will stabilize. Else you could not increase ADC precision by downsampling.

If your LSB keeps flickering, you've messed up the numerics of the calculation.

Ok, what about moving average? We assumed a data rate every 10msec. Moving average would take a handful of bytes in a row, let's say 8, add them together and divide the result by 8. Mostly you do "decimating" and the data rate also decreases by a factor of 8, means you get a new byte every 80msec. Is the LSB flickering removed? No!

Ok, I'll bite.

First set of 8 samples:

   0111 1111
   1000 0000
   0111 1111
   1000 0000
   0111 1111
   1000 0000
   0111 1111
   1000 0000
------------
11 1111 1100

Divide by 8:

   0111 1111


Second set of 8 samples:

   0111 1111
   1000 0000
   0111 1111
   1000 0000
   0111 1111
   1000 0000
   0111 1111
   1000 0000
------------
11 1111 1100

Divide by 8:

   0111 1111


The LSB does not flicker anymore. How should it ? A moving average of 8 samples has a zero as 1/2 the sampling rate. It will completely eliminate the flicker frequency. (oh, and this also works if you don't decimate. None of the output samples will have the LSB flicker, they will all be 0111 1111 if you do not round and 1000 0000 if you do round before the division by 8).

While your programming advice is usually very sound, you could benefit from reading up on digital signal processing.


List of 41 messages in thread
TopicAuthorDate
ADC smoothing assistance...            01/01/70 00:00      
   Low-pass filter            01/01/70 00:00      
      How stabile is your power supply?            01/01/70 00:00      
         Not very, apparently.            01/01/70 00:00      
            Getting better...            01/01/70 00:00      
            To ground            01/01/70 00:00      
            Start by cleaning up the supply ...            01/01/70 00:00      
               Right!            01/01/70 00:00      
            Correction.            01/01/70 00:00      
               Maybe what you need is a low-impedance probe            01/01/70 00:00      
                  Springtime...            01/01/70 00:00      
                     yes, that looks like mine ... sort-of            01/01/70 00:00      
      Still listening...            01/01/70 00:00      
   Digital and Analog            01/01/70 00:00      
   try steady and more than minimum            01/01/70 00:00      
   ahhhhhh...........so its not only me!            01/01/70 00:00      
   is 2 lsb random error close enough?            01/01/70 00:00      
      Thanks...            01/01/70 00:00      
      Yep.....and that IS the final answer......            01/01/70 00:00      
      Don't truncate ...            01/01/70 00:00      
   LSB flickering            01/01/70 00:00      
      Erm ... not quite true.            01/01/70 00:00      
         Specific Case....            01/01/70 00:00      
            Should work in any case ...            01/01/70 00:00      
         Sorry, but you are entirely wrong...            01/01/70 00:00      
            You must know more about the flickering            01/01/70 00:00      
            I shouldn\\\'t post after a long workday ...            01/01/70 00:00      
   I need to chime in on this thread,,,,            01/01/70 00:00      
      throwing away bits            01/01/70 00:00      
      Integrate and Decimate            01/01/70 00:00      
         Here's my code            01/01/70 00:00      
            Where's the integration?            01/01/70 00:00      
         Dropping bits will not prevent flickering...            01/01/70 00:00      
            this confuses the issue            01/01/70 00:00      
               Immanent flickering            01/01/70 00:00      
                  I don't disagree ...            01/01/70 00:00      
                     Precision...            01/01/70 00:00      
   How I solved my Midi Controller LSB Flicker/Flutte            01/01/70 00:00      
      "Slack" same as hystersis            01/01/70 00:00      
         Sorry!            01/01/70 00:00      
      slack            01/01/70 00:00      

Back to Subject List