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.

[参考译文] AWR6843AOPEVM:《人员跟踪开发人员指南》中的生命体征信息

Guru**** 2457760 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1499221/awr6843aopevm-about-vital-signs-with-people-tracking-developer-guide

器件型号:AWR6843AOPEVM

工具/软件:

尊敬的 TI 专家:  

Good Day~根据 "生命体征与人员跟踪开发人员指南.pdf",  

 函数"MmwDemo_vitalsignPickupPoint"的输出指针称为 Datasave_Mss_ TCMA_p"

将被生命体征处理所使用。 然而、作为下面描述的功能块 daigram、

"MmwDemo_vitalsignProcessing" 函数似乎从未使用"MmwDemo_vitalsignProcessing" Datasave_Mss_。

我还深入研究了  "MmwDemo_vitalsignProcessing"      的代码,似乎永远不会使用 Datasave_Mss_。  

您是否知道  Datasave_Mss_ "MmwDemo_vitalsignPickupPoint"生产后在哪个位置使用"CMA_p" ?

也,我们可以通过传递 BPM 去调制部分的代码 在 "MmwDemo_vitalsignPickupPoint"作为附加?

   

 //This is for SDK3.x DATA FORMAT 1
    //ONLY SAVE 8 VITURAL CHANNEL AND 5 RANGE BIN DATA.
    //re-org the ADC data format in L3.
    for(cntii=*rangeidx-2;cntii<*rangeidx+3;cntii++)
    {
        for(cntjj=0;cntjj<12;cntjj++)
        {
            pData_temp[cntjj] = pDataIn[48 * 12 * cntii + cntjj]; //change for new static detection chain
        }

        //de-modulation the BPM
        //[0:3] TIM1, [4:7] TIM2, [8:11] TIM3 RX signals
   //RADARDEMO_aoaEst2DCaponBF_bpmDemodulation
        //AOP
     pData_temp[20].real = (pData_temp[0].real + pData_temp[8].real)/2;
     pData_temp[20].imag = (pData_temp[0].imag + pData_temp[8].imag)/2;
     pData_temp[21].real = (pData_temp[1].real + pData_temp[9].real)/(-2); //phase rotation
     pData_temp[21].imag = (pData_temp[1].imag + pData_temp[9].imag)/(-2);
     pData_temp[22].real = (pData_temp[2].real + pData_temp[10].real)/2;
     pData_temp[22].imag = (pData_temp[2].imag + pData_temp[10].imag)/2;
     pData_temp[23].real = (pData_temp[3].real + pData_temp[11].real)/(-2);
     pData_temp[23].imag = (pData_temp[3].imag + pData_temp[11].imag)/(-2);

     pData_temp[24].real = (pData_temp[4].real);
     pData_temp[24].imag = (pData_temp[4].imag);
     pData_temp[25].real = (pData_temp[5].real)*(-1); //phase rotation
     pData_temp[25].imag = (pData_temp[5].imag)*(-1);
     pData_temp[26].real = (pData_temp[6].real);
     pData_temp[26].imag = (pData_temp[6].imag);
     pData_temp[27].real = (pData_temp[7].real)*(-1);
     pData_temp[27].imag = (pData_temp[7].imag)*(-1);

     pData_temp[28].real = (pData_temp[0].real - pData_temp[8].real)/2;
     pData_temp[28].imag = (pData_temp[0].imag - pData_temp[8].imag)/2;
     pData_temp[29].real = (pData_temp[1].real - pData_temp[9].real)/(-2);
     pData_temp[29].imag = (pData_temp[1].imag - pData_temp[9].imag)/(-2);
     pData_temp[30].real = (pData_temp[2].real - pData_temp[10].real)/2;
     pData_temp[30].imag = (pData_temp[2].imag - pData_temp[10].imag)/2;
     pData_temp[31].real = (pData_temp[3].real - pData_temp[11].real)/(-2);
     pData_temp[31].imag = (pData_temp[3].imag - pData_temp[11].imag)/(-2);

      //ISK Demodulation
      //RADARDEMO_aoaEst2DCaponBF_bpmDemodulation
        //  pData_temp[20].real = (pData_temp[0].real + pData_temp[8].real)/2;
        //  pData_temp[20].imag = (pData_temp[0].imag + pData_temp[8].imag)/2;
        //  pData_temp[21].real = (pData_temp[1].real + pData_temp[9].real)/2;
        //  pData_temp[21].imag = (pData_temp[1].imag + pData_temp[9].imag)/2;
        //  pData_temp[22].real = (pData_temp[2].real + pData_temp[10].real)/2;
        //  pData_temp[22].imag = (pData_temp[2].imag + pData_temp[10].imag)/2;
        //  pData_temp[23].real = (pData_temp[3].real + pData_temp[11].real)/2;
        //  pData_temp[23].imag = (pData_temp[3].imag + pData_temp[11].imag)/2;

        //  pData_temp[24].real = (pData_temp[4].real);
        //  pData_temp[24].imag = (pData_temp[4].imag);
        //  pData_temp[25].real = (pData_temp[5].real);
        //  pData_temp[25].imag = (pData_temp[5].imag);
        //  pData_temp[26].real = (pData_temp[6].real);
        //  pData_temp[26].imag = (pData_temp[6].imag);
        //  pData_temp[27].real = (pData_temp[7].real);
        //  pData_temp[27].imag = (pData_temp[7].imag);

        //  pData_temp[28].real = (pData_temp[0].real - pData_temp[8].real)/2;
        //  pData_temp[28].imag = (pData_temp[0].imag - pData_temp[8].imag)/2;
        //  pData_temp[29].real = (pData_temp[1].real - pData_temp[9].real)/2;
        //  pData_temp[29].imag = (pData_temp[1].imag - pData_temp[9].imag)/2;
        //  pData_temp[30].real = (pData_temp[2].real - pData_temp[10].real)/2;
        //  pData_temp[30].imag = (pData_temp[2].imag - pData_temp[10].imag)/2;
        //  pData_temp[31].real = (pData_temp[3].real - pData_temp[11].real)/2;
        //  pData_temp[31].imag = (pData_temp[3].imag - pData_temp[11].imag)/2;

      for(cntjj=0;cntjj<12;cntjj++)
        {
            pData_temp[cntjj] = pData_temp[20 + cntjj];//change for new static detection chain
        }

     Datasave_Mss_TCMA_p[cntkk] = pData_temp[3];
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk] = pData_temp[1];
     cntkk++;

     Datasave_Mss_TCMA_p[cntkk].real = pData_temp[2].real;
     Datasave_Mss_TCMA_p[cntkk].imag = pData_temp[2].imag;
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk].real = pData_temp[0].real;
     Datasave_Mss_TCMA_p[cntkk].imag = pData_temp[0].imag;
     cntkk++;

     Datasave_Mss_TCMA_p[cntkk] = pData_temp[11];
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk] = pData_temp[9];
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk] = pData_temp[7];
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk] = pData_temp[5];
     cntkk++;

     Datasave_Mss_TCMA_p[cntkk].real = pData_temp[10].real;
     Datasave_Mss_TCMA_p[cntkk].imag = pData_temp[10].imag;
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk].real = pData_temp[8].real;
     Datasave_Mss_TCMA_p[cntkk].imag = pData_temp[8].imag;
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk].real = pData_temp[6].real;
     Datasave_Mss_TCMA_p[cntkk].imag = pData_temp[6].imag;
     cntkk++;
     Datasave_Mss_TCMA_p[cntkk].real = pData_temp[4].real;
     Datasave_Mss_TCMA_p[cntkk].imag = pData_temp[4].imag;
     cntkk++;
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Jerry、

    感谢您的联系。 我已经要求我们的生命体征专家研究这一主题。 请给他们一天或两天的时间来回应。

    此致、

    Kristien

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    pDataIn 指向用于 VS 处理的输入缓冲区。  演示中不使用 Datasave_Mss_ TCMA_p。 只能使用 TDM 进行 VS 处理。 BPM 不是必需的。 使用 BPM 可提供更好的 SNR。 对于生命体征、较高的 SNR 可提供更高的精度

    此致