AWR1642BOOST: some questions regarding the vital sign lab

Other Parts Discussed in Thread: IWR1443

您好,

想請教一下for 1642的 vital sign lab

在dss_data_path.c 中有看到

// Output Values
obj->VitalSigns_Output.unwrapPhasePeak_mm = obj->unwrapPhasePeak;
obj->VitalSigns_Output.outputFilterBreathOut = outputFilterBreathOut;
obj->VitalSigns_Output.outputFilterHeartOut = outputFilterHeartOut;
obj->VitalSigns_Output.rangeBinIndexPhase = rangeBinIndexPhase; //frameCountLocal;
obj->VitalSigns_Output.maxVal = maxVal;
obj->VitalSigns_Output.sumEnergyHeartWfm = sumEnergyHeartWfm;
obj->VitalSigns_Output.sumEnergyBreathWfm = sumEnergyBreathWfm*peakValueBreathSpect;

obj->VitalSigns_Output.confidenceMetricBreathOut = confidenceMetricBreathOut;
obj->VitalSigns_Output.confidenceMetricHeartOut = confidenceMetricHeartOut; // Confidence Metric associated with the estimates
obj->VitalSigns_Output.confidenceMetricHeartOut_4Hz = confidenceMetricHeartOut_4Hz;
obj->VitalSigns_Output.confidenceMetricHeartOut_xCorr = confidenceMetricHeartOut_xCorr;

obj->VitalSigns_Output.breathingRateEst_FFT = breathingRateEst_FFT;
obj->VitalSigns_Output.breathingRateEst_peakCount = breathingRateEst_peakCount;
obj->VitalSigns_Output.heartRateEst_peakCount_filtered = heartRateEst_peakCount_filtered;
obj->VitalSigns_Output.heartRateEst_xCorr = heartRateEst_xCorr;
obj->VitalSigns_Output.heartRateEst_FFT_4Hz = heartRateEst_FFT_4Hz;
obj->VitalSigns_Output.heartRateEst_FFT = heartRateEst_FFT;

另外再 UI qt的code中有看到

processData()中陸續有在處理這些資料的code如下
  float BreathingRate_FFT     = parseValueFloat(data, INDEX_IN_DATA_BREATHING_RATE_FFT, 8);  // Breathing Rate
   float BreathingRatePK_Out   = parseValueFloat(data, INDEX_IN_DATA_BREATHING_RATE_PEAK, 8);
   float heartRate_FFT         = parseValueFloat(data, INDEX_IN_DATA_HEART_RATE_EST_FFT, 8);  // Heart Rate


我現在想做的事情是,我想要從1642處裡的資料 增加一組全新的資料並透過com port傳送,假定這組資料就是

heartRateEst_FFT+100;

  我該修改那些地方才能達到我想做的事情呢??

謝謝

  • 我現在想做的事情是,我想要從1642處裡的資料 增加一組全新的資料並透過com port傳送,假定這組資料就是

    specialProcess = heartRateEst_FFT+100;

    specialProcess 必須透過com port傳送
    我該修改那些地方才能達到我想做的事情呢??
  • 也就是除了原本的 heartRateEst_FFT 還是一樣按照原本的方法傳送, 我想多傳送一組資料叫做
    specialProcess = heartRateEst_FFT+100,
    為了多傳送這組資料, 我需要修改那些地方
  • 你好,
    可参考以下方式,谢谢

    • Platform: IWR1443
    • SDK version: SDK1.2
    • Demo: OOB demo.

     

    Related file:

    • C:\ti\mmwave_sdk_01_02_00_05_77\packages\ti\demo\io_interface\detected_obj.h
    • C:\ti\mmwave_sdk_01_02_00_05_77\packages\ti\demo\io_interface\mmw_config.h
    • C:\ti\mmwave_sdk_01_02_00_05_77\packages\ti\demo\io_interface\mmw_output.h

     

    Steps:

    • Copy these 3 files in CCS project folder. (make sure these change only happen in one demo, not whole SDK)
    • Modify all the include header in CCS project from include SDK header to project header.
    • From
    • #include <ti/demo/io_interface/detected_obj.h>
    • #include <ti/demo/io_interface/mmw_config.h>
    • #include <ti/demo/io_interface/mmw_output.h>
    • To
    • #include <detected_obj.h>
    • #include <mmw_config.h>
    • #include <mmw_output.h>
    • Then change the tlv data format in detected_obj.h. For example add target speed information at the end of the MmwDemo_detectedObj_t       struct.

    typedef volatile struct MmwDemo_detectedObj_t

    {

       uint16_t   rangeIdx;     /*!< @brief Range index */

       int16_t   dopplerIdx;   /*!< @brief Doppler index. Note that it is changed

                                     to signed integer in order to handle extended maximum velocity.

                                     Neagative values correspond to the object moving toward

                                     sensor, and positive values correspond to the

                                     object moving away from the sensor */

       uint16_t peakVal;     /*!< @brief Peak value */

       int16_t x;             /*!< @brief x - coordinate in meters. Q format depends on the range resolution */

       int16_t y;             /*!< @brief y - coordinate in meters. Q format depends on the range resolution */

       int16_t z;             /*!< @brief z - coordinate in meters. Q format depends on the range resolution */

       int16_t speed;

    } MmwDemo_detectedObj;

     

    • Example:
    • Add speed information in Postprocessing.c
    • MmwDemo_XYZestimation
    • objOut[objOutIndx].speed = (int16_t) ((y+10) * ONE_QFORMAT + 0.5);

    • Modify GUI to capture this data.
    • Done