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.

• TI Thinks Resolved

# AWR1642BOOST: Could I change the number of angle bins for azimuth estimation?

Part Number: AWR1642BOOST

Hi, I currently modified the SDK code of AWR1642 to extract all the 2D range-doppler data for all virutal antennas and send those data through LVDS using DCA1000EVM

the total size of each frames' data is (128(number of range bins) * 16(number of doppler bins) * 8(number of virtual antennas) )

An I am trying to draw range-azimuth heatmap for all virtual antennas and I use range-azimuth static heatmap code from matlab parsing code of mmwdemo

```function [Azimuth_Result,Z] =  parse_azim(Q)

% Q(Q>32767) = Q(Q>32767) - 65536;
% Q = 1j*Q(1:2:end)+Q(2:2:end);
Q = reshape(Q, 8, 128);
Q = fft(Q, 64);

theta = asind([-64/2+1 : 64/2-1]'*(2/64));
range = [0:127] * 0.4394;

posX = range' * sind(theta');
posY = range' * cosd(theta');
Azimuth_Result=fftshift(abs(Q),1);
Azimuth_Result=Azimuth_Result.';
Azimuth_Result=Azimuth_Result(:,2:end);
Azimuth_Result(isnan(Azimuth_Result))=0;
Azimuth_Result(Azimuth_Result<0)=0;

xlin=linspace(-50,50,500);
ylin=linspace(0,70,500);
[X,Y]=meshgrid(xlin,ylin);
warning off
Z=griddata(posX,posY,fliplr(Azimuth_Result),X,Y,'cubic');
Z(end,end)=2000;
Z(Z<0)=0;

figure(2)
surf(xlin,ylin,Z);
zlim([0 inf]);
% axis equal
% % xlabel('Lateral Distance (m)'); ylabel('Longitudinal Distance (m)'); title('Azumuth Heat Map');
% view(0,90);
% pause(0.1)
% saveas(gcf,['.\picture','Azimuth',num2str(frame),'.png']);
end```

From above code, the number of angle bin is set to 64.

If I change the code

```Q = fft(Q, 64);

theta = asind([-64/2+1 : 64/2-1]'*(2/64));to ```
```Q = fft(Q, 128);

theta = asind([-64/1+1 : 64/1-1]'*(1/64));Would there be more error for angle estimation, or would it be more accurate for angle estimation?could the size of angle bin be changed at matlab? or should I change it from c code at sdk?Thanks,Regards, Jinhyeong```
• Hi,

Angular resolution is tied to the number of virtual antennas you have available in the direction of interest.  In AWR1642, you have a 1x8 virtual antenna array, all of which are along the azimuth direction, so the resolution is quite good.  What are you trying to gain?  Have you looked through the mmWave online training material, such as this series:

https://training.ti.com/mmwave-training-series#section-1

-dave

What I am curious about is that why the number of angle bins are fixed to 64 while the number of virtual antennas is 8.

Is there any formula to gain the number of angle bins from the number of virtual antennas?

Regards,

Jinhyeong

• In reply to JinHyeong Kim:

The number of angle bins is determined by the FFT that is used.  Choosing an FFT size means making trade-offs in accuracy, and memory and processing loads.  You can certainly increase or decrease this to suit your requirements.

Here are sources of additional information on this topic:

https://e2e.ti.com/support/sensors/f/1023/p/724067/2684791

https://e2e.ti.com/support/sensors/f/1023/t/681263

Do you mean that is it free to increase the number of angular FFT bins

after I collect the range doppler value for all virtual antennas?

For example, if I want to use 128 angular bins

```Q = reshape(Q, 8, 128); %8 virtual antennas, 128 range bins
Q = fft(Q, 128); # use 128 angle bins for FFT

theta = asind([-64/1+1 : 64/1-1]'*(1/64));
range = [0:127] * 0.4394;  #0.4394 means the range resolution
```

Would this code is valid and not affect any detection performance of RADAR?

Regards,

Jinhyeong

• In reply to JinHyeong Kim:

It would be valid only if the Q array (output of reshape) has 128 elements for the FFT.  This depends primarily on the number of  number of chirps (Doppler bins) present in the radar cube, that is used for the Azimuth FFT. If < 128, it likely would mean making adjustments to the chirp configuration (number of samples, number of chirps, number of virtual antennas) so that your radar cube is appropriately sized for angle processing. If this isn't clear, I urge you to spend time going through the online training material and also reading the HTML documentation for the SDK's mmw demo.

-dave