ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

相控阵天线设计与MATLAB仿真:从阵因子到方向图实战

相控阵天线设计与MATLAB仿真:从阵因子到方向图实战 1. 从“第15章”说起为什么相控阵值得单独开一章先说个背景。Mahafza的《雷达系统分析与设计MATLAB版》第三版前十四章基本把经典雷达系统的链路算了个遍雷达方程、目标起伏模型、杂波、动目标显示、脉冲多普勒、跟踪滤波全是单脉冲、机械扫描这类传统架构下的分析框架。到了第五部分“关于雷达的一些特殊主题”作者把目光从“天线朝哪转”转向“波束怎么自己拐弯”第15章专门讲相控阵天线。我的阅读笔记核心就在这一章。相控阵不是“多几个阵元排一排”那么简单。它意味着雷达体制的设计逻辑变了机械扫描时代天线口径和扫描速率是矛盾的口径越大增益越高但转动惯量越大扫描越慢。相控阵通过电控相位差改变波束指向扫描速率只受移相器切换时间和波形设计约束不再受机械转动限制。所以这一章必须单独拎出来因为后续的杂波抑制、自适应波束形成、MIMO雷达全都建立在“阵列流形”这个基础上。如果你是做雷达系统仿真、信号处理算法验证或者正在看毫米波雷达、Ku波段相控阵模型这类工程问题这一章是绕不开的底子。我写这篇笔记不打算复述书里的公式推导而是把第15章里那些“书上一句话、实操跑断腿”的细节拆开讲配合MATLAB仿真代码讲清楚相控阵天线设计里真正影响系统性能的几个关键环节。2. 相控阵天线整体设计思路拆解2.1 为什么相控阵要“相位”来控制相控阵的基本原理书里的推导很简洁等间距线性阵列中相邻阵元接收同一个远场平面波时存在一个固定的空间相位差大小是\(2\pi d \sin\theta / \lambda\)。反过来如果我们在每个阵元的发射通道里预置一个相位延迟让各阵元辐射的球面波在某个方向上同相叠加波束最大值就指向那个方向。用生活里的例子理解一群人手拉手排成一排同时以相同速率向同一方向扔石子石子在水面激起的波纹会在正前方最强如果你想让波纹偏向右边就得让右边的人先扔、左边的人后扔通过“时间先后差”实现“空间方向偏转”。相控阵的移相器干的就是这个“先后差”的事只不过把时间差转化成了相位差。这个设计思路的工程价值在于相位差是频率相关的但窄带雷达系统中带宽相对于载频很小相位差可以用固定的移相器近似实现。宽带系统则需要真时延单元来解决波束偏斜问题。书里第15章的推导默认窄带条件我在仿真时也按窄带处理但心里要清楚这个适用边界。2.2 无源相控阵与有源相控阵的取舍书里把相控阵分成无源相控阵PESA和有源相控阵AESA这两者的区别直接决定雷达系统成本和可靠性布局。无源相控阵只有一个集中式发射机通过馈电网络把大功率信号分配到各阵元天线端的移相器只负责控制相位。优点是技术成熟度低、成本较易控制缺点也很明显馈线损耗大发射功率在分配网络里损耗不少系统效率低而且一旦集中式发射机故障整部雷达瘫痪。有源相控阵的每个阵元后端都集成一个收发组件T/R组件包含功率放大器、低噪声放大器、移相器和收发开关。发射功率在阵元端直接放大避免了馈线损耗接收时信号在阵元端先放大再合成噪声系数更优。更重要的是AESA的失效容错能力很强少量T/R组件失效只是方向图副瓣略微抬升系统性能降级但不会停机。这在实战和长期工作场景里是决定性的优势。我在系统级仿真时通常按AESA建模因为T/R组件级联的噪声系数、增益、饱和功率这些参数都能从器件手册拿到仿真结果更容易贴近实际设备。PESA模型虽然也能建但集中式发射机的功率合成损耗建模比较繁琐精度反而不容易保证。2.3 第15章里最容易忽略的三个假设通读第15章有三个隐含假设容易被读者一带而过但对仿真结果影响很大第一个是阵元方向图各向同性假设。书里的方向图乘积定理把阵列方向图写成阵元方向图和阵因子相乘但实际工程中微带贴片天线、偶极子天线的方向图都不是全向的。宽角扫描时阵元方向图会显著压低大扫描角附近的增益仿真时必须乘上真实的阵元方向图否则你算出来的波束宽度和增益都是乐观值。第二个是互耦忽略假设。阵元间距小比如小于半个波长时相邻阵元间的电磁耦合不可忽略会改变阵元的输入阻抗和有源反射系数导致阵列方向图畸变、副瓣抬高。MATLAB里直接做的阵因子仿真不含互耦但实际天线阵全波仿真HFSS、CST结果会和理想阵因子有明显偏差这一点我在后面的验证实验里会展示对比。第三个是均匀幅度激励假设。第15章先推导了均匀激励下的方向图用来解释主瓣宽度和第一副瓣电平的关系。工程上为了压低副瓣普遍采用泰勒加权、切比雪夫加权等幅度锥削。副瓣压低了但波束宽度会相应展宽增益也有损失。这一段书上没有展开但工程实践里这几乎是必做的一步。3. 核心参数解析与仿真要点3.1 阵元间距的选择栅瓣问题不是“小于半个波长”就完事书里给出的栅瓣条件阵元间距 \(d\) 必须小于 \(\lambda/(1|\sin\theta_{\max}|)\)才能保证在最大扫描角 \(\theta_{\max}\) 内不出现栅瓣。极端情况是扫描到侧射 \(\pm90^\circ\)那就要求 \(d \le \lambda/2\)。这个公式我背得滚瓜烂熟但真正做设计时踩过坑。用MATLAB仿真时如果你设置的阵元间距恰好等于 \(\lambda/2\)扫描角到 \(90^\circ\) 时栅瓣会出现在 \(-90^\circ\)也就是波束在端射方向“翻跟头”。仿真图上看起来像同时出现两个对称主峰容易误判为多目标。实际工程中为了避免高频段对应最小波长的栅瓣以及考虑互耦恶化设计常用 \(d0.5\lambda_{\min}\) 或略小一点比如 \(0.45\lambda_{\min}\)牺牲少量口径效率换取稳健性。我个人的习惯是先做阵元间距扫描仿真画出不同间距下方向图的主瓣和栅瓣位置再根据目标扫描范围确定间距。这个流程能直观看到间距从0.5λ变化到0.7λ时栅瓣是怎么从边界外突入可视区的。不亲自跑一遍光看公式容易忽略栅瓣的“渐进式入侵”过程。3.2 波束宽度的仿真口径均匀激励线性阵列的波束宽度公式书里给的是 \(BW_{3dB} \approx 0.886\lambda/(Nd\cos\theta_0)\)其中 \(N\) 是阵元数。这里的 \(Nd\) 其实就是阵列口径尺寸。这说明波束宽度由阵列物理口径决定和阵元数、阵元间距的组合关系并不唯一同样口径8个阵元间距0.5λ和16个阵元间距0.25λ波束宽度几乎一样但栅瓣风险和互耦情况完全不同。做系统链路预算时波束宽度直接决定角度分辨率和搜索帧时间。机械扫描雷达要一个波束一个波束地扫相控阵则可以通过多个同时波束提高搜索效率但每个波束的宽度受限于子阵划分。第15章里对子阵结构的讨论比较简略实际设计相控阵时子阵划分直接决定数字通道数量和波束形成自由度这是个“成本vs自由度”的核心博弈。3.3 扫描损失阵因子方向图在扫描角上的畸变书里解释了相控阵波束扫描时由于阵因子投影效应有效口径在扫描方向上缩小导致增益按 \(\cos\theta_0\) 下降扫描角 \(\theta_0\) 从法线算起。同时波束宽度按 \(1/\cos\theta_0\) 展宽。这两者叠加扫描到60°时增益损失典型在3~4dB波束展宽到约两倍。这个损失对搜索雷达的影响是边缘覆盖区域的探测距离明显下降。第15章对扫描损失的公式有明确推导但系统设计时我习惯直接看扫描角-增益损失曲线比如扫描0°、30°、45°、60°四个角度下的方向图叠加图直观评估边缘覆盖能力。如果边缘损失超过预期就需要考虑用余割平方波束赋形或者多面相控阵来补偿。3.4 幅度加权副瓣和主瓣的“零和博弈”泰勒加权是相控阵工程中最常用的低副瓣加权方式。它的特点是近副瓣按等电平分布远副瓣按 \(1/n\) 衰减主瓣宽度展宽系数和副瓣电平之间有个查表关系。第15章没有详细展开泰勒加权但方向图乘积定理明确告诉我们阵因子可以用幅度加权来塑造。MATLAB仿真里用泰勒加权时有一个常被忽略的细节泰勒窗的 \(\bar{n}\)等副瓣电平区内副瓣个数参数必须和阵列尺寸匹配。如果 \(\bar{n}\) 取值过大或者过小方向图近旁瓣区域会出现“翘尾巴”达不到设计副瓣电平。仿真时我先用内置的taylorwin(N, nbar, sll)函数再看方向图实际副瓣和预设值的偏差。如果第一副瓣低于设计值但第二副瓣抬高了多半是 \(\bar{n}\) 设小了。3.5 量化副瓣低位数移相器的隐形代价第15章专门讨论了几位移相器对副瓣电平的影响。理想连续移相器可以通过任意相位实现精确指向但工程上的移相器是数字的比如5位、6位最小相移量分辨率为 \(360^\circ/2^B\)。量化误差在方向图上表现为量化副瓣。这个问题的可怕之处在于均匀激励阵列的量化副瓣只和移相器位数有关和阵元数无关。书里给了经验公式量化副瓣电平约等于 \(-6B\) dBB为移相器位数。我实测5位移相器对应的量化副瓣约 -30dB6位约 -36dB。如果你费半天劲把泰勒加权做到 -35dB 的副瓣结果移相器位数不够量化副瓣直接抬到 -30dB加权就白做了。做低成本相控阵时移相器位数是最容易踩的坑。很多方案为了省钱用4位甚至3位移相器标称“副瓣-20dB”实际仿真方向图被量化副瓣抬得惨不忍睹。我的建议是设计副瓣电平至少要给量化副瓣留6dB以上的裕量否则不要谈副瓣指标。4. MATLAB仿真实操从阵因子到完整阵列方向图4.1 仿真环境与工具箱说明我用的MATLAB版本是R2022b相控阵相关的代码主要用到Phased Array System Toolbox里面的phased.URA、phased.ULA、phased.SteeringVector这些对象封装得很完整可以直接计算阵列流形、方向图和波束扫描。对于只想理解原理的人其实不用工具箱手写阵因子公式也不难代码量大概二十行。不过实话说工具箱在快速验证系统方案时效率极高建一个16阵元均匀线阵、指定载频、计算阵因子的方向图十行代码之内能出图。手写公式的好处是灵活比如自定义阵元方向图、非均匀阵元布局工具箱反而不太好扩展。我的做法是两者结合先用工具箱搭框架再用 MATLAB 脚本写自定义方向图做对比验证两边结果能对上才能确认仿真没跑偏。4.2 设计一个16阵元均匀线阵的完整流程我以一个14GHzKu波段的16阵元均匀线阵为例演示整个仿真流程。这个频率贴近车载毫米波雷达之外的典型相控阵频段也符合你看到的相关热词里“ku相控阵天线模型”的工程背景。阵元间距取 \(0.5\lambda\)\(\lambda 21.4mm\)所以间距约10.7mm。仿真流程如下% 参数设置 fc 14e9; lambda physconst(LightSpeed) / fc; d lambda / 2; N 16; % 创建均匀线阵 ula phased.ULA(NumElements, N, ElementSpacing, d); figure; viewArray(ula);运行viewArray可以看到阵元排布这一步帮我确认阵元数量和几何关系是否正确。接着计算阵列方向图。先把阵元方向图设置为各向同性对比后面再加上微带贴片方向图看看真实阵元对扫描性能的影响% 计算法线方向的方向图方位角0度对应侧射 steerAng 0; resp pattern(ula, fc, -90:0.1:90, 0, ... Type, powerdb, Normalize, true, ... Weights, ones(N,1)); plot(-90:0.1:90, resp, LineWidth, 1.5); grid on; xlabel(方位角 (deg)); ylabel(归一化方向图 (dB)); title(16元均匀线阵侧射方向图);跑出来之后第一副瓣应该在 -13.26dB 左右这是均匀线阵的理论值。如果你仿真出来第一副瓣高于 -13dB检查一下角度分辨率是不是太粗方向图采样间隔建议不超过0.1°。4.3 波束扫描仿真把主瓣“掰”到30度接下来看波束扫描效果。用phased.SteeringVector计算指向30°时各阵元所需的相位加权然后重新计算方向图% 目标扫描角30度 scanAngle 30; sv phased.SteeringVector(SensorArray, ula, PropagationSpeed, physconst(LightSpeed)); w sv(fc, [scanAngle; 0]); % 方位30度俯仰0度 % 扫描后的方向图 resp_scan pattern(ula, fc, -90:0.1:90, 0, ... Type, powerdb, Normalize, true, Weights, w); % 与侧射方向图对比 figure; plot(-90:0.1:90, resp, LineWidth, 1.5); hold on; plot(-90:0.1:90, resp_scan, LineWidth, 1.5); legend(侧射, 扫描30°); grid on; xlabel(方位角 (deg)); ylabel(归一化方向图 (dB)); title(16元均匀线阵波束扫描对比);一次扫描能直接看到两个现象一是波束峰值位置移动到30°二是波束宽度变宽了这是因为阵因子在扫描方向的投影口径缩短。如果观察副瓣还会发现扫描方向一侧的副瓣相对抬高这在均匀加权下尤其明显。4.4 泰勒加权实战副瓣从-13dB压到-35dB接下来给阵列加泰勒幅度加权。工具箱里可以直接从窗函数生成加权系数% 泰勒窗-35dB副瓣nbar4 taylor_w taylorwin(N, 4, -35); % 归一化方向图 resp_taylor pattern(ula, fc, -90:0.1:90, 0, ... Type, powerdb, Normalize, true, Weights, taylor_w); figure; plot(-90:0.1:90, resp, LineWidth, 1.5); hold on; plot(-90:0.1:90, resp_taylor, LineWidth, 1.5); legend(均匀加权, 泰勒加权); grid on; xlabel(方位角 (deg)); ylabel(归一化方向图 (dB)); title(泰勒加权对副瓣的抑制效果);泰勒加权后第一副瓣应该在 -35dB 附近但主瓣宽度会比均匀加权宽大约 20% 到 30%。具体展宽倍数和 \(\bar{n}\) 有关\(\bar{n}\) 越小主瓣展宽越大、副瓣衰减越快。这个“副瓣降低换来主瓣变宽”的关系在雷达搜索模式下意味着角度分辨率下降所以系统设计时不能一味追求低副瓣。4.5 加入阵元方向图后的真实扫描性能到这里为止方向图都是基于各向同性阵元。接下来我做了一个微带贴片天线方向图的建模看真实阵元对扫描副瓣和增益的影响。假设阵元方向图是 \(\cos^{1.5}\theta\) 形式的近似微带贴片方向图。手动计算方向图乘积% 阵元方向图近似cos^1.5(theta) ang_deg -90:0.1:90; ang_rad deg2rad(ang_deg); elem_pat cos(ang_rad).^1.5; elem_pat(ang_deg -90 | ang_deg 90) 0; % 阵因子扫描到30度 AF zeros(size(ang_deg)); k 2*pi/lambda; for idx 1:N AF AF taylor_w(idx) * exp(1j*k*d*(idx-1) * (sin(ang_rad) - sin(deg2rad(30)))); end AF_dB 20*log10(abs(AF)/max(abs(AF))); % 完整方向图 阵元方向图 阵因子 full_pat_dB 20*log10(abs(elem_pat .* AF) / max(abs(elem_pat .* AF))); figure; plot(ang_deg, AF_dB, LineWidth, 1.5); hold on; plot(ang_deg, full_pat_dB, LineWidth, 1.5); legend(阵因子, 完整方向图阵因子×阵元方向图); grid on; xlabel(方位角 (deg)); ylabel(归一化方向图 (dB)); title(阵元方向图对阵列方向图的影响扫描30°);扫描到30°时阵元方向图在30°处的增益下降不大但如果你扫描到60°阵元方向图已经衰减到约 -4.5dB阵列方向图的增益损失比单纯考虑 \(\cos\theta\) 投影效应还要严重。这一步是我做相控阵系统预算时最容易忽略的地方因为纯阵因子仿真会“自我感觉良好”实际装上天线阵之后方向图就会露出真面目。5. 量化副瓣仿真亲眼看看移相器位数有多关键理想相控阵的基础是相位精度的无穷分辨率但实际数字移相器只有有限位。我用MATLAB仿真几种常见移相器位数下的方向图直观展示量化副瓣的“抬升力”。以16阵元、扫描30°为例bits_list [4, 5, 6, 8]; figure; hold on; for b bits_list phase_ideal angle(w); % 理想相位 quant_step 2*pi / 2^b; phase_quant round(phase_ideal / quant_step) * quant_step; w_quant exp(1j * phase_quant); resp_q pattern(ula, fc, -90:0.1:90, 0, ... Type, powerdb, Normalize, true, Weights, w_quant); plot(-90:0.1:90, resp_q, LineWidth, 1.2, DisplayName, [num2str(b) 位]); end legend show; grid on; xlabel(方位角 (deg)); ylabel(归一化方向图 (dB)); title(不同移相器位数下的方向图); ylim([-45 0]);仿真结果显示4位移相器的量化副瓣明显出现在 -24dB 附近5位在 -30dB6位在 -36dB和书里的经验公式对得上。这个仿真的真正价值在于提醒你预算表里写着“副瓣 -35dB”到硬件设计时如果选了5位移相器最终副瓣连 -30dB 都保不住。系统的副瓣指标必须先减去量化副瓣带来的裕量再定移相器位数。5.1 仿真结果怎么和系统指标匹配做完整阵列方向图仿真后下一步就是把结果折算到雷达方程里。相控阵雷达方程的典型表达是 \(SNR P_t G_t G_r \lambda^2 \sigma / ((4\pi)^3 R^4 k T_0 B F L)\)。这里的 (G_t) 和 (G_r) 不能直接用单个阵元的增益乘阵元数要考虑扫描损失、加权损失、馈电损耗。一个有源相控阵发射时总增益约等于 \(N^2\) 倍单阵元增益在阵因子方向图峰值方向的值接收时总增益约等于 \(N\) 倍单阵元增益在合成方向图峰值方向的值。在第15章的配套例题里Mahafza按照这个逻辑做了详细演算但很多读者只记公式不看应用条件直接把阵元数当增益倍数算出来的探测距离乐观一大截。我的实操习惯是每做完一次方向图仿真就把仿真得到的峰值增益、第一副瓣电平、3dB波束宽度记录下来写进一个统一的“阵列预算表”再输入雷达方程。这样才能看出扫描到30°和60°时探测距离到底退化多少。6. 常见问题与排查技巧实录6.1 方向图主瓣峰值位置不对排查思路第一步检查相位加权公式里有没有把“传播相位差”和“补偿相位差”搞反。对接收阵来说需要补偿的相位是 \(2\pi d\sin\theta/\lambda \cdot (i-1)\)方向图计算的波束指向才是目标方向。我的排查方法是固定一个已知扫描角比如30°手动计算各阵元理想相位再和SteeringVector输出的结果对比差在浮点误差范围内就说明加权没问题。如果差得远优先检查角度单位phased.SteeringVector默认单位是度但exp里的相位计算要用弧度单位混用是最常见的低级错误。6.2 第一副瓣电平偏高试过“均匀加权方向图第一副瓣正好 -13.26dB”这个理论值但实际仿真副瓣经常高于这个值。若高得不多比如 -12.5dB检查方向图角度采样间隔间隔越大峰值附近采样偏差越大副瓣读数越不准。若副瓣高出2dB以上重点检查是不是阵元数量太少导致阵列流形里的边缘效应或者阵元间距不严格等间距。另一个隐蔽原因是边界阵元的幅度加权没有和窗函数完全对齐泰勒窗首尾元素接近0但非零如果直接截断会破坏窗函数的频谱特性。6.3 量化副瓣怎么判断是否达标工程判定标准我认为不能只看仿真。仿真里量化副瓣的位置和幅度是确定性的但实际硬件里移相器的插入损耗误差、幅度不一致性会导致随机误差副瓣。通用的经验法则是随机幅度误差 \(\Delta A/A\) 对应的副瓣抬高约 \(-20\log_{10}(\Delta A/A)\)。也就是说如果T/R组件的幅度不一致性控制在0.5dB系统副瓣能达到的水平约为 -36dB控制到1dB就得接受 -30dB 的副瓣底限。这个判断在方案阶段就很有用不用等样机出来才发现副瓣超标。6.4 扫描到60°方向图“塌陷”如果你把波束扫描到60°以上发现波束增益骤降、副瓣剧烈抬升不要怀疑公式写错先看是不是漏了阵元方向图。比如我前面提到的微带贴片阵元其方向图在 \(\pm90^\circ\) 附近几乎是0阵列方向图在60°以上的增益被阵元方向图“掐掉”了。此时如果系统需求确实要求大扫描角覆盖就要考虑使用宽波束阵元比如偶极子、Vivaldi天线或者更低剖面设计。这是天线选型和系统需求之间的强耦合光靠阵列信号处理解决不了。7. 从第15章出发可以延伸的方向相控阵天线的知识密度在整本书里算是比较高的。第15章后面接着的题目通常包括低截获概率雷达、MIMO雷达、自适应数字波束形成这些专题全都依赖阵列结构。读完这一章用MATLAB把阵列方向图、波束扫描、幅度加权、量化副瓣这几个环节亲手跑一遍再去看后面的自适应算法起码不会在“阵列流形矩阵”这种基础概念上卡壳。在做相关热词里“4d毫米波雷达检测模型”和“毫米波人体存在雷达”这类工程问题时相控阵的基础依然一样MIMO雷达的虚拟阵列本质上是发射阵列和接收阵列的克罗内克积它形成的虚拟孔径比物理孔径更大波束更窄这就直接提升角度分辨率。如果你理解了第15章的均匀线阵方向图公式MIMO虚拟阵列的方向图计算思路几乎零成本迁移。最后再分享一个我看这一章的小技巧不要只盯着公式推导把书里每个“例如”都当成一个仿真实验来对待。Mahafza在书中给的例题用MATLAB实现一遍再把参数改一改、扫描角改一改看方向图怎么变。这个过程比反复读推导更能建立直觉。相控阵天线不是玄学是电磁场、阵列信号处理和系统预算三件事拧在一起的技术用仿真的方式逐步验证最能帮助建立系统的全局观。
返回列表