1

I would like to generate stable volts from 0 to 5 and to minimize Gibbs phenomenon without losing measurement data. I get much sudden peaks in Raspberry Pi 1/2 which I can control by adding low-pass and/or high-pass filters after Raspberry but this is losing too much measurement data. These peaks correspond to Gibbs phenomenon and they are not because of a wiring problem and not because of Nyquist frequency.

Devices

I can detect the phenomenon with the sampling rates 500 MHz and 200 MHz by having the signal from Raspberry Pi 1/2 with standard ADCs (testing next week with a set of other ADCs). Here some pictures from 354 and 322 LeCroy Oscilloscopes (cheap) with 500 MHz and 200 MHz respectively when sigma delta ADC:

enter image description here

enter image description here

To increase the rate cannot minimize the source of the phenomenon. Processing of the data does not affect the creation of the event.

ADCs

I want to affect the formation of this event by affecting the ADC converter. The default converters of Raspberry cause much such an event. One thread about some basics.

Some ADCs

  • sigma delta ADCs, review here
  • non-sigma delta ADCs: MCP3008 (10 bit, 200 kHz), ADS1113 (16 bit, 860 Hz)
  • I2C: PCF8591 discussed here
  • ADS1113/4/5 (can be a good ones)

There must be better precision ADC converters. Better options

  • SAR (Successive Approximation) ADCs

Frequency and precision

I cannot give any answer about the frequency because it is determined by the internals of Raspberry Pi 1/2 where the limiting components are most likely ADCs. Low-pass filter works but it loses quite much data. Probably, the precision of 12 bits is ok.

Which precision ADC converters are good for Raspberry Pi in minimizing the sudden peaks?

  • 2
    I don't understand the problem. What are these sudden peaks? It's hardly an ADC problem if it correctly detects sudden peaks. What you describe sounds like a wiring problem. Could you explain what you are trying to measure, at what rate and precision? – joan Jul 22 '15 at 09:38
  • Answered your questions in the body. – Léo Léopold Hertz 준영 Jul 22 '15 at 09:47
  • I'm afraid I still don't understand the problem. You can buy 10, 12, 14, 16 bit precision ADC reasonably inexpensively. They can sample in the 100 thousand samples per second region. This is the first time I've seen the Gibbs phenomena posted as a problem. – joan Jul 22 '15 at 10:16
  • I guess you will have to resort to software solution - I am trying to solve it with averaging over quick burst of samples. – Boštjan Jerko Jul 22 '15 at 13:29
  • @BoštjanJerko Can you clarify what you mean by averaging over quick burst of samples, please. I am trying to make an electronic approach to decrease the amount of the event. – Léo Léopold Hertz 준영 Jul 22 '15 at 13:31
  • I'm thinking of doing e.g. 10 samples in short time and trying to approximate if values are in expected range. Or maybe just remove suspicious values (with suspicious difference). Not a bulletproof solution, though. – Boštjan Jerko Jul 22 '15 at 13:42
  • 1
    @Masi A quick google suggests that sigma delta ADCs suffer from Gibbs phenomenom. SAR ADCs should be okay. You have presented no evidence that Gibbs phenomenom is actually what you are seeing. What ADC are you using? What are you sampling? How fast are you sampling? How are you processing the data? Is this just a theoretical exercice? – joan Jul 23 '15 at 09:45
  • @joan I added answers to the body of the question. Can you give some examples of good SAR ADCs, please. Any good sigma delta ADCs which can avoid this? Any source for your claims about SAR ADCs? – Léo Léopold Hertz 준영 Jul 23 '15 at 09:56
  • 1
    To recommend an ADC, we need to know the sample rate you need, or the frequencies of the signal you are interested in. Is precision/number of bits important? Anyway, my feeling is that you should low-pass filter the signal before the ADC. – Frepa Jul 23 '15 at 13:01
  • @Frepa I cannot give any answer about the frequency because it is determined by the internals of Raspberry Pi 2. I want to generate stable volts variable from 0 to 5 without losing data. Low-pass filter works but it loses quite much data. Probably, the precision of 12 bits is ok. – Léo Léopold Hertz 준영 Jul 23 '15 at 14:54
  • @Masi, if you could explain more about what you're trying to achieve, it would perhaps be easier to answer. About filtering, if your sample rate is f, you can basically distinguish frequencies up to f/2, see Nyqvist's theorem. Higher frequencies will alias to some frequency within that range. So you loose the high frequency information if you don't sample fast enough and not by the filtering. You will probably be better off if you low-pass filter the signal to match the sample rate. – Frepa Jul 26 '15 at 12:08
  • @frepa Nyquist frequency is a different story. This thread is about Gibbs phenomenon by math/electronics. – Léo Léopold Hertz 준영 Jul 26 '15 at 12:12
  • 1
    True @Masi, Nyqvist is maybe not so relevant, but I think filtering might be. Apparently, sigma-delta ADC:s suffer from overshoot when sampling signals with fast edges. That document proposes to use a filter with a smooth cutoff when you're interested in the time-domain, to minimize overshoot. But then you of course will not see very sharp pulse edges either. Or indeed use a different, non-sigma-delta ADC. MCP3008 (10 bit, 200 kHz) is often mentioned on this site, ADS1113(16 bit, 860 Hz) is probably good if fast enough for you – Frepa Jul 26 '15 at 13:37
  • @Frepa I need some indicator which is about the natural event so you could compare different methods. The non-sigma delta chip fits Gaussian on the signal but you will lose quite much data with that. Here a thread about how to remove black colour from the signal http://stackoverflow.com/a/29801499/54964 – Léo Léopold Hertz 준영 Jul 26 '15 at 14:20

0 Answers0