【Matlab应用】:相控阵天线方向图合成及波束扫描算法实现

您所在的位置:网站首页 圆形阵列方向图 【Matlab应用】:相控阵天线方向图合成及波束扫描算法实现

【Matlab应用】:相控阵天线方向图合成及波束扫描算法实现

2024-07-14 03:36| 来源: 网络整理| 查看: 265

阅读本文,你可能解决什么?

怎样由单天线仿真或测试的方向图,合成得到2D阵列的方向图?

怎样馈相实现阵列天线波束扫描?

怎样编程模拟方向图合成和波束扫描?

阅读本文,你可能收获什么?

Matlab编写的均匀平面阵列方向图合成及波束扫描的代码。

形象、直观的理解阵列天线的☆☆☆阵因子☆☆☆到底是什么? 

        各种基于实际应用的Matlab编程,可关注相关系列文章或回答。下链接也可直达本文。

(1 条消息) 如何利用matlab进行均匀线性阵列的仿真? - 知乎 (zhihu.com)icon-default.png?t=M3C8https://www.zhihu.com/question/392647576/answer/2441103022

一、算法原理 1.1 阵列天线方向图合成

将单元天线组阵,可增强整体的方向性。控制阵列天线方向图的主要因素有4个:

单元方向图: E(\theta_{i},\phi_{j}) ,即随空间 (\theta_{i},\phi_{j}) 角变化的幅度和相位数据。可用复数矩阵表示

单元间距: d_{x},d_{y}

单元天线馈电幅度:a_{k} (第 k 个单元天线馈电幅度)

单元天线馈电相位: \phi_{k} (第 k 个单元天线馈电相位)

阵因子 (组阵可形象的理解为对单元方向图加了赋形窗)

        阵列天线方向图的计算,并通过阵列中单个单元的远场乘以阵列的阵因子(Array Factor, AF )来得到。

        设:每个天线为点源,组成M*N元的二维均匀平面阵,其中,X轴方向N个单元,间距d_{x},Y轴方向M个单元,间距d_{y} ;单元天线馈电计为: A_{k} ( A_{k}=a_{k}e^{j\phi_{k}} ),则阵列天线的阵因子AF 为:

AF(\theta_{i},\phi_{j})=\sum_{n=0}^{N-1}{A_{n}}e^{j\beta nd_xsin\theta_{i} cos\phi_{j}} \sum_{m=0}^{M-1}{A_{m}}e^{j\beta md_ysin\theta_{i} sin\phi_{j}}

注:阵列因子AF取与单元方向图相同维度的数据,可视为给单元方向图赋形的窗函数

        则M*N元的二维均匀平面阵合成的方向图 E_{syn} 有:

E_{syn}=E(\theta_{i},\phi_{j})*AF(\theta_{i},\phi_{j})

☆☆☆☆☆阵因子到底是什么?☆☆☆☆☆

        一个编写程序才更深入理解的知识点。如下图所示某7*7阵列的阵因子。

​某7*7阵列的阵因子

1.2 相控阵天线波束扫描

        同样,以M*N元的二维均匀平面阵为例。

        假设:X方向相邻单元之间馈电相位差为 \Delta\phi_x , Y方向相邻单元之间馈电相位差为\Delta\phi_y

        通过控制移相器改变\Delta\phi_x\Delta\phi_y 值,就可以实现阵列天线的波束扫描。

        如需将波束指向空间的某个角度(\theta_{s},\phi_{t}),则:

\Delta\phi_x=\beta d_x sin\theta_{s} cos\phi_{t}

\Delta\phi_y=\beta d_y sin\theta_{s} sin\phi_{t}

        下面,对上述算法进行编程,并做验证。

        首先,需仿真一个单元天线得到2D方向图数据,再假设组成的阵列,软件合成阵列方向图及波束扫描方向图;

        其次,编写代码;

        最后,跟软件仿真结果对比,验证代码的准确性。

二、仿真 2.1 单元天线

        可使用商业软件,仿真得到单元天线的方向图。

​软件仿真-单元方向图

2.2 阵列方向图合成

        假设组成7*7的均匀阵列,具体参数见代码行。采用软件进行仿真,结果示例如下。

波束扫描角度:(0,0)

软件合成-3D-(0,0)

波束扫描角度:(60,30)

软件合成-3D-(60,30)

三、代码

        画将2D方向图转化为3D方向图,非常有用的库函数。

sph2cart

        将球面坐标转换为笛卡尔坐标。

语法

[x,y,z] =sph2cart(azimuth,elevation,r)

示例

[x,y,z] = sph2cart(deg2rad(Phi),pi/2-deg2rad(Theta),FieldPlot);

        将球面坐标数组 Phi、Theta和 FieldPlot 的对应元素转换为笛卡尔坐标,即 xyz 坐标。其中,FieldPlot 为2D方向图的幅度(线性值)。

主函数

        初步编写的方向图合成及波束扫描的代码如下。后续拟进一步以阵元位置为索引,计算阵因子及馈电相位。

%% 7*7单元天线合成 % 已知信息**************************************************************** mLine = 7;% y方向单元个数 nRow = 7;% x方向单元个数 dxmm = 12.5;% x方向单元间距,单位:mm dymm = dxmm;% y方向单元间距,单位:mm f0Ghz = 10;% 工作频点,单位:GHz thetaScanDeg = 0;% 波束指向θ角 phiScanDeg = 0;% 波束指向φ角 % 单元方向图信息(以主极化分量为例) Theta;%2D远场的theta角矩阵 Phi;%2D方向图的phi角 FieldThetaComplex;% 2D远场的复数值 % 已知信息**************************************************************** % 求解********************************************************************* c0 = 3*1e8; lamda0 = c0./(f0Ghz*1e9); beta0 = 2*pi/lamda0; % 生成天线位置坐标。 xPosmm = -dxmm*(nRow-1) /2:dxmm:dxmm*(nRow-1) /2; yPosmm = -dymm*(mLine-1)/2:dymm:dymm*(mLine-1)/2; [xMatrixPosmm yMatrixPosmm] = meshgrid(xPosmm,yPosmm); % 波束扫描,相邻列(delPhiX)与相邻行(delPhiY)所需的单位相位差 delPhiXDegFed = rad2deg(beta0*(dxmm*1e-3)*sind(thetaScanDeg)*cosd(phiScanDeg));% 单位:° delPhiYDegFed = rad2deg(beta0*(dymm*1e-3)*sind(thetaScanDeg)*sind(phiScanDeg)); % 方向图合成及波束扫描 FieldThetaSynthesisComplex = 0; FieldPhiSynthesisComplex = 0; delPhiXY = 0;%第1个单元初始相位 for iLine = 1:mLine%先固定行 for iRow = 1:nRow% 不同的列 delPhiXArrayRad = (dxmm*1e-3).*sind(Theta).*cosd(Phi)/lamda0*2*pi .*(iRow-1);% 单位:deg。相比于基准阵元,子阵元在x方向积累的相位 delPhiYArrayRad = (dymm*1e-3).*sind(Theta).*sind(Phi)/lamda0*2*pi.*(iLine-1);% 单位:deg。相比于基准阵元,子阵元在y方向积累的相位 delPhiArrayRad = delPhiXArrayRad+delPhiYArrayRad;% 相比于基准阵元,子阵元阵积累的总相位 delPhiXY(iLine,iRow) = delPhiXDegFed*(iRow-1)+delPhiYDegFed*(iLine-1);% 单位:deg。波束扫描,计算每个位置的单元天线所需馈的相位量 FieldThetaSynthesisComplex = FieldThetaSynthesisComplex + FieldThetaComplex.*exp( 1j.*delPhiArrayRad )*exp(-1j.*deg2rad(delPhiXY(iLine,iRow)));% 单元方向图,先乘阵因子,再加馈电的相位 FieldPhiSynthesisComplex = FieldPhiSynthesisComplex + FieldPhiComplex .*exp( 1j.*delPhiArrayRad )*exp(-1j.*deg2rad(delPhiXY(iLine,iRow))); end end% 方向图合成及波束扫描完毕 四、结果对比 4.1 1D结果对比

        波束扫描角度(0,0),截取phi=0°的平面上的方向图,归一化对比结果如下:

(0,0)-phi=0

        波束扫描角度(60,30),截取phi=30°的平面上的方向图,归一化对比结果如下:

(60,30)-phi=30

4.2 2D结果

        调用Matlab的sph2cart函数,画出3D方向图如下。

波束扫描角度:(0,0)

代码计算-3D-(0,0)

波束扫描角度:(60,30)

代码计算-3D-(60,30)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3