Issues connecting optical Pulse Sensor to Ganglion Analog input

edited March 2023 in Ganglion

I am trying to get a reading of an optical pulse sensor as linked below:
https://www.adafruit.com/product/1093
The signal out from the sensor is showing the pulse when seen from the oscilloscope.
Its in the 200mV range ( as measured on oscilloscope ). Now this signal is filtered to remove its DC component and just the pulse signal remains.
This is fed to a potential divider to get it into the microVolts range required by Ganglion.
The signal as seen from oscilloscope at the point it is connected to Ganglion input channel:
https://www.linkpicture.com/q/PulseSignal.png
Signal as seen from OpenBCI console:
https://www.linkpicture.com/q/Screenshot-from-2023-03-30-15-47-39.png
Any thoughts on why this is happening and how this can be fixed would be appreciated ?

Regards
Sachin

Comments

  • wjcroftwjcroft Mount Shasta, CA

    Sachin, hi.

    It looks from the GUI snapshot, that your signal is still quite large, several thousand microvolts, or a few millivolts. And the o-scope image shows it has a very fast rise time. I'd suggest adjusting your voltage divider so that the peaks are say in the 100 microvolt range.

    Ganglion uses an unusual data stream compression scheme, and this might be confusing the algorithm. More details here:

    https://docs.openbci.com/Ganglion/GanglionDataFormat/

    William

  • edited March 2023

    Hi William,
    After adjusting the potential divider to reduce the voltages further down, to get it in range of <1000uV,
    Can see the pulse signal,

    It is noisy ( compared to the scope signal) and there is a DC offset which keeps the signal floating around,
    At times I hit the quantization error if the signal changes too fast. Found its important to get the right balance between lowering the signal before the signal to noise ratio gets bad and also not too high where the Quantization of the sampling algorithm starts to show up.
    Thanks for your help.
    Regards
    Sachin

  • wjcroftwjcroft Mount Shasta, CA

    re: voltage range

    I did say to try to get below 100 uV, not 1000 uV? The amplitude and sharp rise time is messing up compression algorithm, which normally just deals with EEG or ECG or EMG. ECG and EMG ARE in the mV range, but likely lack what is triggering the compression issue in your case.

    re: SNR

    You could try using shielded audio cable between the divider resistor output and the Ganglion input. Just a guess.

  • edited April 2023

    Hi William,
    Had some trouble getting good signal quality ( with shielded cables ) etc, noise was an issue.
    Worked on coding up an ESP32 chip with ADS1115 adc and got it recognized as a Cyton Wifiboard on openBci,
    (The adc had a 16bit output only, so had to fit it in the 24bit sample size needed for cyton.)
    That worked pretty well, bandwidth was not an issue and the signal could be sampled without having to drop it to microvolts,
    The results look decent.

    Regards
    Sachin

Sign In or Register to comment.