Hello,please,What is the unit of x=-209,y=637 in the picture? How to convert into meters?
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.
Hello,please,What is the unit of x=-209,y=637 in the picture? How to convert into meters?
Hi,
This is the define of the X,Y,Z.
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 */ } MmwDemo_detectedObj;
To convert it to meters, you can refer to this thread:
Thanks.
Regards,
Wesley
Hi,
The converting formula is as follows
xyzOutputQFormat = (uint32_t) ceil(log10(16./fabs(rangeResolution))/log10(2));
A table below for your convenience to refer.
rangeResolution>=16.0000000000, xyzOutputQFormat=0
rangeResolution>=8.0000000000, xyzOutputQFormat=1
rangeResolution>=4.0000000000, xyzOutputQFormat=2
rangeResolution>=2.0000000000, xyzOutputQFormat=3
rangeResolution>=1.0000000000, xyzOutputQFormat=4
rangeResolution>=0.5000000000, xyzOutputQFormat=5
rangeResolution>=0.2500000000, xyzOutputQFormat=6
rangeResolution>=0.1250000000, xyzOutputQFormat=7
rangeResolution>=0.0625000000, xyzOutputQFormat=8
rangeResolution>=0.0312500000, xyzOutputQFormat=9
rangeResolution>=0.0156250000, xyzOutputQFormat=10
rangeResolution>=0.0078125000, xyzOutputQFormat=11
rangeResolution>=0.0039062500, xyzOutputQFormat=12
rangeResolution>=0.0019531250, xyzOutputQFormat=13
rangeResolution>=0.0009765625, xyzOutputQFormat=14
rangeResolution>=0.0004882813, xyzOutputQFormat=15
rangeResolution>=0.0002441406, xyzOutputQFormat=16
rangeResolution>=0.0001220703, xyzOutputQFormat=17
rangeResolution>=0.0000610352, xyzOutputQFormat=18
rangeResolution>=0.0000305176, xyzOutputQFormat=19
rangeResolution>=0.0000152588, xyzOutputQFormat=20
rangeResolution>=0.0000076294, xyzOutputQFormat=21
rangeResolution>=0.0000038147, xyzOutputQFormat=22
rangeResolution>=0.0000019073, xyzOutputQFormat=23
rangeResolution>=0.0000009537, xyzOutputQFormat=24
rangeResolution>=0.0000004768, xyzOutputQFormat=25
rangeResolution>=0.0000002384, xyzOutputQFormat=26
rangeResolution>=0.0000001192, xyzOutputQFormat=27
rangeResolution>=0.0000000596, xyzOutputQFormat=28
rangeResolution>=0.0000000298, xyzOutputQFormat=29
rangeResolution>=0.0000000149, xyzOutputQFormat=30
The formula is located in C:\ti\mmwave_sdk_01_01_00_02\packages\ti\demo\xwr14xx\mmw\main.c
dataPathObj->xyzOutputQFormat = (uint32_t) ceil(log10(16./fabs(dataPathObj->rangeResolution))/log10(2));
You may also refer below posts for the detail