Other Parts Discussed in Thread: AWR1243
我想询问的问题如下:
1、关于AWR1243BOOST这块板子的虚拟天线阵列排布的文档可以在哪里获取,我翻阅了很多文档没有找到。
2、我想绘制目标在XY平面上的投影情况如图,因此我需要知道俯仰角和方位角。但是我尝试了很久得到的XY-PLANE图一直与我的现场目标放置不同,我觉得可能出问题的地方是天线排列与求角的方式。
在求解俯仰角的时候,我的计算方式是用垂直天线4个 和水平天线四个,分别获取目标所在位置的相位,并作差取平均得到俯仰角的相位差,根据公式计算得到俯仰角角度。在求解水平角的时候,我选择八个水平天线做FFT,取最大峰值的索引代入我的[-ANGLE_SAMPLE/2:ANGLE_SAMPLE/2]*ANGLE_RES中得到对应的水平角。请问您觉得是否有问题,或者是否能够提供AWR1243相关绘制XY-PLANE图的例程程序
我从我的代码中提取出了最小程序部分用于提问,SPEED_PROFILE是经过RANGE-DOPPLER维度后的数据,维度分别对应为ADC_SAMPLE,虚拟天线,chirp维,帧数维 即1024*12*64*200
TARGET_INDEX = [54,68,80,89,94,100,107,111,134,141,149]; % 目标位置bin2
Azimuth_Angle = [];
Vertical_Angle = [];
TARGET_DATAS = squeeze(sum(SPEED_PROFILE(:,:,:,9),3));
for target_index = 1:length(TARGET_INDEX)
TARGET_DATA = TARGET_DATAS(TARGET_INDEX(target_index),:);
AZIMUTH_TARGET_DATA= cat(2,TARGET_DATA(1),TARGET_DATA(4),...
TARGET_DATA(7),TARGET_DATA(10),...
TARGET_DATA(3),TARGET_DATA(6),...
TARGET_DATA(9),TARGET_DATA(12));
TARGET_ANGLE = fftshift(fft(AZIMUTH_TARGET_DATA,ANGLE_SAMPLE));
[TARGET_MAX_VALUE,TARGET_ANGLE_INDEX] = max(TARGET_ANGLE);
Azimuth_Angle(target_index) = ANGLE_AXIS(TARGET_ANGLE_INDEX);
TARGET_DATA1 = cat(2,TARGET_DATA(2),TARGET_DATA(5),TARGET_DATA(8),TARGET_DATA(11)); % 垂直天线
TARGET_ANGLE1 = angle(TARGET_DATA1);
VERTICAL_ANGLE1 = TARGET_ANGLE1;
TARGET_DATA2 = cat(2,TARGET_DATA(7),TARGET_DATA(10),TARGET_DATA(3),TARGET_DATA(6)); % 水平天线和垂直天线重叠部分
TARGET_ANGLE2 = angle(TARGET_DATA2);
VERTICAL_ANGLE2 = TARGET_ANGLE2;
VERTICAL_ANGLE = mean(VERTICAL_ANGLE2 - VERTICAL_ANGLE1);
Vertical_Angle(target_index) = asind(VERTICAL_ANGLE/pi);
% TARGET_ANGLES = fftshift(fft(TARGET_DATA1,ANGLE_SAMPLE));
% [MAX_VALUE1,ANGLE_INDEX1] = max(TARGET_ANGLES);
% Vertical_Angle(target_index) = ANGLE_AXIS(ANGLE_INDEX1);
% TARGET_ANGLE2 = fft(TARGET_DATA2,ANGLE_SAMPLE);
% [MAX_VALUE2,ANGLE_INDEX2] = max(TARGET_ANGLE2);
% VERTICAL_ANGLE2 = ANGLE_AXIS(ANGLE_INDEX2);
end
for target_index = 1:length(TARGET_INDEX)
AXIS_X = RANGE_AXIS(TARGET_INDEX(target_index)) * cosd((Vertical_Angle(target_index))) * ...
sind((Azimuth_Angle(target_index)));
AXIS_Y = RANGE_AXIS(TARGET_INDEX(target_index)) * cosd((Vertical_Angle(target_index))) * ...
cosd((Azimuth_Angle(target_index)));
scatter(AXIS_X,AXIS_Y,'r');hold on;
xlabel('X(m)');ylabel('Y(m)');grid on;
% xlim([-10 10]);ylim([0 15]);
% AMPLITUDE = abs(TARGET_DATAS(target_index,1));
end