Post Go back to editing

ADPD4100 Respiration Rate Monitoring

The ADPD4100 is listed as a featured product for Respiration Rate Monitoring on the following Analog Devices website:

https://www.analog.com/en/applications/markets/healthcare-pavilion-home/vital-signs-measurement/respiration-measurement.html

However, I cannot find much other information about how to perform respiration monitoring with the ADPD4100 on the Analog Devices website or elsewhere. 

Can I please get some guidance?

Are components besides the ADPD4100 needed for respiration rate monitoring? Is the AD5933 (which is also listed as a featured product) needed?

Are there any examples or figures for the circuits / programming needed available?

-Brian

Parents
  • Hi Brian,

    The ADPD4100 respiration measurement is based on impedance change of the chest during the respiration cycles.  A reference circuit can be found in Figure 5(a) in this article Multiparameter Vital Signs Monitoring Is Easier Than Ever Before | Analog Devices. In this circuit, the excitation is from GPIO2 and excitation current is applied to the body through the RC circuit (GPIO2-10k-1nF-electrodes/body-1nF-10k-GND). IN7 and IN8 form a differential pair to measure the voltage across the two electrodes (body). 

    The components needed for this design are the resistors and capacitors to form a path from the GPIO to ground for applying the excitation to the body.

    Regards,

    Glen B.

  • Thanks for the information, Glen!

    Follow up question - there are many options to select from for GPIO pin output (snippet of options for GPIOOUT1, ADPD4100 datasheet pg 87, shown below). Which of them would be used for respiration rate?

  • Thanks! However, it is still not clear to me why a pulse is used as the excitation waveform. All the literature that I've found on pulse-based impedance measurements are related to wide-band impedance spectroscopy which requires FFT analysis. Is this true for the example you've provided, Glen?

  • Hi Brian,

    Subcutaneous fat is typically modeled as a capacitor (or a capacitor in parallel with a big resistor). Depending of the electrodes of choice, the skin-electrode interface has both resistive and capacitive components. To be able to stimulate the deep tissue, pulse as excitation waveform is easy to implement. For the impedance spectroscopy technology, the FFT analysis gives complete information -  the amplitude and the phase information of the data. Hence you can separate the resistive component and capacitive component. For FFT analysis, you would need an ASIC with the FFT engine (such as the AD5940 from ADI) or run the FFT as data processing.

    The example we provided doesn't require FFT. It can achieve decent respiration measurement though.

    Regards,

    Glen B.

  • Hi Glen,

    Hope you're doing well. Thanks for the sample config you posted. We tried out the sample config and reference circuit you've posted above for respiration rate (side note: we didn't include the circuit for ECG since you mentioned we can keep it or remove it). We tried this on EVAL-ADPD4100Z-PPG and EVAL-ADPDUCZ, but are facing issues and wanted your help.

    When we use the above config, nothing shows up on the graph on the Wavetool application and we also get an error when we press the stop sign (screenshots attached).

    After some debugging, we found that when we changed the 0x0107 register for pulse to a value below 64, a straight line appears on the graph. However, no changes show up on the line - it's just a straight line.

    What can the issue be? How can we get the correct respiratory rate?

    Thanks!

  • Hello -

    The EVAL-ADPD4100Z-PPG does not have the circuit for the respiration measurement. How did you modify your board to implement the respiration circuit? In the refer circuit and the example config, the IN7/IN8 pair are for bioimpedance-based respiration. If you use different input pair, the config needs to be changed as well.

    The register 0x0107 is for number of pulses as the SNR of the measurement is proportional to the square root of the number of pulses. The number of pulses should not be the source of the error you have.

    Regards,

    Glen B.

  • Hello Glen,

    Thank you for your quick response. I used the following circuit for sensing bioimpedance-based respiration. The passive components - R1, R2, R3, R4, C1, and C2 - and the electrodes are external to the EVAL-ADPD4100Z board.

    What kind of changes will I have to make to the config you provided above for the correct respiration sensing? My understanding is that, with the external circuitry and the appropriate config, bioimpedance-based respiration sensing should work with EVAL-ADPD4100Z. Is my understanding wrong?

    Thank you again!

  • Hello - 

    Some of the test points on the EVAL-ADPD4100Z-PPG board are not the pins of the ADPD4100 part. Please check Figure 11 on page. 8 of the EVAL-ADPD4100Z-PPG user guide

    EVAL-ADPD4100Z-PPG (Rev. 0) (analog.com)

    The test points IN7 and IN8 on the EVAL-ADPD4100Z-PPG is for connecting ECG electrodes with ECG circuit is already populated on the board. In addition, GPIO2 on the board is for control of ADXL362. Test point GPIO3 is the only one from the ADPD4100 pin. You would need to modify the board accordingly.

    Regards,

    Glen B. 

  • Thank you for the detailed response, Glen. I appreciate it very much.

    From the schematic, it looks feasible to use the IN3/IN4 differential pair along with GPIO3 for pulse generation.

    By modifying the board, do you mean adjusting the config or performing hardware modifications as well? Are there any recommended resources for modifying the board?

    Thank you!

  • The EVAL-ADPD4100Z-PPG was designed for customer evaluation of PPG and ECG, although ADPD4100 can be used for many more applications. Most of our customers have in-house technicians who can change or remove components from the board. Customers typically make their own boards.

    IN3/IN4 and GPIO3 are good choice for your test. Yes, you need to adjust the config file accordingly so that it works with the hardware.

    Regards,

    Glen B. 

  • Oh, I see. Thank you very much for your help and providing us with valuable information, Glen!

  • Hi Glen,

    I hope you're doing well. Thank you again for sharing this configuration. I am trying to do respiration measurements using the EVAL-ADPD4101-ARDZ board and I replicated this circuit for the IN7/IN8 differential pair.

    As I understand, this config is probably derived from the experiment mentioned in your article https://www.analog.com/en/analog-dialogue/articles/multiparameter-vital-signs-monitoring-easier-than-ever-before.html where synchronous ECG, PPG, and respiration measurements are done. Thank you for the informative article, btw. I noticed that the timeslot setting for register address 0x0010 is enabling timeslots A, B, and C. But if we're only measuring respiration, then we need to enable only timeslot A, right? Hence, the register value should be 0x0000 instead of 0x2000. Please correct me if my understanding is wrong.

    Can you also briefly explain why the input pairs 3&4, 5&6, and 7&8 need to float during sleep?

    Lastly, is there any reference for the approximation formula of the body impedance calculated from the ADC? I would love to learn more about the derivation and physical model behind this formula.

    I would appreciate any help from you. Thanks in advance!

Reply
  • Hi Glen,

    I hope you're doing well. Thank you again for sharing this configuration. I am trying to do respiration measurements using the EVAL-ADPD4101-ARDZ board and I replicated this circuit for the IN7/IN8 differential pair.

    As I understand, this config is probably derived from the experiment mentioned in your article https://www.analog.com/en/analog-dialogue/articles/multiparameter-vital-signs-monitoring-easier-than-ever-before.html where synchronous ECG, PPG, and respiration measurements are done. Thank you for the informative article, btw. I noticed that the timeslot setting for register address 0x0010 is enabling timeslots A, B, and C. But if we're only measuring respiration, then we need to enable only timeslot A, right? Hence, the register value should be 0x0000 instead of 0x2000. Please correct me if my understanding is wrong.

    Can you also briefly explain why the input pairs 3&4, 5&6, and 7&8 need to float during sleep?

    Lastly, is there any reference for the approximation formula of the body impedance calculated from the ADC? I would love to learn more about the derivation and physical model behind this formula.

    I would appreciate any help from you. Thanks in advance!

Children
No Data