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.

RTOS/AFE4404SW-LINUX: AFE4404 in 1 LED mode has negative spikes (or noises)

Part Number: AFE4404SW-LINUX

Tool/software: TI-RTOS

Hello E2E friends and experts,

I'm trying to configure its setting to achieve 1 LED mode with 300 samples/s data rate. Below are my init setting,

        reg_write(9, 0);
        reg_write(1, 80);
        reg_write(10, 399);
        reg_write(2, 399);
        reg_write(21, 400);
        reg_write(22, 406);
        reg_write(13, 407);
        reg_write(14, 866);
        reg_write(54, 1);
        reg_write(55, 0);
        reg_write(5, 1);
        reg_write(6, 0);
        reg_write(23, 867);
        reg_write(24, 873);
        reg_write(15, 874);
        reg_write(16, 874);
        reg_write(3, 1);
        reg_write(4, 0);
        reg_write(7, 1);
        reg_write(8, 0);
        reg_write(25, 875);
        reg_write(26, 881);
        reg_write(17, 882);
        reg_write(18, 882);
        reg_write(11, 1);
        reg_write(12, 0);
        reg_write(27, 883);
        reg_write(28, 889);
        reg_write(19, 890);
        reg_write(20, 890);

        reg_write(29, 0x003415);
        reg_write(30, 0x000103);
        reg_write(32, 0x008003);
        reg_write(33, 0x000003);
        reg_write(58, 0x000000);
        reg_write(34, 0x000F00);      //only LED 2 is on (green)
        reg_write(35, 0x124218);
        reg_write(41, 0x2);
        reg_write(49, 0x000020);
        reg_write(57, 0);
        reg_write(50, 0x000AF9);
        reg_write(51, 0x0030F5);

The problem that I have is, when I test it with me finger tip without pressing hard, I'm seeing some negative spikes,

when I pressed a little harder, the pulses look much better, but there are some noises (might cause by my finger tip movement)

So, what cause the negative spikes? I've seen those very often in some tests. What could I do to fix it?

Thanks,

Henry

  • Hi Henry,

    These spikes are called Dicrotic Notch and they are part of cardiac cycle.

    Regards,
    Prabin
  • Thank you for your response Prabin,

    That might be a possible explanation, but for some reasons my mentor think they're not Dicrotic Notch, and the main reasons are:

    • They are not synchronous
    • The systolic peak does not exist (in the first photo)

    Is there any other reasons you think it may cause this? 

    Thanks,

    Henry

  • Hi Henry,

    When I said these are Dicrotic Notch, I was referring to the part of 2nd image marked with red circle.
    Regarding the 1st image,
    1) What is the unit of x -axis?
    2) You have only one phase, i.e. LED2. So the data of this phase will have information of ambient light. So to cancel the effect of ambient we suggest to have an additional ambient phase (i.e. LED3) and use LED-AMB data (i.e LED2-LED3) for processing.

    Can you please try the 2nd suggestion?

    Regards,
    Prabin
  • Hello Prabin,

    Thank you very much for your helpful response. Just to make sure, do you mean even I only want LED2 data (green), I still need to enable LED1/LED3?
    Could you please to elaborate of the process to enable the additional ambient phase.

    Thanks,
    Henry

  • Hi Henry,

    To enable ambient (i.e. LED3) change the register setting as follows,

    reg_write(9, 0);
    reg_write(1, 80);
    reg_write(10, 399);
    reg_write(2, 399);
    reg_write(21, 400);
    reg_write(22, 406);
    reg_write(13, 407);
    reg_write(14, 866);

    reg_write(54, 1);
    reg_write(55, 0);
    reg_write(5, 410);
    reg_write(6, 729);
    reg_write(23, 867);
    reg_write(24, 873);
    reg_write(15, 874);
    reg_write(16, 1333);

    reg_write(3, 1);
    reg_write(4, 0);
    reg_write(7, 1);
    reg_write(8, 0);
    reg_write(25, 1334);
    reg_write(26, 1340);
    reg_write(17, 1341);
    reg_write(18, 1341);

    reg_write(11, 1);
    reg_write(12, 0);
    reg_write(27, 1342);
    reg_write(28, 1348);
    reg_write(19, 1349);
    reg_write(20, 1349);

    Here LED2 is declared as LED phase and LED3 is declared as AMB phase.

    With the above register setting 0x2A will give you LED data, 0x2B will give you AMB data and 0x2E will give you LED-AMB data.

    Regards,
    Prabin