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.

AFE4403: Meaning of the DC signal in the AFE44xx series.

Part Number: AFE4403
Other Parts Discussed in Thread: CC3220SF-LAUNCHXL,

Hi, I use CC3220SF-LAUNCHXL and a custom AFE4403 module that uses the SPH7050.

I have read about TI's SLAA655 and TIDU124 note.

In the note, it says that

- The pulsatile part of the PPG signal is considered as the “AC” component, and the non- pulsatile part, resulting mainly from the venous blood, skin and tissue, is referred to as the “DC” component.  

- Cardiac-synchronized AC signal is approximately 1% of the DC level.

- R = (ACrms of Red / DC of Red) / (ACrms of IR / DC of IR)

- This document does not go into the details of the SpO2 calculation,

The definition of "DC component" is understood. However, the "DC of IR" or "DC of Red" is not.

I'm currently reading LED2VAL, ALED2VAL, LED1VAL, ALED1VAL, LED2-ALED2VAL, LED1-ALED1VAL registers after configuring the PRF as 500 Hz and 25% duty cycle.

I'm reading each register 256 times before calculating the SpO2, so 256 samples are buffered in an array.

1. What is it meant by "DC of IR" or "DC or Red"? Also, how can I calculate that DC value after storing 256 samples? Just average 256 samples to calculate the DC value?

2. Lastly, if the ratio formula only asks for Red/IR LED's modulation ratio, R = (AC RMS of RED / DC of RED) / (AC RMS of IR / DC of IR),

is it unnecessary to read ALED2VAL, ALED2VAL, LED2-ALED2VAL, and LED1-ALED1VAL registers?

Or should I use LED2-ALED2VAL data to calculate (ACrms of Red / DC of Red) and LED1-ALED1VAL data to calculate  (ACrms of IR / DC of IR)?

The usage of these 4 registers (ALED2VAL, ALED2VAL, LED2-ALED2VAL, and LED1-ALED1VAL) is quite confusing.

  • Hi David,

    For the DC component you can take the average of the captured number of samples.
    ALED2VAL/ALED1VAL are the contains the information about the ambient light. Whereas LED2-ALED2VAL/ LED1-ALED1VAL contains the value corresponding to LED2/LED1 after ambient subtraction. So for the better performance we have to remove any modulation in the LED data due to ambient light , hence you can use LED2-ALED2VAl for the RED and LED1-ALED1VAL for the IR phase.

    Regards,
    PRabin
  • Thanks, Prabin.

    Prabin Yadav said:
    hence you can use LED2-ALED2VAl for the RED and LED1-ALED1VAL for the IR phase.

    Suppose I gather 256 samples with the following parameters.

    #define AFECLK          4000000ul /* 4MHz clock */
    #define PRF             500   /*  Pulse Repetition Frequency (PRF) */
    #define DUTYCYCLE       25
    #define ADCRESET_DELAY  5
    #define PRP             ((AFECLK/PRF)-1)
    

    1. In short, you mean that

    - DC of IR = mean value of 256 LED1-ALED1VAL samples

    - DC of RED = mean value of 256 LED2-ALED2VAL samples

    - AC RMS of IR = RMS of 256 LED1-ALED1VAL samples (use this type of c code for RMS calculation)

    - AC RMS of Red = RMS of 256 LED2-ALED2VAL samples

    , right?

    2.

    Prabin Yadav said:
    For the DC component you can take the average of the captured number of samples.

    In other words, are there other mathematical methods to calculate the DC component instead of averaging the samples?

    3. 

    Prabin Yadav said:
    ALED2VAL/ALED1VAL are the contains the information about the ambient light

    Can you elaborate on the "information about the ambient light"? Does ALED2VAL/ALED1VAL show the flux of the ambient red/green/etc light?

    4. It is defined that

    the non- pulsatile part, resulting mainly from the venous blood, skin and tissue, is referred to as the “DC” component.  

    Does that ALED2VAL/ALED1VAL has any relationships with the DC components?

    I am confused because this can mean that

    - DC of IR = mean value of 256 LED2-ALED1VAL samples == the non- pulsatile part ?

    5. Using the aforementioned definition, does DC of IR or RED vary from users' body part/ambient light around the AFE4403?

  • Hi David,

    1) You are correct for the DC calculation but for the AC calculation you have to take peak to peak values.
    2) I am not aware of any other methods of calculating the DC apart from averaging.
    3) When you sample the data of the LED phase, you will get the signal due to the LED ( i.e. due to Green/Red/IR). In addition to this signal you will also get the signal due to ambient such as indoor lighting. Now when you sample ALED2VAL/ALED1VAL ( i.e. with the LEDs turned off) you will only sample this ambient light/signal. So subtracting the AMB phase data with the LED phase data we can eliminate the effect of this unwanted ambient light. This subtracted values are stored in LED2-ALED2VAL/ LED1-ALED1VAL registers.
    4) As said earlier ALED2VAL/ALED1VAL only depends on the light present in environment.
    5) Yes, DC component depends on the location of the sensor, skin type, ambient light.

    Regards,
    Prabin
  • Thanks, Prabin.

    Prabin Yadav said:
    but for the AC calculation you have to take peak to peak values.

    Hmm, Looks like the term RMS (root mean square) is what I haven't expected. Didn't the TIDU124 note

    R = (ACrms of Red / DC of Red) / (ACrms of IR / DC of IR)

    says that I need the RMS of AC signals? So I thought using that RMS C code will do the job.

    Then what do you mean by "peak to peak" values?

    Calculate (AC max value in 256 samples) - (AC min value in 256 samples) == RMS of 256 sampled AC signal?

    And don't you the RMS C code?

  • Hi David,

    Basically we need the peak to peak of the heart rate waveform.
    Taking MAX-MIN will work only if there are no artifacts ( such as DC wandering, some spurious tones due to noise, etc).
    In presence of such artifacts user has to deploy some algorithm to calculate the AC component. Choice of algorithm is left to the user.

    Regards,
    Prabin
  • Hi, Prabin. I wish for your understanding due to my shallow knowledge.

    Prabin Yadav said:
    Taking MAX-MIN will work only if there are no artifacts ( such as DC wandering, some spurious tones due to noise, etc).

    1. What method do you use to determine whether there are no artifacts?

    Prabin Yadav said:
    Choice of algorithm is left to the user.

    2. Then is RMS (root mean square) calculation one of the algorithms I can choose? 

    3. What algorithm options are available?

  • Hi David,

    One simple artifact can be due to motion of the body.
    Suppose your body is still then you can take MAX-MIN for the received to get AC component . This can be analogous to clean sine wave.
    But if your body moves during the capture window , some of the data points can go very high or low. This is analogous to sine wave with some spikes. So taking MAX-MIN will not given you the actual AC component of heart rate signal.

    We can't tell whether taking RMS as AC component will give you the correct SpO2 values. This depends on the biological study you are following or you should have prior experience of using RMS.

    Usually we don't give any algorithm to the customer, they choose it themselves based on their requirement. We come in if they have any queries regarding the AFE.

    Regards,
    Prabin
  • Thanks, Prabin.

    Prabin Yadav said:
    Usually we don't give any algorithm to the customer, they choose it themselves based on their requirement. We come in if they have any queries regarding the AFE.

    I apologize for asking too much. Lastly, I wish to ask this and finish this thread.

    Prabin Yadav said:
    We can't tell whether taking RMS as AC component will give you the correct SpO2 values.

    Looks like this "RMS" means root mean square.

    Prabin Yadav said:
    This depends on the biological study you are following or you should have prior experience of using RMS.

    "A prior experience of using RMS"; is this "RMS" different from the root mean square?

    Or are you saying something like I have to choose true RMS (AC + DC)? The "experience of using RMS"; I felt like there are various types of RMS to choose.

    Is that what you've meant?

  • Hi David,

    When I say RMS I meant root mean square.
    If you have used RMS as AC component in your previous product/project then you can use it.

    Regards,
    Prabin