Post Go back to editing

How to remove noise from PPG waveform in ADPD105 EVALUATION BOARD?


I am using EVALUATION BOARD ADPD105 with openmarket wavetool utility to observe the PPG waveform. So the issues I am facing are:-

1). The PPG waveform baseline is not stable. How to stabilise this?

2). The noise problem is there in PPG waveform,the waveform peaks are very sharp. So suggest solution for this.

  • Hi,


    That part is old. We recommend ADPD1080 or ADPD4100. ADPD1080 is our cost efficient solution and ADPD4100 is our higher end, high SNR, power efficient solution. Also, if you require 90+ dB DC SNR, you have to use ADPD4100.


    1. The PPG baseline could move because of various reasons but most likely due to motion and ambient light changes. Typically, customers do post-processing on the raw data (note that what you’re using is not a final product but an evaluation platform). The part itself only measures the reflected (or transmitted) signal, so if the number of photons hitting the photodiode changes for some reason(motion, ambient light level changes, temperature, shifts in board placement such as pressure on skin, etc), the DC part (and sometimes even AC) of PPG signal drifts as an obvious consequence. The customers use various filters to eliminate/reduce that drift, or the mechanical system design should be done carefully. You need to explain further if you see something else.
    2. May I ask why you’re using such long LED pulses? Ideally, you should not use the settings you’re currently using. For the best PPG performance, please stick to the recommendations on Page 26 of the datasheet and the Table 18 on that page. Using longer LED pulses makes the system prone to ambient light issue, the main aspect of this IC is to use shorter pulses to suppress/reject ambient light. Also, you need to check whether you set all the other settings right. Especially TIA BIAS voltage and cathode voltage could be critical in reducing noise. It could be a linear dynamic range issue here as well. You need to check whether you are in safe, linear region. When you reduce the LED currents, what do you see?


    Best regards,


  • Hi, Mr. Yigit

    First of all thank you for your reply. I would like to mention what you have replied above is very true.

    the best PPG performance, please stick to the recommendations on Page 26 of the datasheet and the Table 18 on that page.

    I have used these settings and it works fine. But the main question here is what if two LED's are connected externally as attached in following image. For such connections shown I am using LONG LED pulses, at short LED pulses there is lot of distortion. I request you to please go through following connection diagram.

  • Some notes before your question:

    I still suggest you to use ADPD1080 or ADPD4100. Keep in mind that we are not recommending ADPD105 for new designs

    Okay, I see. It sounds like the need to use longer pulses comes from slow PD response time. If you are good with your photodiode selection, then it's okay to use longer pulses, but longer pulses typically mean that you will see the effect of ambient light more, so any noise due to ambient light will be seen at the output. 

    Also, you could increase LED offset a bit (of course TIA offset should be increased at the same amount). 25 us of LED offset is a typical number. 

    Long wires typically add noise, so if you have some long ones, you may want to shorten them. Also, as you know, this is an evaluation platform. So, if you happen to design your own board, please keep the LED driver circuitry that you have here on the same board as ADPD105. 

    Coming back to your question:

    We recommend you to use bypass capacitors from LED supply voltage to the ground. 

    May I ask you why you use this circuitry to supply voltage to LEDs, instead of just a simple resistive circuit? If you need to reduce the forward voltage on LEDs, you could simply use a resistor with a carefully chosen resistor value to supply enough and safe forward voltage on LED. This could be a less noisy solution if used along with a bypass cap addition. This circuit is a bit overcomplicated circuit for such a simple application.

  • Hi Sir,

    As you have asked about the purpose of the circuitry I have used, so this circuit is used to derive the two anti parallel connected LED's as you can check from the connection diagram attached above. So mainly this circuit is performing switching action on LED's. During time slot A one transistor and one of LED is ON. In another time slot second transistor and second LED will turn ON. That's why I have used this circuit to drive anti parallel connected LED's. 

  • But the ADPD105 can do that switching by itself. When you shut down one LED driver, no LED power regarding that LED is consumed in that timeslot. You don't have to switch by transistors, it's unnecessary and could add noise.

    What I recommend is such:

    Separate the two LED from each other. Tie them to the same supply voltage. Depending on the forward voltage requirement of your LEDs, either use one resistor or two separate resistors. Let ADPD105 do the switching by itself. There are registers for that. Please check page 52 and onwards for relevant LED driver register settings.  

    The below screenshot is taken from ADPD4100 eval board schematic(Therefore, there are 1A,1B,2A, 2B, 3A, 3B, 4A, 4B drivers) but it shows you what I mean. That 0.5 ohm resistor is there for current measurement(so 0 ohm is actually fine), but you may have to use a larger resistor if you want some voltage drop on the resistor. As you know, the forward voltage on the LED is:

    Vf = Vsupply - I(led)*R, where Vsupply is the LED supply voltage and I(led) is the LED driver current set by ADPD105 in your case. Therefore, by tuning the LED current and/or resistor, you can set the forward voltage on an LED.