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.

IWR6843ISK: Question on Vitalsign Host code.

Part Number: IWR6843ISK

First of all, thanks for answering all the earlier questions promptly.

While we are analyzing host code, specially mainwindows.cpp, we found so many "if sentences" that we do not understand clearly. Are there any thesis or theoretical reference manual to check "case by case" details?

Q1. In Vital sign host program of mainwindows.cpp, we don't know what is the following case?

--------------------------------------------------------------------------

if ( abs(heartRate_xCorr - 2*BreathingRate_FFT) > BACK_THRESH_BPM)
{
heartRateBuffer.insert(currIndex % HEART_RATE_EST_MEDIAN_FLT_SIZE, heartRate_xCorr);
IsvalueSelected = 1;
currIndex++;
}

Q2. In the vital sign host program of mainwindows.cpp, we do not understand what the following values mean.

#define NUM_PTS_DISTANCE_TIME_PLOT (256)
#define HEART_RATE_EST_MEDIAN_FLT_SIZE (200)
#define HEART_RATE_EST_FINAL_OUT_SIZE (200)
#define THRESH_HEART_CM (0.25)
#define THRESH_BREATH_CM (1.0)
#define BACK_THRESH_BPM (4)
#define BACK_THRESH_CM (0.20)
#define BACK_THRESH_4Hz_CM (0.15)
#define THRESH_BACK (30)
#define THRESH_DIFF_EST (20)
#define ALPHA_HEARTRATE_CM (0.2)
#define ALPHA_RCS (0.2)
#define APPLY_KALMAN_FILTER (0.0)


Q3. I don't understand this case happens.
// if (fabs(sumSignal - sumPeak) < 0.0001) // This condition would arise if the input signal amplitude is very low

float computeConfidenceMetric(float* pDataSpectrum,
uint16_t spectrumIndexStart,
uint16_t spectrumIndexEnd,
uint16_t peakIndex,
uint16_t numIndexAroundPeak)
{
..................
if (fabs(sumSignal - sumPeak) < 0.0001) // This condition would arise if the input signal amplitude is very low
{
confidenceMetric = 0;
}
else
{
confidenceMetric = sumPeak/(sumSignal - sumPeak);
}

return confidenceMetric;
}

Best Regards,

CH Cho

  • Hi Chunghee,

    We will need a some time to look into this and should have an answer for you in the next few days.

    Cheers,

    Akash

  • Hi Chunghee,

    We are still looking into this and will try to have an answer for you sometime next week.

    Cheers,

    Akash

  • Hi Chunghee,

    Q1. In Vital sign host program of mainwindows.cpp, we don't know what is the following case?

    This clause is part of the vitals estimation scheme. If the persons back is pulsating too quickly due to breathing, it adds a buffer in order to provide a more accurate estimate.

    Q2. In the vital sign host program of mainwindows.cpp, we do not understand what the following values mean.

    Are there specific values you are looking at? These are all defined and used in the GUI source code as you have seen.

    Q3. I don't understand this case happens.

    This case gets triggered when the input signal seems somewhat weak or unreliable. The clause itself is triggered because the peak (person) that is detected might not be in the correct range, the peak is not strong enough in the correct range, or there are other disturbances/objects that are interfering.

    Cheers,

    Akash