This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE4490: Help about calculation SpO2

Part Number: AFE4490

Hi everyone,

I use AFE4490 chip for SpO2 monitor, my setup for registers are according to AFE4490 datasheet Table2, and

CONTROL1, 0x000100 // Timers ON, no-average
TIAGAIN, 0x00C000 // 5 pF ,500K,  Stage 2 is enabled with the gain value specified by the STG2GAIN1[2:0] bits , 000 = 0 dB, or linear gain of 1
TIA_AMB_GAIN, 0x064200 // Stage 2 is enabled with the gain value specified by the STG2GAIN1[2:0] bits, 010 = 6 dB, or linear gain of 2 , 0110 = 6 µA
LEDCNTRL, 0x013838 // LED_RANGE = 01 50mA, LEDs curent ~10mA po primer od simulator
CONTROL2, 0x020000 // 01 = 0.5-V Tx reference voltage for 3.3V supply
CONTROL0, 0x000001 // enable SPI read mode

I read LED2VAL and LED1VAL reg on ADC_DRDY interrupt, colect 1024 values in array. I read 7612.Calculation of SpO2 using PPG signals.pdf from your post "Estimation of SpO2 using PPG signals".

When I calculate ir_ac, red_ac, ir_dc and red_dc, I use this equivalation for SpO2 cal: SpO2 = 110 - 25* R where R = (red_ac/red_dc) / (ir_ac/ir_dc) Am I right ? I got wrong %, can you please help me how to estimate/ calculate true value?

Best regards,

Aleksandar

  • Hi Aleksandar,

    Could you please let us the values of ir_ac, red_ac, ir_dc and red_dc.?
    Also how are you saying the calculated values is wrong. Do you have some data to compare with?

    Regards,
    Prabin
  • I collected 1024 samples from the sensor. Then red_dc is calculated as average value from the read samples LED2VAL reg (0x2A), ir_dc as average value from read samples LED1VAL reg (0x2C). Then I calculate differention between every sample and red_dc/ir_dc (example: dif_red_dc = led2values[i] - red_dc), after that I calculated power of differentiation (pow_dif_red = pow(dif_red_dc, 2)), I sum all ac components red_ac_sum = pow_dif_red/i, red_ac = red_ac_sum / 1024 ir_ac = ir_ac_sum / 1024. I got values above 100%, I have another SpO2 device for comparation. (SpO2 device show 97%, my device show 106%)

    Thanks, Prabin, I appreciate your time.
  • Am I correct in estimation of dc and ac components from raw PPG signal?
  • Hello Aleksandar,
    the internatonal standard ISO80601-2-61 describes how to derive pulseoximetry parameters from time dependant intensity measurements for several wavelength. For example Annex FF: "How is Pulse Oximetry Equipment" calibrated presently?".

    regards,
    Marcus Schwenk (Philips Medical Systems, Development Basic Measurements)