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?

  • Hi Brian,

    In the config example below, the GPIO2 outputs the timeslot A LED pulse. The respiration is measured at IN7 and IN8. The circuit I posted previously serves as a reference design. The Rs-Cs-Rs is for ECG measurement. You can either keep it or remove it.

    Regards,

    Glen B.

    ******************

    Config example:

    #ADPD410x Respiration Measurement Example: GPIO2 stimulation (LED pulses), IN7&IN8 receiving
    0009 0080 # 32MHz trim
    000B 02F2 # 1MHz trim
    000D 0D05 # Sampling rate
    000F 0006 # 1MHz osc
    0010 0200 # Timeslot A
    0020 0002 # Float input 3&4, 5&6, 7&8 during sleep
    0021 000E # IN7/IN8 (impedance) configured as a differential pair
    0022 0083 # gpio0 out invert, gpio2 output normal
    0023 0002 # gpio0 int x
    0024 0030 # GPIO2 = timeslot A LED pulse,
    0014 8000 # FIFO to int x

    # Slots config
    ### Timeslot A - Respiration measurement ###
    ### IN7 and IN8 as differential pair ###
    0100 0000 # Input resistor 500 ohms 0000, 6.25k ohms 0400
    0101 40E6 # 8us preconditioning, No bpf
    0102 7000 # IN7&IN8 differential pair to CH 1
    0103 5000 # precon diff pair to TIA_VREF, no pulsing VCx
    0104 0280 # TIA gain, 200k, Vref = 0.88V
    0105 0000 # LEDs off
    0106 0000 # LEDs off
    0107 0140 # 64 pulses
    0108 0014 # Cont TIA, pulse period 20us
    0109 0310 # LED width, offset
    010A 0004 # Int width
    010B 0180 # Integrator timing offset 12us for ProSim8
    010C 0000 # Mod pulse width, mod offset
    010D 0099 # Chop
    0118 000F # Swap the input polarity to make it positive
    010E 0000
    010F 0000
    0110 0003 # 3 bytes sig

  • This is perfect - thanks, Glen! This really helped.

  • Hello Glen, do you mind explaining the theory of operation a bit here? From what I can tell, the excitation current waveform is a periodic pulse with a width of 3us and period of 20us. How should impedance be accurately extracted from the measured voltage response? Do you have any equations for this? Some background information and an explanation of the theory of operation would be much appreciated!

  • Hi Brian,

    The RC circuit (GPIO2-10k-1nF-electrodes/body-1nF-10k-GND) serves as a voltage divider. The 1nF coupling capacitors are for sharing electrodes with ECG. If you measure only the respiration, the 1bF capacitors are not needed.

    During respiration cycle, the body impedance changes and so does the voltage across the body/electrodes. This voltage signal is measured by the ADPD4100 where the current limiting resistors are optimized to allow appropriate current input to the TIA.  

    The exact waveform of the differential voltage can be complicated due to variations in human subject and the skin-electrode interface, although it can be simulated with simulator such as LTSpice to incorporate the decoupling capacitors, body impedance and the skin-electrode interface model. 

    The first order of approximation of the body impedance can be calculated from the ADC output as below:

     

    Regards,

    Glen B.

  • 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. 

Reply
  • 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. 

Children