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 ,
Let me clarify what to indicate by range - azimuth heat map on demo visualizer. I supposed objects position by distance and angle is indicated lilke Fig(8) in below document.
https://arxiv.org/pdf/1912.12566.pdf
But according to the User's Guide(SWRU529A–May 2017–Revised October 2017), radar cube matrix with only no movement by all range bins and all antennas is displayed. Please kindly let me know if angle information is indicated on your range - azimuth heat map. Also, I am fine if you could let me know how to make sure angle information by visualizer.
Best regards,
Taka
Hello,
The range-angle heatmap in the papers you linked is calculated using a different method than is done in the mmWave Online Visualizer.
In TI's mmWave Demo, the range azimuth heatmap is calculated from a subset of the radar-cube correlating to the zero doppler bin (so no movement information). So we only take the 0 doppler information for every range, angle bin combination. Additionally the visualizer converts the information from polar (range,angle) to Cartesian coordinate system so x,y in meters are the axes of the plot.
In contrast, the paper you linked takes the doppler bin of the highest energy value, and computes the range angle estimation for that doppler bin. You can think this range-angle heatmap as representative of either moving or non moving objects depending on the range/angle combination.
If you want to implement the same, you will need to stream out the entire radar-cube and perform the computations as described in the paper. https://e2e.ti.com/support/sensors/f/1023/p/885225/3329328#3329328
Amanda
Hello Amanda,
Thank you for your message. I would like to ask you sharing a document to understand how to convert radar-cube data to range & angle data shown by range-azimuth heat-map on TI's visualizer.
Also, are you suggesting I have to read out rada cube data and then convert to range-angle heat map in the papers as I linked ?
Best regards,
Taka
Hello,
1 - Please allow me some more time to provide information for conversion as a document does not currently exist.
2 - Yes, if you are trying to implement the same kind of range-angle heat map as described in the paper you need the entire radar cube since it searches every velocity bin instead of just the 0 doppler bin portion of the radar cube.
Amanda
Hello Amanda,
Thank you for your message. I look forward to a document to understand the data conversion to TI's range-azimuth heat map.
Best regards,
Taka
Hello Amanda,
Is there any update on this topics ? I am still waiting a document for the data convertion to TI's range-azimuth heat map.
Best regads,
Taka
understand_OOB_output.pdfHello,
I've attached a document for the OOB UART data.
To parse and reconstruct the plot for the azimuth heatmap TLV please see this pseudocode/Matlab snippet
% payload is array of unsigned bytes in azimuth heatmap TLV q = payload(1:2:end)+payload(2:2:end)*256; % convert to uint16 q(q>32767) = q(q>32767) - 65536; % convert to signed q = 1j*q(1:2:end)+q(2:2:end); %convert to complex. Imaginary first, real second q = reshape(q, numVirtualAntenna, numRangeBins); %convert from array to 2d matrix of dim [# virtual ant] x {# range bin] Q = fft(q, NUM_ANGLE_BINS); % numAngleBin-point fft along columns (across virtual ant) theta = asind([-NUM_ANGLE_BINS/2+1 : NUM_ANGLE_BINS/2-1]'*(2/NUM_ANGLE_BINS)); range = raneqBin2Meters; %rangeBin2Meters is an array from 0:range_resolution_bin:maxRange of the chirp posX = range' * sind(theta'); posY = range' * cosd(theta'); xlin=linspace(-floor(range(end)),ceil(range(end)),200); ylin=linspace(0,ceil(range(end)),200); [X,Y]=meshgrid(xlin,ylin); QQ = fftshift(abs(Q),1); QQ=QQ.'; QQ=QQ(:,2:end); Z=griddata(posX,posY,QQ,X,Y,'linear'); hAzimuthHeatmapPlot = surf(xlin,ylin,Z); shading INTERP view([0,90]) axis('equal') axis([-ceil(range(end)) ceil(range(end)) 0 ceil(range(end))]) xlabel('Range X-Axis [m]'); ylabel('Range Y-Axis [m]');
Amanda
Hello Amanda,
Thank you for your document. I understand data matrix of range FFT every virtual antenna is figured in range-azimuth heatmap. I think range FFT is figured along 'Distance along longitudinal axis' and it is figured radially from 'zero point' according to virtual antenna order. If I am wrong, please correct me.
Best regards,
Taka
Hello Taka,
Yes - I think if you can look at the diagram in section 4.1 of this MIMO application note it shows the same idea of computation of angle from 2D FFT:
Amanda