This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Input referred noise from gaussian distribution

Other Parts Discussed in Thread: ADS1298

Hello! I'm trying to get the input referred noise from the histogram of the samples given by the ADS1298 when you join  one channel with the reference and the DRL.

I have got this distribution, it is quite odd..Where could be the problem?

Thank you very much.

  • Hey Al,

    My theory is that you are observing a statistical anomaly associated with quantization. An ADC quantizes voltages into predefined equally spaced discrete values. That means that the output voltages can only be N*LSB voltage where N is an integer and there are no output codes at 3/2 * LSB or 13/25 * LSB, etc.

    Now imagine you wanted to create a probability distribution where you put output codes in bins much like you have done above. Imagine the width of the bins just so happened to be approximately 1.5*LSB. In that case, some bins would hold two digital codes, and others would hold just one. Then, when the distribution of truly Gaussuan noise is plotted, it would appear that some bins had twice as much probability density as their neighbors, even with a large number of samples.

    How should this be remedied? You can ensure that each bin in the histogram holds the same number of codes OR you can make the bins large enough where a one code mismatch does not distort the plot much. A similar approach to the latter is the red line that is drawn on your plot which I imagine is the 3 or 4 bin running average.

    Regards,
    Brian Pisani
  • Hello Brian!
    Thank you for your time!
    I have a problem, I´m using the exact number of different bins that I have. And when I divide this different values by the LSB, the result is an integer value.

    I have used "unique(s)" function in MATLAB, which give me a vector with the diferent values of the vector "s".
    ans =
    1.0e-05 *
    -0.5293
    -0.5221
    -0.5198 ...
    If I divide these values by the LSB and I get integer values!!
    >> unique(s)/LSB
    ans =
    -222.0000
    -219.0000
    -218.0000

    Therefore, all the different values I have obtained are n*LSB. and "n" is an integer.
    When I plot the histogram, I plot it with a number of bins equal to the number of different values I have obtained from the ADS1298.
    Where could be the problem?
    Thank you very much Brian!

    Best regards
  • Hey Al,

    I believe I was not clear with what I said in my last post. Your data points will always be integer multiples of the LSB size. My contention was that the bin width may not be an integer multiple of the LSB size. Is this the case?

    Brian
  • Helo Brian! Thanks for your help!

    Sorry, now I understand... It was a problem  with the width. I have  programmed  " my own histogram function" with a with of 1 LSB and this is what I have obtained.

    It seems to be working  better. What do you think?

    A peak appears , Should I consider it a hardware design problem?

    Thank you very much Brian!

  • Hey Al,

    Collect more data and check the distribution a few times to see if that peak persists. However, that distribution looks pretty clean.

    Regards,
    Brian Pisani