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.

AWR1843BOOST: range-azimuth heatmap plot

Part Number: AWR1843BOOST

Hi Team, 

Good day. I am posting this inquiry on behalf of the customer.

I need to plot the range-azimuth(angle) heatmap from the raw data I recorded using “mmWave Studio” and not the cloud Demo visualizer. I am using AWR1843BOOST with 3 Tx and 4 Rx antennas in TDM mode, which generates 12 virtual antennas.1) Please correct me if I am wrong in any part of understanding this. I have arranged the data into 12 virtual Rxs. For each receiver I have 256 ADC samples, 128 chirps, and 100 Frames. Based on the picture below from the “spuim4b” and “swra554a” documents (figures are provided below) I have considered that Tx1 and Tx3 correspond to Rx1-Rx4 and Rx9-Rx12, respectively, and are used to extract the azimuth data while Tx2 corresponds to Rx5-Rx8 which are used for the elevation data. Is this correct? Then I arrange Rx1-Rx4 and Rx9-Rx12 into a matrix of size 8*256 to account for the 8 virtual azimuth antennas and Rx5-Rx8 into a matrix of size 4*256 to account for virtual elevation antennas. Is this correct?Fig. 1
2) I form the 8*256 matrix for each chirp of each frame, then to obtain range-azimuth heatmap I take a 2D FFT once along 256 samples (fast time) to obtain range and once across the 8 antennas to obtain the angle. Is this the right approach? When I do this and plot the one-dimensional range and angle plots separately (plot(theta, columns of the matrix) and plot(range, rows of the matrix)), I obtain the expected correct results. But when I use plot the heatmap of the same matrix, the results are off. Any idea why this happens? Below I provide more information.I need to obtain Range azimuth heatmap of the form provided in “swra549” document (like the figure below). But my outputs do not make much sense.
I found a code shared in a TI E2E forum (which is provided for the Demo visualizer users and I tried to follow a similar approach). The code is shared below. In the following, x is the 8*256 (azimuth virtual receivers * ADC samples) matrix.
NUM_ANGLE_BINS = 1000;
x1 = fft(x,NUM_ANGLE_BINS);
theta = asind([-NUM_ANGLE_BINS/2+1 : NUM_ANGLE_BINS/2-1]'*(2/NUM_ANGLE_BINS));
range= 0:c/(2*BW):f(end)*c/(2*cr);
x1 = x1';x1 = fftshift(abs(x1));
x1=flip(x1,2);
x2 = fft(x1,length(x1));
x2= x2';
QQ = fftshift(abs(x2),2);
QQ=QQ.';
imagesc(theta,rng,abs(QQ))
I tried this code on simulationdata first since I could not relate what I saw from my measurement data.Although, the one-dimensionalresults(the plots below the range azimuth heatmap in the figure above)for range and angelestimation work perfectly, my range azimuth heatmap with this approach has some problem. I have developed the algorithms for six different angle estimation methods and all work perfectlybut notthe range azimuth heatmap. I provide an example below. Any idea why this happens?Am I taking the FFT along wrong directions? Three targets are consideredat -10, -35, 55 degrees at 5, 7, and 10 m distances respectively.Fig. 3 Angle estimation with6 different algorithms, all work correctlyFig. 4 Range FFT gives the correct results
Although both angle and rangein one dimensional calculationare calculated correctly, when I get the 2D FFT based on the code aboveonce along ADC sample and once along the virtual antennas, the following heatmap shows up which does not show the reflections in the correct spots.
Although one dimensional range and angle FFTs are correct, heatmap of the same data shows the range in twice what is expected,and the angle is also deviated. Instead of -10, -35, and 55 it shows -15, -50, and 70degrees respectively.This has nothing to do with increasing the number of angle point or virtual antennas, I have tried both.
When I dividetheta by1.43 and dividerange by 2(imagesc(theta/1.43,rng(4002:end)/2,abs(QQ(4002:end,:)))) then I get the right answer. Any idea why this happens?

Thank you for extending your support. Your help is much appreciated.

Kind regards, 

Marvin

  • Hi,

    1. Your rearrangement of virtual antenna data according to the pattern seems to be correct here.
      • to obtain range-azimuth heatmap I take a 2D FFT once along 256 samples (fast time) to obtain range and once across the 8 antennas to obtain the angle. Is this the right approach?

      This is the correct approach to estimate angle. Can you please provide a pseudo code with comments to walk me over how you performed & visualized the heatmap?

    Regards,

    Kaushik

  • Hi Kaushik, 

    Thank you for your response. Please see the response of our customer.

    Thank you very much for getting back to me. In the link you provided Kaushik asks for a pseudo code. I am attaching the MATLAB code that I used to generate the figures in my previous file. I will be applying the same code to my measurement data. But since I wanted to make sure that my understanding of the problem is correct, I first applied it to simulated data. Please find attached the .m script file.

    Range_Azimuth_Heatmap_E2E_question.zip

    Thank you for extending your support. Your help is much appreciated.

    Kind regards, 

    Marvin

  • Hi Marvin,

    I can go through the code and get back to you within two weeks' time. Your patience is appreciated. In the meanwhile, the customer can browse over e2e to gain more info about the same.

    Regards,

    Kaushik