Tool/software:
Hi TI Expert :
Good day~ According to "Vital Signs with People Tracking Developer Guide.pdf" ,
the output pointer of the function "MmwDemo_vitalsignPickupPoint" called "Datasave_Mss_TCMA_p"
will be used by vital signs processing. However as the function block daigram described below,
"Datasave_Mss_TCMA_p" seems never used by "MmwDemo_vitalsignProcessing" function.
I also took a deep look into the code of "MmwDemo_vitalsignProcessing" and it seems "Datasave_Mss_TCMA_p" never be used.
Do you know in which place the "Datasave_Mss_TCMA_p" be used after it is produced by "MmwDemo_vitalsignPickupPoint" ?
And also , could we just by pass BPM de-modulation part of code in "MmwDemo_vitalsignPickupPoint" as attached ?
//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++; }