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.

IWRL6432: SNR Unit and RCS computation

Part Number: IWRL6432

Hi Dear,


I am curious about why can SNR be equal for each other if the unit is different?

 (The code is located ‘DPU_TrackerProc_CartesianToSpherical’ function in trackerpro.c)


For  , this SNR will feed into the GROUP TRACKER STEP to do some processing and it is Range detection SNR in linear, for , this SNR is CFAR cell to side noise ratio in dB.

From my understanding, dB is the unit of 20*log10(Ps/Pn) or 10*log10(Ps/Pn), and linear is used to describe Ps/Pn, here Ps is
 the power of the signal and Pn is the power of noise.

In addition, according to the equation below picture, I want to derive out sigma (Radar Cross Section, RCS), and assuming all parameters are known, what kind of SNR is correct?
I have taken "set.totalSNR" from the 'gtrack_moduleAllocate' function
to obtain the first RCS when the new tracker is allocated, and in each frame, I have taken "goodPointsSnr" from the "gtrack_unitUpdate" function to update the RCS, but the RCS is unstable due to SNR is unstable too.

For example,

In the n-1 frame, SNR=86.84 db and R=2.41 m => RCS=21.47 dBsm

In the n frame, SNR=70.98 db and R=2.38 m => RCS=5.37 dBsm

In the n+1 frame, SNR=137.28 db and R=2.39 m => RCS=71.77 dBsm

The ideal RCS=7.649 dBsm, based on the equation below the picture,and fc=58.378GHz.

Note the unit of RCS is m2 if RCS is computed by the below equation, need use10*log10(.) transfer the unit to dBsm.

  • Hi,

    The SNR is a unitless quantity, so it may be in linear units or in dB. If you want to use the formula given, then you would use the linear version of SNR. However, I don't think you will get a good estimate of a track's radar cross section with the detObjSphericalOut estimate. As far as I'm aware, the detObjSphericalOut SNR is obtained through the combination of the SNR of the points detected, not the SNR of the entire target. Why do you want to estimate target RCS? This may be very challenging for a moving target. You might get a more stable result if you average it over frames, but I still think there are some fundamental problems with the method.

    What path do you find trackerpro.c at? I do not see it in my project.

    Best,

    Nate

  • Hi Nathan,

    thanks for your reply.

    Sorry, I didn't make it clear, I use the cumulative SNR of good points (dynamic AND unique points) for the unit tracking target in each frame, so can the cumulative SNR represent the SNR of the entire target?

    Because we want to get more target information including RCS. 

    thanks for your suggestion, but as you mentioned, the fundamental problem is about what?

    the path of trackerpro.c is in ti\MMWAVE_L_SDK_"Version" \source\datapath\dpu\trackerproc\v0

  • so can the cumulative SNR represent the SNR of the entire target?

    No I don't think this is valid. I think you should treat the entire target as a single point if you're trying to calculate its RCS. The fundamental problem is that the RCS will not be so easy to calculate with the point cloud, which tries to capture multiple points from the same target. Some points may be stationary, and others may move at varying velocities. If you want to do a link budget analysis, it would be better to use the raw data.

    Why do you want to calculate the target's RCS in the first place? What is the intended application? Maybe we can find another way to accomplish it.

    Best,

    Nate 

  • treat the entire target as a single point if you're trying to calculate its RCS

    But how can I do this? only take one SNR of point cloud for the target in each frame? but I think this method is not valid, because SNR is too small (almost 20dB), according to my simulation, SNR is needed by 76.28dB when the target (corner reflector,  ideal RCS=7.649 dBsm) at 2m, except for the antenna gain which is actually measured, and other parameters are following 6432 datasheet.

    If you want to do a link budget analysis, it would be better to use the raw data.

    In addition, sorry, I didn't get your point, why link budget analysis is mentioned? and does raw data refer to ADC samples?

    What is the intended application?

    For our application, we try to treat  RCS as the information for the classification.

  • Hello, 

    Nathan is currently out of the office for the holidays. Please expect a delayed response. 

    Since you are interested in using the RCS of each target as a means to classify the targets, I wanted to make sure you have seen our human vs. non-human classification example. In this example we calculate the micro doppler signature of each target and use that information for classification. Have you already evaluated with this example?

    Best Regards,

    Josh

  • Hi Josh,

    OK, thanks for your inform.

    Sorry, I provided the error information, the truth is that we want to get two information, one is the classification result (dominant) another is RCS (supportive), to obtain more information on tracking objects, so that’s why we focus on RCS calculation.

    use the raw data

    In Addition, if I get SNR from raw data, assume the raw data is the heat map(detection matrix in range-azimuth domain), here have one question.

    How many bins can represent the entire target in the range or azimuth domain?

  • Hi,

    No problem. And thank you for the additional information. Nathan will be able to assist you when he returns please expect delayed response until the beginning of January. Your patience is appreciated.

    Thanks and Regards,

    Josh

  • In Addition, if I get SNR from raw data, assume the raw data is the heat map(detection matrix in range-azimuth domain), here have one question.

    No, the raw data would be the ADC data coming off the device.

    Thank you for clarifying that you're using RCS for classification. If this is the case, then perhaps some of your methods may be more valid (using the point cloud or the Range-Azimuth heatmap). They will not yield the textbook-version of the RCS, but they will likely encode some information about the size of the target.

    Is there any literature on using the RCS for classification? I would wonder if it's stable and repeatable enough to perform robustly.

    Best,

    Nate

  • your methods may be more valid (using the point cloud or the Range-Azimuth heatmap

    So, I use average SNR from the point clouds for a certain target to calculate RCS based on above the equation that is ok, right?

    Is there any literature on using the RCS for classification?

    Sorry, currently, I haven't searched any literature about the RCS for classification, because i only focus on how to get the RCS, the RCS for classification is the scope of another team.

  • So, I use average SNR from the point clouds for a certain target to calculate RCS based on above the equation that is ok, right?

    This may be fine as a technique for classification. It is not guaranteed to yield the canonical definition of the target's RCS as defined by your equation above, but it may give information about the target for classification. 

    In general, I would recommend using the micro-doppler signature of the target as the inputs to a classification algorithm as this is already well defined in literature, but you are free to use whatever inputs you like for your development.

    Best,

    Nate

  • This may be fine as a technique for classification. It is not guaranteed to yield the canonical definition of the target's RCS as defined by your equation above

    I'm curious, what theory or literature do you base to conclude this conclusion?

    and, what is your mentioned equation above?

    Is it this one?

  • and, what is your mentioned equation above?

    Is it this one?

    Yes this is the equation I'm referencing.

    I'm curious, what theory or literature do you base to conclude this conclusion?

    I am hesitant to say that the point cloud can be used to estimate the target RCS because there are a number of steps between the raw data and the point cloud generation, namely, windowing, range FFT, doppler FFT, clutter removal, angle estimation and CFAR. In the motion and presence detection demo for the IWRL6432, the software creates the point cloud by running CFAR on the range-azimuth heatmap, which is compressed in the doppler dimension with a max() operation (each cell is the maximum doppler value for that particular range and azimuth angle). I worry that this max() operation would invalidate the SNR calculation, especially for a moving target. 

    If you're using the stationary corner reflector, then I think your noise floor will be increased by the max() operation beyond the actual value.

    Can you share your calculation in which you expect to get 70+ dB of SNR? This may also run into some limits with the analog/RF hardware.

    Best,

    Nate

  • compressed in the doppler dimension with a max() operation

    Actually, in my configuration, the mean() operation is used to compress in the Doppler domain, not the max() operation. I think these operations will impact the value of the SNR, but I'm not sure which is a good operation for the SNR calculation.

    I have do some test that the target keeps moving a little forward and backward and facing radar (azimuth angle ≅ 0 degree) in a fixed place, the results below the table are the average of 400 frames. (Use the mean() operation in the Doppler dimension and the average SNR is the average SNR of point clouds in each frame for a target)

    The comparison results between the human and the corner reflector are in line with expectations that the RCS and SNR of the corner reflector are both greater than the human. But the strange thing is that RCS will become larger as the distance increases. It is indeed reasonable from the formula because RCS is proportional to R^4, but RCS of the same target should have similar values ​​at different distances. In addition, the SNR of the corner reflector didn't become smaller as the distance increases.

    People's RCS(dBsm) / SNR(dB) corner reflector's RCS(dBsm) / SNR(dB)
    2m -50.3195 / 16.91 -39.5556 / 26.97
    3m -45.4984 / 14.95 -34.7587 / 27.07
    4m -42.6303 / 13.07 -28.0934 / 28.62
    5m Didn't detect -24.7080 / 28.17

    Can you share your calculation in which you expect to get 70+ dB of SNR?

    The result figure is based on the below equation and parameters.

  • Hi,

    I have do some test that the target keeps moving a little forward and backward and facing radar (azimuth angle ≅ 0 degree) in a fixed place

    I would recommend disabling clutter removal through the configuration file. This should allow you to keep the corner reflector stationary. When the corner reflector moves, it adds uncertainty to the measurement.

    But the strange thing is that RCS will become larger as the distance increases. It is indeed reasonable from the formula because RCS is proportional to R^4, but RCS of the same target should have similar values ​​at different distances

    This is correct, the RCS should remain constant regardless of distance. It doesn't appear to me that the SNR you're measuring for the corner reflector is changing very much as you move it further from the radar. Could you use a corner reflector with a smaller RCS and a chirp with higher bandwidth? Using a corner reflector with a smaller RCS will reduce the likelihood of saturating any part of the receiver chain, and using a chirp with higher bandwidth protect you from an increase noise floor due to phase noise. 

    I am still not certain that this will allow you to correlate the formula with your point cloud results, but it will certainly bring you closer.

    Best,

    Nate