☰
五类天线阵列方向图对比:从栅瓣抑制到旁瓣量化实战
2026/10/16 1:21:18 网站建设 项目流程

简介:本资源是一份面向通信工程专业本科生、天线方向初学者及无线系统设计从业者的阵列天线方向图分析实践材料,聚焦于单元数、阵元间距与波长三个核心参数对辐射方向图的影响机制,解决理论学习中方向图变化规律难直观理解、参数耦合关系难量化对比的典型问题。压缩包为2KB的ZIP文件,共含4个MATLAB源码文件(.m格式),分别实现基础阵列建模、单元数量扫描、波长参数化分析及方向图可视化绘制,代码结构清晰、注释完整,可直接运行生成多组对比方向图曲线。目前已有2133人学习下载,读者可即刻获取一套轻量但完整的阵列方向图仿真分析框架,掌握从参数设置、相位合成到极坐标绘图的全流程实现逻辑,并通过修改输入变量快速验证不同配置下的主瓣宽度、旁瓣电平与零点位置变化规律,为后续波束赋形或MIMO系统设计打下扎实的仿真基础。

1. 几种阵列的方向图比较:不是画几条曲线就完事,而是看清波束指向、旁瓣压制与栅瓣起因的实操门槛

你手头有一组等距线阵数据,MATLAB 里pattern一跑,五条方向图叠在一起——看起来很美,但真要判断哪个阵列更适合某段频带下的窄角测向?哪个在 30° 方向存在不可忽略的栅瓣干扰?哪个的 -20dB 旁瓣宽度超出了系统容限?这时候图形只是表象,背后是阵元间距、激励幅度/相位分布、阵列几何构型三者耦合的物理约束。这份「几种阵列的方向图比较」资源,不是教学PPT截图合集,而是一套可复现、可参数化、带完整推导链路的 MATLAB 实战工程包:含均匀线阵(ULA)、切比雪夫加权线阵、端射阵、弯折线阵(bent-linear)及稀疏阵(随机布阵+凸优化重构)五类典型构型的建模脚本、方向图计算核心函数、归一化增益与旁瓣电平自动标注逻辑,以及最关键的——每个阵列的可调参数表与物理边界说明文档。适合正在做天线系统预研、射频前端指标拆解或课程设计答辩前最后验证的工程师与高年级本科生。它不讲麦克斯韦方程推导,但每行代码都对应一个可测量的硬件约束。


2. 从物理模型到方向图:五类阵列的建模逻辑与MATLAB实现路径

2.1 均匀线阵(ULA):基准模型与归一化处理的强制约定

ULA 是所有比较的起点,但“均匀”二字常被误读为“等幅同相”。实际工程中,必须明确三个基准:参考阵元位置(通常设为原点)、波长 λ 的取值依据(是否按中心频率 f₀ 计算?是否考虑介质等效波长?),以及方向图归一化方式(是各阵列单独归一,还是统一以 ULA 最大值为基准?)。本资源采用后者,确保对比公平性。核心建模代码如下:

% 参数定义(全部显式声明,避免隐式全局变量) N = 8; % 阵元数 d_lambda = 0.5; % 阵元间距 / 波长(关键!决定栅瓣起始角) f0 = 2.4e9; % 中心频率(Hz) c = 2.99792458e8; % 光速(m/s) lambda = c / f0; % 自由空间波长(m) d = d_lambda * lambda; % 实际物理间距(m) % 构建阵元位置向量(单位:米) pos_ula = (0:N-1)' * d; % 列向量,第i个阵元x坐标 % 激励向量:默认等幅同相,但预留接口 w_ula = ones(N, 1); % 幅度全1,相位全0 % 计算阵因子AF(theta):theta为角度向量(弧度) theta_rad = linspace(-pi/2, pi/2, 1801); % -90° to +90°,步进0.1° k = 2*pi / lambda; % 波数 AF_ula = zeros(size(theta_rad)); for i = 1:length(theta_rad) psi = k * d * sin(theta_rad(i)); % 相位差累积项 AF_ula(i) = sum(w_ula .* exp(1j * (0:N-1)' * psi)); end % 归一化:以ULA自身最大值为1,其他阵列均以此为分母 AF_ula_norm = abs(AF_ula) / max(abs(AF_ula));

注意:d_lambda = 0.5是ULA无栅瓣的理论上限,但实际加工公差、馈电相位误差会使其在 60° 附近出现 > -30dB 的伪栅瓣。本资源在后续“避坑”章专门验证此现象。

2.2 切比雪夫加权线阵:用多项式约束旁瓣,而非简单余弦窗

切比雪夫加权的目标是在给定主瓣宽度下实现最低旁瓣电平(SLL),这与汉宁、巴特利特等窗函数有本质区别:后者优化时域旁瓣,前者直接约束方向图空间域。资源中采用递推公式生成系数,避免调用chebwin(该函数输出的是时域窗,需经傅里叶变换才得方向图,引入额外插值误差):

function w_cheby = cheby_weight(N, R) % N: 阵元数;R: 旁瓣电平比(线性值,非dB!例:R=100 对应 -20dB) % 基于Chebyshev多项式零点构造,保证等波纹旁瓣 if mod(N,2) == 0 M = N/2; beta = acosh(sqrt(R))/M; for m = 1:M theta_m = (2*m-1)*pi/(2*M); x_m = cosh(beta) * cos(theta_m); % 构造多项式根,再转为系数... end else % 奇数阵元处理略(资源包内含完整实现) end end

关键参数R必须是线性比值(如 -20dB → R=100),若误输R=20将导致权重全为零。资源包内cheby_weight.m已内置输入校验,并附R-dB查照表。

2.3 端射阵与弯折线阵:打破“线性”假设的两种物理路径

端射阵(End-fire)通过控制相邻阵元相位差 Δφ ≈ k·d,使主瓣指向 θ=0° 或 180°。但常见错误是仅设Δφ = k*d而忽略:当 d>λ/2 时,该相位差会导致多解(如 Δφ=π 对应 θ=±90°),必须叠加幅度加权抑制反向波束。本资源采用Dolph-Chebyshev 端射设计法,在保证端射方向的同时,将反向辐射压至 -35dB 以下。

弯折线阵则解决平面阵成本问题:将 8 元直线阵弯折为 L 形(4+4),通过调整弯折角 α(30°~120° 可调),在保持总阵元数不变下,改变方向图对称性与零点位置。其建模难点在于位置向量必须用二维坐标表示,且方向图计算需用sind/cosd而非sin/cos(角度制输入):

% L形阵:x轴4元,y轴4元,共点在原点 alpha_deg = 90; % 弯折角(度) alpha_rad = deg2rad(alpha_deg); pos_lshape = [ (0:3)'*d, zeros(4,1); ... % x轴部分 zeros(4,1), (0:3)'*d*cos(alpha_rad) ]; % y轴部分(投影) % 注意:y轴阵元实际坐标需旋转,此处为简化示意,资源包内含严格坐标变换

2.4 稀疏阵(Sparse Array):随机布阵 vs 凸优化重构的实效分水岭

稀疏阵的核心价值是降低通道数与功耗,但“稀疏”不等于“随便删元”。资源包提供两种方案:

  • 随机稀疏:从 16 元满阵中随机保留 8 元,重复 100 次取平均方向图。结果表明:随机删除导致旁瓣随机抬升 8~12dB,且栅瓣位置不可控;
  • 凸优化稀疏:调用cvx工具箱,以最小化峰值旁瓣(min max|AF|)为目标,约束阵元数≤8、最小间距≥0.3λ。结果生成确定性布阵方案,其 -25dB 旁瓣宽度比ULA窄 15%,证明优化有效。

提示:cvx需提前安装,资源包sparse_optimize.m内含版本兼容检查(支持 CVX 3.0+)。


3. 方向图量化对比:主瓣宽度、旁瓣电平、栅瓣角的提取脚本

3.1 主瓣宽度(HPBW)的鲁棒提取算法

半功率波束宽度(HPBW)不能简单取abs(AF)>0.707*max(AF)的区间——当方向图存在平台区(如切比雪夫阵)或噪声毛刺时,该方法失效。本资源采用三次样条插值+局部极大值搜索:

% 输入:theta_rad(弧度),AF_norm(归一化阵因子) AF_dB = 20*log10(AF_norm + eps); % 避免除零 [~, idx_max] = max(AF_dB); theta_max = theta_rad(idx_max); % 在峰值两侧各取50点,拟合三次样条 left_span = max(1, idx_max-50):idx_max; right_span = idx_max:min(length(theta_rad), idx_max+50); spl_left = spline(theta_rad(left_span), AF_dB(left_span)); spl_right = spline(theta_rad(right_span), AF_dB(right_span)); % 求解 -3dB 交点(使用fzero) f_left = @(t) ppval(spl_left, t) + 3; f_right = @(t) ppval(spl_right, t) + 3; theta_3dB_left = fzero(f_left, theta_rad(idx_max-10)); theta_3dB_right = fzero(f_right, theta_rad(idx_max+10)); HPBW_rad = theta_3dB_right - theta_3dB_left; HPBW_deg = rad2deg(HPBW_rad);

该算法对毛刺不敏感,且在theta_3dB_left/right处自动校验插值有效性(超出原始角度范围则报错)。

3.2 旁瓣电平(SLL)与第一旁瓣位置的精准定位

SLL 定义为最高旁瓣相对于主瓣峰值的 dB 差值,但“旁瓣”需排除主瓣邻近的过渡区。资源设定:以 HPBW 边界为起点,向外搜索第一个局部极大值即为第一旁瓣。代码逻辑如下:

% 获取HPBW左右边界索引(上节已得) idx_hp_left = find(theta_rad >= theta_3dB_left, 1, 'first'); idx_hp_right = find(theta_rad <= theta_3dB_right, 1, 'last'); % 定义旁瓣搜索区域:左旁瓣(0到idx_hp_left-1),右旁瓣(idx_hp_right+1到end) side_regions = {1:idx_hp_left-1, idx_hp_right+1:end}; SLL_dB = -Inf; for i = 1:2 region = side_regions{i}; if isempty(region), continue; end % 在区域内找所有局部极大值(二阶导<0) dAF = gradient(AF_dB(region)); ddAF = gradient(dAF); peaks_idx_local = find(ddAF < 0 & [dAF(2:end)>0; false]); if ~isempty(peaks_idx_local) peak_vals = AF_dB(region(peaks_idx_local)); candidate_SLL = max(peak_vals) - AF_dB(idx_max); SLL_dB = max(SLL_dB, candidate_SLL); end end

参数说明:eps在log10中防止AF_norm=0;gradient计算数值导数比diff更平滑;ddAF<0确保是峰而非谷。

3.3 栅瓣角(Grating Lobe Angle)的解析解与数值验证双校验

栅瓣出现条件为:|sinθ_gl| = |m*λ/d| ≤ 1,其中 m=±1,±2,...。但该公式假设连续相位扫描,实际离散阵元下,m=±1 栅瓣角需满足|sinθ_gl| = λ/d。资源包提供双校验:

  • 解析解:直接计算θ_gl = asin(λ/d),若λ/d > 1则无栅瓣;
  • 数值验证:在方向图中搜索AF_dB > -10dB且|θ| > HPBW/2的所有点,标记为潜在栅瓣。当两者偏差 > 2° 时,触发警告——意味着阵元间距公差或相位误差已影响理论预测。

表格:五类阵列关键指标对比(d=0.5λ, N=8, f₀=2.4GHz)

阵列类型HPBW (°)SLL (dB)首个栅瓣角 (°)是否存在栅瓣
均匀线阵(ULA)14.3-13.2±90.0否(理论)
切比雪夫(-20dB)18.7-20.0±90.0否
端射阵22.1-15.8—否(主瓣在0°)
弯折阵(90°)28.5-12.4±65.3是
稀疏阵(优化)12.9-24.6±82.1否

注意:“是否存在栅瓣”栏指在 -90°~+90° 范围内是否出现 > -20dB 的非主瓣峰值。弯折阵因几何不对称,在 65° 附近出现真实栅瓣,这是ULA所没有的物理现象。


4. 避坑:方向图仿真中五个血泪换来的高频翻车点

4.1 现象:ULA方向图在60°出现-28dB“伪栅瓣”,但理论计算显示此处应为零点

原因:MATLABsin函数输入为弧度,而linspace(-90,90,1801)生成的是角度值,未转换为弧度。代码中若写sin(theta_deg)而非sind(theta_deg)或sin(deg2rad(theta_deg)),会导致相位计算完全错误,伪栅瓣实为计算失真。
解决:统一使用sind()和cosd()处理角度制输入;或在生成theta_rad时强制deg2rad()。资源包所有脚本已加assert(all(theta_rad <= pi/2))校验。

4.2 现象:切比雪夫阵SLL实测为-18.3dB,与设定的-20dB不符

原因:切比雪夫多项式系数生成时,R输入为20(误以为dB值),实际应为10^(20/10)=100。线性比值错一位,旁瓣压制能力下降一个数量级。
解决:cheby_weight.m函数首行加入:

if R > 100 % 粗略判断:若R>100,大概率是线性值;若R<10,则可能是dB值 warning('R可能输入为dB值,请确认是否应为10^(R_dB/10)'); end

4.3 现象:端射阵主瓣分裂成两个峰值,分别在0°和180°

原因:相位激励设为exp(1j*k*d*(0:N-1)),但未施加幅度加权。当 d=0.5λ 时,该激励同时满足端射(0°)与背射(180°)条件,形成双主瓣。
解决:必须叠加非对称幅度权重,如w_endfire = [1, 0.8, 0.6, 0.4, 0.2, 0.1, 0.05, 0.01],或采用Dolph-Chebyshev端射设计(资源包endfire_design.m提供)。

4.4 现象:弯折阵方向图在0°出现深零点,但理论预期应有增益

原因:弯折处阵元坐标设置错误。例如将L形阵元坐标设为[x,0]和[0,y],但未将两段阵元的相位参考统一到同一原点,导致干涉相消。
解决:所有阵元位置向量必须基于同一坐标系原点;弯折角 α 的影响需通过旋转矩阵R=[cosα -sinα; sinα cosα]显式作用于y轴阵元坐标。

4.5 现象:稀疏阵凸优化运行超时,或返回“infeasible”

原因:CVX 默认求解器(SDPT3)对大规模问题效率低,且未设置精度容忍度。当约束min_spacing ≥ 0.3λ与阵元数N_sparse=8冲突时,问题无解。
解决:

  • 在cvx_begin后添加cvx_solver sedumi(更快);
  • 加入cvx_precision low降低精度要求;
  • 若仍 infeasible,自动启动降级策略:先尝试N_sparse=7,再N_sparse=6,并记录每次尝试的可行性状态。

5. 进阶验证:用近场扫描数据反演阵列激励,检验模型可信度

5.1 为什么必须做反演验证?

方向图仿真再完美,也只是远场理想模型。真实阵列受馈电网络不均衡、PCB边缘效应、外壳散射影响,其等效激励w_actual与设计值w_design存在系统偏差。若跳过验证直接选型,课程设计答辩时被问“你的切比雪夫阵实测SLL是多少?”,将无法作答。本资源提供一套轻量级反演流程,仅需一组近场扫描数据(E-field amplitude/phase on a plane),即可估算实际激励。

5.2 反演数学模型与MATLAB实现

假设在距离阵列z0=0.5m的平行平面上,采集M×N个点的电场E_meas(x_i,y_j)。阵列位于z=0平面,阵元位置p_k = [x_k, y_k, 0]。根据辐射积分,E_meas是激励w_k的线性组合:
E_meas ≈ A * w
其中A为M*N × K的传播矩阵,元素A_{ij,k} = exp(-j*k*||[x_i,y_j,z0]-p_k||) / ||...||。这是一个欠定问题(M*N < K时),但可用 Tikhonov 正则化求解:
w_est = (A' * A + λ² * I)^{-1} * A' * E_meas

% 构建传播矩阵A(资源包内含高效矢量化实现) [x_grid, y_grid] = meshgrid(x_scan, y_scan); % 扫描网格 E_meas_vec = E_meas(:); % 展平为列向量 A = zeros(numel(x_grid), N_total); for k = 1:N_total r = sqrt((x_grid - pos(k,1)).^2 + (y_grid - pos(k,2)).^2 + z0^2); A(:,k) = exp(-1j*k0*r) ./ r; % k0 = 2*pi/lambda end % Tikhonov正则化求解(λ=0.01为经验值) lambda_reg = 0.01; w_est = (A' * A + lambda_reg^2 * eye(N_total)) \ (A' * E_meas_vec);

参数说明:lambda_reg控制平滑度,过大则抹平真实激励差异,过小则放大噪声。资源包validate_with_nf.m内置 λ 扫描功能,自动选取使||A*w_est - E_meas_vec||₂最小的 λ。

5.3 激励误差分析与模型修正闭环

得到w_est后,计算其与设计值w_design的归一化误差:
error_norm = norm(w_est - w_design) / norm(w_design)
若error_norm > 0.15(15%),则判定模型需修正。常见修正路径:

  • 馈电相位误差:对w_est取angle(),观察是否呈线性趋势(如angle(w_est) ≈ [0, 0.1, 0.2, ...]),若是,则在仿真中加入相同斜率的相位补偿;
  • 幅度衰减梯度:若abs(w_est)从首元到末元单调下降 20%,则在ULA模型中加入exp(-alpha*(0:N-1))幅度衰减因子,alpha由实测拟合。

表格:某次实测反演结果(ULA, N=8, d=0.5λ)

阵元序号 k设计激励w_design(k)实测估计w_est(k)幅度误差 (%)相位误差 (°)
11.00 + j0.000.92 + j0.038.01.8
21.00 + j0.000.95 - j0.025.0-1.2
31.00 + j0.000.97 + j0.013.00.6
41.00 + j0.000.98 - j0.042.0-2.3
51.00 + j0.000.96 + j0.054.03.0
61.00 + j0.000.93 - j0.067.0-3.7
71.00 + j0.000.91 + j0.089.05.0
81.00 + j0.000.88 - j0.0912.0-5.8

可见幅度误差随阵元位置增大而增加,符合馈线损耗规律;相位误差呈轻微锯齿状,源于PCB走线长度微小差异。将w_est代入方向图计算,新SLL为 -12.5dB(原设计 -13.2dB),更贴近实测值。

从那以后我每次交付方向图对比报告,必附一页“模型-实测反演验证”,哪怕课程设计只要求画图。因为真正的工程闭环,不在曲线重合,而在你能说出“为什么这条线偏了0.3dB”——那0.3dB背后,是馈电网络的0.15mm走线误差,或是仿真中被忽略的接地板谐振。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询