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.

MMWAVE-SDK: IWR6843ISK

Part Number: MMWAVE-SDK
Other Parts Discussed in Thread: IWR6843ISK

Hi,
I'm considering 68xx_vital_signs with IWR6843ISK(QG).
I set it up, acquired breathing data, and checked the waveforms of phaseWfm_Out and breathWfm_Out in Excel, but the phases of the two waveforms are shifted.
Are there any possible causes and countermeasures?

  • Hello,

    I am looking into this and will post an update here in the next 2 business days.

    Thanks,

    Angie 

  • Hello,

    How are you calculating the waveforms you are plotting? Are these directly from the TLV output of the firmware? If so, which outputs are you using?

    Thank you,

    Angie

  • good morning. angie
    Get data from EVM with MainWindow::processData() in Qt application
    There is a part that
    A logFile (CSV file) is opened in advance, and EVM data is written out with TextStream.

    No calculations or corrections have been added

    *Left is what I modified, Right is the original source code

    Thank you for your quick response.
    Watanabe

  • Hi Watanabe,

    I am looking into this and will get back to you in the next 24 hours.

    Thank you,

    Angie

  • Hi,Angie,

    Is there any fact that the phaseWfm_Out and breathWfm_Out waveforms of 68xx_vital_signs deviate from each other?
    I need to make a design decision soon.
    Thank you.

    Watanabe

  • Hi Watanabe,

    My apologies for the delay in my response. This is a legacy lab that we do not support -- our latest lab on this subject is Vital Signs with People Tracking.

    I believe phaseWfm_Out is the unwrapped phase peak. It is calculated as follows:

    obj->unwrapPhasePeak = unwrap(rangeBinPhase, phasePrevFrame, &diffPhaseCorrectionCum); (line 2780 of dss_data_path.c)

    This is used to calculate the following:

    phaseUsedComputationPrev = obj->unwrapPhasePeak; (line 2801)

    outputFilterBreathOut = filter_IIR_BiquadCascade(phaseUsedComputation, obj->pFilterCoefsBreath, obj->pScaleValsBreath, obj->pDelayBreath, IIR_FILTER_BREATH_NUM_STAGES);

    outputFilterHeartOut  = filter_IIR_BiquadCascade(phaseUsedComputation, obj->pFilterCoefsHeart_4Hz, obj->pScaleValsHeart_4Hz, obj->pDelayHeart, IIR_FILTER_HEART_NUM_STAGES);

    Therefore out of this waveform the heart rate and breath rate are determined. It represents both, not just breath rate. It also will have signals outside of the breathing and heart frequencies added into it.

    These get filtered out by the IIR Biquad Cascade filters.

    Thank you,

    Angie

  • Hi,Angie,

    I see, I will also consider Vital Signs with People Tracking.

    My purpose is to obtain the breathing curve of the person to be measured,
    In the output of this lab,

    'breathingDeviation', % deviation of breathing measurement over time
    There is a parameter called

    The source code of Vital Signs with People Tracking is not available yet.
    The content of the question in this case is the normal operation specification,
    Is it how to use breathingDeviation to adjust the timing?

    If you know, please tell me how to use breathingDeviation specifically.

    Thank you.
    Watanabe

  • Hi Watanabe,

    Are you asking about the use of Breathing Deviation in Vital signs with People Tracking? This is the deviation over the last 40 points in the breathing waveform circular buffer.

    Thank you,

    Angie Mitchell

  • Hi,Angie
    It's not a time correction, I understand.
    thank you for your answer.
    Please close.
    Watanabe