雷达等效相位中心(EPC):
EPC 是指雷达天线的有效辐射中心,它是用来描述雷达天线的辐射特性和波束指向的一个重要参数。EPC 是雷达天线发射或接收信号时的参考点,用于计算雷达波束的指向和辐射特性。
等效相位中心(EPC)的计算公式如下:
EPC = (ru + rv) / 2
其中,ru 表示发射阵元的坐标,rv 表示接收阵元的坐标。EPC 是发射阵元和接收阵元之间的中心点坐标,用于描述雷达波束的指向和辐射特性。
1. AWR2243的3发4收等效相位中心如图:
取RX1位置为坐标原点:
发射阵元与接收阵元设为沿y轴排列,相当于将雷达竖放,水平维作为垂直维。
case 'IWR1443' % It is AWR1443
fC = 79e9; % center frequency
lambda = c/fC;
dTxRx = 5e-3;
% Rx Antenna 1 is the reference
% Coordinates: [x y z], x-Horizontal, y-Vertical, z-Depth
rxAntPos = [0 0 0;...
0 lambda/2 0;...
0 lambda 0;...
0 3*lambda/2 0];
txAntPos = [0 3*lambda/2+dTxRx 0;...
-lambda/2 3*lambda/2+dTxRx+lambda 0;...
0 3*lambda/2+dTxRx+2*lambda 0];
virtualChPos = (txT+rxT)/2;
在方向维方向上,不重合的等效相位中心有8个,排序为1:4,9:12。每个相位中心之间的间隔为lambda/4。lambda=c/77e9。实际y轴方向相位中心只跨越了8*lambda/4的距离,即yStepM_mm=8*lambda_mm/4=7.59mm。
2. AWR2243级联板(mmwcas-rf-evm):
来自主设备的三个TX(TX1/2/3)放置在垂直方向上,用于仰角天线估计。其余 9 个 TX (TX4~TX12) 和所有 16 个 RX 通道放置在水平面上进行方位角估计。TX之间和RX之间的相对距离如图2所示。放置三个仰角天线以形成最小冗余阵列 [ref1.],以提高仰角分辨率。每两个方位角 TX 间隔 2 波长。RX 阵列 A 和 RX 阵列 C 相距 16 波长。RX阵列C和RX阵列B相距4个波长。MIMO模式下的虚拟阵列如图3所示,方位角方向上有86个虚拟天线。
192个虚拟阵列中,除了chip1的三个tx:tx1,tx2,tx3产生的48个虚拟阵列在俯仰维有三个阵元,其余阵列144个虚拟阵列均在方位维,去除重复阵元后,在方位维上有86个阵元,间隔为λ/2。
下面为等效相位中心的计算:
c = physconst('lightspeed');
fC = 77e9; % center frequency
lambda = c/fC;
%%RX
yAxisRxBlock = (0:3).'*lambda/2;
rxAntPos = [zeros(16,1), [yAxisRxBlock ; yAxisRxBlock+18*lambda+3/2*lambda ;...
yAxisRxBlock+16*lambda+3/2*lambda ; yAxisRxBlock-4*lambda-3/2*lambda],...
zeros(16,1)];
%%tx
yAxisTx = [7.759*lambda ;7.759*lambda-1/2*lambda ;7.759*lambda-lambda ;7.759*lambda+10.5*lambda ;7.759*lambda+8.5*lambda ;...
7.759*lambda+6.5*lambda ;7.759*lambda+4.5*lambda ;7.759*lambda+2.5*lambda ;7.759*lambda+0.5*lambda ;...
7.759*lambda-1.5*lambda ;7.759*lambda-3.5*lambda ; 7.759*lambda-5.5*lambda];
xAxisTx = [19.072*lambda-3*lambda ;19.072*lambda-2*lambda;19.072*lambda-1/2*lambda;19.072*lambda*ones(9,1)];
txAntPos = [xAxisTx,yAxisTx, zeros(12,1)];
txAntPos = txAntPos/lambda*2;
rxAntPos = rxAntPos /lambda*2;
figure
scatter3(rxAntPos(:,1),rxAntPos(:,2),rxAntPos(:,3), 'filled');%RX分布图
axis equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Scatter Plot of RX Points');
figure
scatter3(txAntPos(:,1),txAntPos(:,2),txAntPos(:,3), 'filled');%RX分布图
axis equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Scatter Plot of TX Points'); %%
txT = reshape(txAntPos,nTx,1,[]);
rxT = reshape(rxAntPos,1,nRx,[]);
virtualChPos = (txT+rxT)/2;
virtualChPos = reshape(permute(virtualChPos,[2,1,3]),[],3);
virtualChPos = virtualChPos/lambda*2;
figure
scatter3(virtualChPos(:,1),virtualChPos(:,2),virtualChPos(:,3), 'filled');%virtualChPos分布图
axis equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Scatter Plot of virtualChPos Points'); %%
等效相位中心的间隔为lambda/4。
同样的,发射阵元与接收阵元沿y轴排列,相当于将雷达竖放,方位维作为垂直维。
方位维上86个不重合的等效相位中心:
vir= virtualChPos([49:68,73:80,82:84,89:96,105:112,121:128,137:144,153:160,169:176,186:end],:)
但是,这86个相位中心并不是按顺序排列,需要重新排序:
[vir1,idx] = sort(vir(:,2));
vir2 = vir(idx,:);
save('86channel_sort_idx.mat','idx');
3. 虚拟通道
虚拟通道的排列以发射阵元为基准,可将雷达板上接收阵元的排布认为是Tx1的虚拟阵元排布,Tx2的虚拟阵元排布只用将Tx1的虚拟阵元移动Tx2相对于Tx1的坐标,以此类推。
因此AWR2243 cascade的方位维同样拥有86个不重合的虚拟通道,但是虚拟通道间隔为lambda/2,AWR2243单芯片的也如此。
由于等效相位中心的排列与虚拟阵元的排列相同,只是间隔不同,因此二者的不重合通道和排序应当是一样的。
根据TI官方给出的代码C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\main\cascade\input\test1_param.m文件中,不重合的86个通道需要将数据的16个RX按照RxForMIMOProcess排列,排列后192个通道中选出索引为antenna_azimuthonly的86个通道:
% New Format TDA
TI_Cascade_TX_position_azi = [11 10 9 32 28 24 20 16 12 8 4 0 ];%12 TX antenna azimuth position on TI 4-chip cascade EVM
TI_Cascade_TX_position_ele = [6 4 1 0 0 0 0 0 0 0 0 0];%12 TX antenna elevation position on TI 4-chip cascade EVM
TI_Cascade_RX_position_ele = zeros(1,16);%16 RX在y轴同一位置,设为仰角维的零点
% Changed for the new Data format
TI_Cascade_RX_position_azi = [ 11:14 50:53 46:49 0:3 ];%16 RX在方位维的坐标,单位为lambda/2
TI_Cascade_RX_ID = [13 14 15 16 1 2 3 4 9 10 11 12 5 6 7 8 ]; %RX channel order on TI 4-chip cascade EVM。固定的
TxToEnable = [12 11 10 9 8 7 6 5 4 3 2 1];
TxForMIMOProcess = TxToEnable;
%TxForMIMOProcess = [1:9 ];
[IdTxForMIMOProcess ia ib] = intersect(TxForMIMOProcess, TxToEnable,'stable' );
if length(IdTxForMIMOProcess)~= length(TxForMIMOProcess)
error('TX channel used for processing is not valid')
end
RxForMIMOProcess = TI_Cascade_RX_ID; %using all 16 RXs, user can also choose subset of RXs for MIMO data analysis
%RxForMIMOProcess = [1:8];
D_TX = TI_Cascade_TX_position_azi(TxToEnable(ib)); %TX方位天线坐标
D_TX_ele = TI_Cascade_TX_position_ele(TxToEnable(ib));%TX仰角天线坐标
D_RX = TI_Cascade_RX_position_azi(RxForMIMOProcess); %RX方位天线坐标
D_RX_ele = TI_Cascade_RX_position_ele(RxForMIMOProcess);%RX仰角天线坐标
%draw the virtual array
plotArray = 1;
RX_id_tot = [];
RX_id_tot_ele = [];
if plotArray == 1
figure(1);
end
for ii = 1:length(D_TX)
RX_id_new = D_RX + sum(D_TX(ii));%TX与RX的方位坐标之和,即虚拟通道的水平维坐标
RX_id_tot = [RX_id_tot RX_id_new];
RX_id_new_ele = D_RX_ele + D_TX_ele(ii);
RX_id_tot_ele = [RX_id_tot_ele RX_id_new_ele];%TX与RX的仰角坐标之和,即虚拟通道的俯仰维坐标
if plotArray == 1
plot(RX_id_new,RX_id_new_ele,'o');grid on; hold on
ylim([-8 8])
end
end
D(:,1) = RX_id_tot;%方位维,相当于x轴坐标
D(:,2) = RX_id_tot_ele;%俯仰维,相当于y轴坐标
ind = find(D(:,2)==0);%寻找D中所有y轴坐标为0的索引
[val ID_unique] = unique(D(ind,1));%寻找所有y轴坐标为0的数据中不重合的数据和索引。相当于找出不重合的86个通道
antenna_azimuthonly = ind(ID_unique); %virtual channel ID only for unique azimuth ID
接收天线是按照12,11,10,9,8,7,6,5,4,3,2,1使能的,所以对接收到的数据不需要再对Tx重新排序