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-ODS: How to calcurate "Relative Power"?

Part Number: IWR6843ISK-ODS
Other Parts Discussed in Thread: IWR6843, IWR6843ISK,

Hi TecnicakSupport

I would like to know how to calcurate "Relative Power".

It's is vertical axis of graph "Range Profile for zero Doppler" of mmWave Demo Visualizer.

I thought it was representing it with "20 * log10(value)", is it not?

Best Regards

  • Dear Nitin

    Thank you for your reply.

    As shown below, The graph on the left is what I calculated based  the source code, and the graph on the right is that DemoVisualizer is displaying.
    (The left is an average of 30 seconds, so it does not look exactly the same)

    Generally I think that the calculation is correct, but I can not understand the meaning of the expression written in the source code.

    IWR1642: [SDK message output] How to form peakVal to relative power (dB)I

    What is Params.log2linScale[subframe] ?

    What is Params.toDB ?

    What is Params.dspFftScaleCompAll_log[subframe] ?

    Best Regards

  • Dear Nitin
    I would like  to understand the physical value of "Relative Power" or value that can be obtained from serial(XDS),
    because I would like to determine the limit of detection distance in comparison with the "radar equation".
    Although the calculation shows that the received power is -67dBm ,but it is displayed as a relative value in demo visualizer.
    So, I can't  know the actual measurement value that can be acquired by radar.
    So, could you tell me how to calculate with the Demovisualizer or measure the received power of the radar?
    Best Refards.
  • Hello Takeo-san,

    What is Params.log2linScale[subframe] ?

    What is Params.toDB ?

    What is Params.dspFftScaleCompAll_log[subframe] ?

    These parameters are calculated in the file input_validation.js, based on the device type in function parseCfg()

    	    if ((platform == mmwInput.Platform.xWR14xx) ||
                    (platform == mmwInput.Platform.xWR18xx) ||
                    (platform == mmwInput.Platform.xWR68xx)) 
                {
    		P.log2linScale[idx] = 1 / 512;
    		if (P.dataPath[idx].numTxElevAnt == 1) P.log2linScale[idx] = P.log2linScale[idx] * 4 / 3; //MMWSDK-439
    	    } 
                else if (platform == mmwInput.Platform.xWR16xx) 
                {
    		P.log2linScale[idx] = 1 / (256 * P.dataPath[idx].numRxAnt * P.dataPath[idx].numTxAnt);
    	    }
    
    ...
    ...
    	    P.toDB = 20 * Math.log10(2);
    ...
    ...
    

    I'll need to check and get back to you on the details behind the calculations for the specific scaling factors.

    Regards

    -Nitin

  • Dear Nitin

    Thank you for your reply.

    Sorry to trouble you, but please check.

    Best Regards

  • Hi Takeo-san,

    Sorry for the delay, but I'm still looking for the reasons behind the above scaling factors. I will get back to you within this week.

    Regards

    -Nitin

  • Dear Nitin

    Thank you for your response.

    I understand you need time to search.

    Best Regards

  • Hi Takeo-san,

    Thank you for your patience.

    1. Please look at the source code for mmWaveDemoVisualizer 3.2.0 in file input_validation.js as you mentioned above, to refer to the latest scaling operations used in the visualizer.

    2. mmWave SDK 3.2.0.4 includes a .xls file as given below, which explains the scaling operations performed at each stage of mmWaveDemoProcessing. Note that the scaling is different for HWA and DSP based detection chains and correspondingly, there are two tabs in the spreadsheet. Please refer to the DSP tab for the ODS demo.

    C:\ti\mmwave_sdk_03_02_00_04\packages\ti\datapath\dpc\objectdetection\common\docs\object_detection_data_scaling.xlsx

    Regards

    -Nitin

  • Dear Nitin
    Sorry for the late reply.

    I don't understand how the source code is related to the object_detection_data_scaling.xlsx file.
    For example, DSP range FFT uses 4 scales(Input, BlackmanWinm Rdx4 scaling satges, Output).
    How does it relate to "Params.log2linScale[subframe]", "Params.toDB", "Params.dspFftScaleCompAll_log[subframe]" of source code?
    Best Regards
  • Hi together,

    this thread's topic is an issue to me as well. Sadly, I found no sufficient answer yet, too. But please let me know if there is any progress on this topic. Meanwhile, you can also refer to my thread as well which covers similar questions: e2e.ti.com/.../3073763

  • Hi Takeo-san,

    The current ODS Point cloud chain in lab0025_ods_point_cloud demo is based on SDK 2.0 and not the latest SDK 3.x. It is compiled with SDK 3.x to be compatible with IWR6843 but the processing chain still follows the Pre SDK 3.x architecture (so please don't compare this chain with the mmw demo chain in SDK 3.x since the mmw demo in SDK 3.x is based on the scalable architecture introduced in SDK 3.0).

    We plan to release an update to the ODS point cloud demo which will be based on the MMWAVE-SDK-AOP which will make it compatible with SDK 3.2 architecture. This will be available in a future Industrial Toolbox release.

    Regards

    -Nitin

  • Hi Nitin,

    this is interesting to know, but I'm afraid, it doesn't solve the thread opener's question:

    user6005362 said:

    I would like  to understand the physical value of "Relative Power" or value that can be obtained from serial(XDS), [...]

  • Hello Takeo-san,

    Could you please clarify which board and demo are you using? Is it IWR68943ISK-ODS or IWR6843ISK?

    1. The reason I am asking is that with IWR6843ISK-ODS, you will need to use lab25 ODS point cloud demo, which currently is not compatible with the mmWaveDemoVisualizer.

    2. But in your post, you have shared a plot from the mmWaveDemoVisualizer which works only with the mmw demo for IWR6843ISK.

    The spreadsheet for scaling operations I referred in my earlier post applies to the mmw demo for IWR6843ISK. When the ODS point cloud lab is updated to SDK 3.2 architecture in a future release, the spreadsheet will apply to the ODS point cloud demo as well.

    For the current ODS point cloud demo which provides peakVal in the detected object structure, you can get the relative power using 20*log10(peakVal) as you mentioned in your original post.

    Please let me know if you need more information.

    Regards

    -Nitin

  • Dear Nitin

    Thank you for reply.

    I burned SDK demo FW (ti\mmwave_sdk_03_02_00_04\packages\ti\demo\xwr68xx\mmwxwr68xx_mmw_demo.bin)

    to IWR6843-ODS and evaluated with DemoVisualizer(ver 3.2).



    In this case, calculate 20 * log10 (peakVal) from the rangeProfile data (peakVal)  that is obtained from the serial,

    ignore the graph displayed in DemoVisualizer.

    Is this perception correct?

    Then, colud I get  only relative output and not absolute output value from rangeProfile?
    I'd like to know the received power that the radar actually receives.

    Best regrads.

  • Hi Takeo-san,

    Thanks for providing the information. I would like to clarify your original question which is given below:

    I would like to know how to calcurate "Relative Power".

    By "Relative Power", could you please clarify relative to what value? I am discussing this question with our system experts for more clarification on the above.

    Regards

    -Nitin

  • Nitin Sakhuja said:

    By "Relative Power", could you please clarify relative to what value?

    Hi Nitin,

    now that's actually a question you need to ask your team as well, see here: e2e.ti.com/.../830398

  • Relative power is among the readings themselves i.e relative to each other. It helps in visually noticing targets and in range profile plot (corresponding to 0 doppler) for example we also indicate the targets in the plot that were detected by CFAR. A detection algorithm like CFAR compares cell under test with neighboring cells so it is relative. Visualizer adjustment based on FFT size was to make the display levels not vary based on FFT sizes so one can do a relative comparison among chirp profiles that may have different FFT sizes i.e the display scale does not keep changing among profiles just due to different FFT sizes.

    So the relative power was not meant to connect to some dBm level at the input to the SoC, although it can be with two pieces of information 1) What is at https://e2e.ti.com/support/sensors/f/1023/t/613223, which shows the relationship between input power and ADC samples and 2) The scalings etc that happen from ADC to the power calculation which information is in the spread-sheet that was pointed out earlier. However, this is unnecessarily complicated compared to just doing 1) by estimating the average power of the ADC samples [1/N sum(|.|^2)], which for example you can do by streaming out the ADC samples using mmwave studio (or also in demos that have LVDS streaming feature implemented) and doing an off-line computation.