ARTICLE DETAIL

资讯详情

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

从幅度加权到衰减寄存器:相控阵天线低旁瓣设计完整指南

从幅度加权到衰减寄存器:相控阵天线低旁瓣设计完整指南 第一次拿到带波束成形芯片的相控阵天线评估板时我盯着寄存器表发了一会儿呆。移相器那栏很好理解每个通道按角度写入相位码就行衰减器这栏却让我犯了难——芯片手册只会告诉你它是6 bit、0.5 dB步进、最大31.5 dB不会告诉你某一个波束状态下该写多少。后来在阵列方向图仿真里踩了几次坑才明白衰减值并不是随便填的它承载的是波束成形里最关键的“幅度加权”既要压低旁瓣又要校正通道幅度误差。这篇文章是我从目标旁瓣、幅度权重一路算到衰减寄存器的完整过程拿一个8通道线阵做例子把衰减值计算这件事说透。1. 衰减器在芯片链路里到底扮演什么角色1.1 它和移相器是两码事一个管方向一个管形状很多人刚接触相控阵天线时容易把移相器和衰减器混在一起看觉得它们都是“每个通道一个控制量”功能差不太多。其实两者的分工非常清晰。移相器控制的是每个单元的相位核心作用是让各通道的信号在某个指定方向上同相叠加。只要相位设置正确主波束就会指向目标方向。衰减器控制的是每个单元的幅度核心作用是改变阵列的口径分布也就是各单元信号的相对大小。它不负责把波束搬去某个方向而是负责把波束副瓣压下去、把主瓣形状调整到设计值。换句话说移相器决定“波束往哪看”衰减器决定“波束长什么样”如果一个阵列所有通道的幅度完全一样那叫均匀激励。均匀激励的阵列旁瓣通常稳定在-13.2 dB左右很多雷达、卫星通信、5G基站场景对这个旁瓣水平是不满意的。系统要求旁瓣低于-25 dB、-30 dB甚至更低时就必须让中心通道的幅度大、边缘通道的幅度小。这个“中心大、边缘小”的幅度分布就是靠衰减器把边缘通道的信号打下去实现的。所以衰减器在波束成形芯片里的第一重身份就是幅度加权的执行器。1.2 两类用途低旁瓣加权与通道增益校准除了做幅度锥削之外衰减器的第二重身份是通道增益校准。波束成形芯片经过流片、封装、贴片之后每个通道的有源电路不会做得完全一致。哪怕是同一批芯片通道间的增益差也可能有0.5 dB到1 dB以上再加上外围链路里的功分器、滤波器、天线馈线的差异通道间的幅度失配会越来越明显。通道幅度不一致的后果和加权失调类似——副瓣抬高、波束指向偏、零点填充、增益下降。这时候衰减器就可以当“微调旋钮”使用。校准的思路很简单测试出每个通道的实际增益选定一个公共参考电平然后把增益偏高的通道衰减多一点、增益偏低的通道衰减少一点最终让所有通道的有效幅度对齐到目标值。注意一个工程现实衰减器只会增加损耗不会提供增益。如果某个通道的增益明显偏低光靠衰减器是补不回来的。这时候要么把所有其他通道都衰减到和它一样低牺牲整体链路增益要么在芯片里有VGA可变增益放大器的前提下用VGA去补。很多波束成形芯片会把衰减器和VGA的功能合并在一起寄存器里写的可能叫“增益控制”或“衰减控制”但计算时核心还是同一个问题我要让每个通道的最终幅度等于多少。1.3 典型芯片里的实现DSA、控制位和插入损耗现在市面上常见的模拟波束成形芯片衰减器大多数是数字步进衰减器英文缩写DSA。它会按固定步进切换电阻网络或FET开关网络典型配置是6 bit、0.5 dB步进最大衰减31.5 dB。也有一些芯片做0.25 dB步进或者把最大量程做到15.5 dB、50 dB不等。DSA的好处是控制简单、线性度好、温度稳定性比VGA更容易做好。寄存器写一个码对应一个衰减量不依赖模拟闭环。坏处是衰减量是离散的没办法做到“理论要多少就精确给多少”。比如算出来某个通道需要衰减3.44 dB0.5 dB步进下只能写3.5 dB或3.0 dB这个量化误差会在后面的方向图中体现出来。另外任何衰减器都有插入损耗。DSA在0 dB状态也不是理想直通通常会带来1~3 dB的插损具体看频率和芯片工艺。计算衰减值时我们一般关注的是“相对衰减量”也就是各个通道之间的衰减差值公共的插入损耗虽然影响系统增益和噪声系数但不影响方向图形状。注意衰减器的“0 dB”不代表没有损耗只代表相对衰减为0。系统链路预算里要把芯片手册的插损单独算进去。2. 衰减值的源头幅度分布设计与dB换算2.1 均匀激励为什么旁瓣是-13.2 dB要理解衰减值从哪里来先要看阵列方向图的基本公式。对一个N单元等间距线阵阵因子可以写成AF(θ) Σ a_n · exp(j · 2π · n · d / λ · (sinθ - sinθ₀))其中a_n是第n个通道的复激励d是阵元间距λ是波长θ₀是波束指向θ是观察角度。a_n的模值|a_n|就是幅度权重它的大小决定衰减器要写多少衰减。当所有|a_n|相等时这个阵列是均匀激励。均匀线阵的第一副瓣电平是固定值约-13.2 dB和阵元数量没有太大关系。这是由均匀口径分布的形状决定的不是靠增加阵元就能改善的指标。增加阵元只会让主瓣变窄、增益变高但副瓣的相对电平依然落在-13.2 dB附近。如果想压低副瓣就必须让阵列边缘的激励幅度小于中心激励幅度。所谓“加权”或“锥削”本质上就是给口径分布套上一个从中心到边缘逐渐衰减的包络。而芯片里的衰减器就是把这个包络落到具体硬件上的手段。2.2 常用口径加权怎么选工程上常用的幅度加权类型不少最经典的有余弦加权、余弦平方加权、泰勒加权、切比雪夫加权等。它们的目标都是在给定副瓣指标下找到一个合适的口径分布。加权类型典型峰值旁瓣主瓣展宽适用场景均匀-13.2 dB1.0倍增益优先副瓣要求低余弦约-23 dB约1.3倍中等副瓣要求余弦平方带基座约-25~-26 dB约1.3~1.4倍增益和副瓣折中泰勒加权按设计值如-25/-30/-40 dB1.1~1.4倍雷达、通信系统常用切比雪夫加权设计值所有副瓣基本等平设计副瓣下最窄需要严格等副瓣的场景表格里的数值是连续口径近似具体到离散阵列会略有差别但选型思路是一样的。副瓣要求越低边缘衰减就越大主瓣也会相应变宽增益和孔径效率随之下降。这就是为什么不是人人都把衰减值调到最大——副瓣压得太狠代价是主瓣变胖、作用距离下降。泰勒加权和切比雪夫加权在工程里更常用因为它们在给定副瓣电平下能给出比较窄的主瓣。余弦类加权胜在公式简单、适合手算和快速验证。这篇文章的示例用带基座的余弦平方加权就是为了把计算过程摊开给大家看清楚。2.3 把权重变成衰减值一个通用换算公式假设我们已经通过某种加权方法得到了一组线性幅度权重w_n那么衰减值的计算分三步第一步归一化。找到所有w_n里的最大值w_max把每个权重除以w_max得到a_n w_n / w_max。这样最大权重的通道对应1.0其他通道对应0到1之间的小数。第二步转dB。幅度比转dB用20倍对数A_n(dB) 20 · log10(a_n)第三步取负号。衰减器是减法不是加法。因为最大权重的通道要保留最多信号所以它对应的衰减是0 dB其他通道相对它来说信号要减小衰减值就是负的幅度dB值ATT_n(dB) -20 · log10(a_n) -20 · log10(w_n / w_max)衰减器的本质是功率衰减但工程上习惯用dB说幅度关系。只要负载阻抗一致20·log10(V_out/V_in)和10·log10(P_out/P_in)在数值上是等价的。如果你手里拿到的是“功率权重”而不是“电压/电流权重”记得先把功率权重开方转成幅度权重再算。注意衰减值永远是非负的。最大权重通道写0 dB其他通道写大于0 dB的衰减量。如果某个方案里算出负衰减值说明归一化基准选错了。3. 完整示例8通道线阵从目标旁瓣到寄存器值3.1 设计参数与计算前提下面用具体数字走一遍流程。假设有一个8单元等间距线阵阵元间距d λ/2工作频率10 GHz波束指向法向目标峰值旁瓣低于-25 dB。衰减器按很多波束成形芯片里的典型配置来6 bit、0.5 dB步进、最大衰减31.5 dB。我选择带基座余弦平方加权来生成幅度分布基座高度p 0.08。这个加权的思想是纯粹余弦平方的分布边缘权重会降到0实际阵列里完全关掉边缘通道会让主瓣太宽、并且对公差太敏感留一个0.08的基座相当于给边缘通道保留8%的最低幅度既能把旁瓣压到-25 dB量级又不至于让边缘通道彻底失去作用。3.2 生成幅度权重并转换成衰减值对N单元线阵带基座余弦平方加权可以写成w_i p (1-p) · sin²(π · i / (N-1))其中i从0到N-1。N8、p0.08时算出来的一组权重如下通道 i相对位置 i/(N-1)线性权重 w_i归一化权重 a_i目标衰减 ATT(dB)0.5dB量化后寄存器码000.0800.08421.5321.54310.1430.2530.26511.5311.52320.2860.6420.6733.443.5730.4290.9541.0000.000.0040.5710.9541.0000.000.0050.7140.6420.6733.443.5760.8570.2530.26511.5311.523710.0800.08421.5321.543以通道0为例线性权重0.080归一化后0.084衰减值为-20·log10(0.084)≈21.53 dB。量化到0.5 dB步进后写21.5 dB寄存器码就是21.5/0.543。这组数据有两个细节值得注意。一是偶数单元阵列没有真正位于中心点的单元所以通道3和通道4的权重同时达到最大值。工程上处理偶数阵时务必保持左右对称不要让两个中心通道一个写0 dB、另一个写0.5 dB否则方向图会出现不对称的副瓣抬升。二是最大的边缘衰减约21.5 dB没有超过31.5 dB的量程。如果你选更低的基座比如p0.05边缘衰减会进一步加大如果量程只有15.5 dB那就要重新权衡旁瓣目标和加权类型了。顺手给一段Python方便大家把这段计算复制下来改参数import numpy as np N 8 p 0.08 w p (1 - p) * np.sin(np.pi * np.arange(N) / (N - 1)) ** 2 a w / w.max() att -20 * np.log10(a) reg np.round(att / 0.5).astype(int) print(权重:, np.round(w, 4)) print(衰减dB:, np.round(att, 2)) print(寄存器码:, reg)3.3 方向图校验与量化后结果衰减值算到这里还没有结束一定要把量化后的权重代回阵因子公式里做一次方向图校验。对于法向波束、dλ/2、8单元线阵阵因子简化为AF(θ) Σ a_i · exp(j · π · i · sinθ)把量化后的归一化权重代进去扫描θ从-90°到90°观察主瓣和最高副瓣。用这组权重做出来的方向图旁瓣一般能保持在-24.5 dB到-25 dB附近具体数值和量化误差有关。0.5 dB步进的量化对-25 dB级别的加权来说通常不是致命问题但它会带来零点抬升和副瓣电平的轻微恶化不能手算完就直接写寄存器。对于8单元这样的小阵列方向图还有比较强的离散效应连续口径的副瓣公式只能作为初值。阵列越小越要以离散阵因子的仿真结果为准。3.4 换成面阵该怎么扩展如果把线阵换成矩形排布的平面阵计算思路可以自然扩展。常见做法是把行方向和列方向的加权分别设计好然后取外积作为二维权重w_mn w_row[m] · w_col[n]比如32×32的面阵行方向用-30 dB泰勒加权列方向也用-30 dB泰勒加权合成权重的旁瓣大约还是-30 dB量级但主瓣在两个切面分别展宽。芯片端每个通道的衰减值就是这个外积权重归一化后的dB值。需要注意的是如果行、列两个方向都做了深度加权边缘角落通道的衰减值会非常大可能超过DSA量程。这时要回到归一化步骤重新以二维权重里的最大值为基准或者适当放宽角落通道的衰减值再通过方向图仿真确认损失。4. 设置了衰减值就万事大吉量化误差、温度漂移与产线校准4.1 0.5 dB步进带来的量化误差DSA的每一个状态对应一个固定的衰减量理论计算值几乎不可能刚好落在某个整步进上。量化误差的极值是±0.25 dB也就是半个LSB。±0.25 dB的幅度误差换算成线性比大约是±2.9%。单独看一个通道这个误差不大但阵列中有几十甚至上百个通道每个通道的量化误差是随机的、有一定相关性的它们叠加后会抬升方向图的平均副瓣。尤其是对低副瓣加权副瓣的余量可能只有1~2 dB量化误差会吃掉其中一部分。我自己的习惯是先把理想权重算出来量化后再用蒙特卡洛方式做一遍误差分析。具体做法是给每个通道的衰减值叠加随机误差误差按±0.25 dB均匀分布或按实际标定误差分布抽样跑一千次方向图看副瓣的统计上限。如果统计结果离指标还有余量再决定要不要换0.25 dB步进的高精度衰减器。4.2 衰减器状态之间的相位漂移与温度漂移这是工程上最容易踩的坑。很多人以为衰减器只改变幅度不改变相位。实际不是。数字步进衰减器切换内部开关和电阻网络时信号路径的寄生电容、电感会跟着变不同衰减状态下会引入不同的插入相位。也就是说你给每个通道设置衰减值时通道的相位也会跟着动波束指向可能因此偏掉零点几度。应对方法有两种。第一种选衰减和相位耦合小的芯片。芯片手册里如果有“衰减状态下的相位变化”指标优先选这个指标小的型号。第二种也是更可靠的做法产线上做二维校准。分别在不同衰减码下测量每个通道的S21幅度和相位生成一张“目标衰减值 相位补偿值”的查找表。软件写入时先根据目标衰减值查表得到相位修正量再连同移相器码一起写进去。温度漂移也要留意。衰减器内部是电阻网络电阻值随温度变化会改变实际衰减量。芯片内部自带的温度漂移系数通常不会单独标注所以高精度场景下要在高低温箱里做带内S21复测把校准表按温度分成几段。4.3 衰减器放哪个位置NF和线性度取舍衰减器在接收链路中的位置直接决定它对系统噪声系数的影响。假设衰减器衰减值为L放在LNA之前在物理上等于直接把输入信号打掉L dB系统NF基本会恶化L dB。比如一个2 dB NF、20 dB增益的LNA前面加10 dB衰减器系统NF会从2 dB恶化到10 dB左右LNA再牛也被衰减器毁掉了。如果衰减器放在LNA之后情况就完全不一样。还是同样参数LNA增益20 dB后面接10 dB衰减器系统NF从2 dB只恶化到约2.2 dB。因为LNA已经把信号放大了20 dB后面衰减器贡献的噪声被LNA的高增益压制住了。所以看到芯片接收链路拓扑时先搞清楚衰减器是在LNA前面还是后面。低噪声相控阵接收机里衰减器通常放在LNA之后如果必须放在前面就要严格控制衰减值并且每一分贝衰减都要算进NF预算里。发射链路的取舍反过来。衰减器放在功放之前可以用于驱动功率均衡和预失真放在功放之后虽然也能控功率但会浪费宝贵的发射功率而且大功率衰减器损耗发热严重。多数波束成形芯片的发射链路会把衰减器放在PA输入侧这样控制幅度不会牺牲太多EIRP。4.4 产线校准流程衰减值从理论到装机最终是靠着产线校准落地的。完整流程大致如下用矢量网络分析仪测量每个通道在不同衰减码下的S21记录幅度和相位。建立衰减码与实测衰减量的对应关系查找每个衰减码的真实偏差。将“目标衰减值”插值到“实际衰减码”上生成偏移修正表。对每个衰减状态下的插入相位做二次修正补偿给移相器。在高低温环境抽测确认校准表在温度范围内仍然有效。把校准表写入芯片EEPROM或系统Flash供开机自校准调用。这一步花的时间往往比算衰减值本身多得多。但产品量产之后方向图能不能稳定满足指标靠的就是这张表。5. 从示例到工程几个值得记住的经验5.1 衰减器不是用来省功耗的有些工程师会把衰减器当成功率控制旋钮用想着发射链路里把边缘通道衰减大一点PA是不是就省电了。并不会。衰减器消耗的是信号功率不是直流功耗。PA的静态偏置不会因为你衰减了输入信号就降下来真正降低发射功耗的方法是降低PA漏极电压或关断部分通道。衰减器在这里的价值是“信号形态调整”不是“节能工具”。5.2 公共衰减量不影响方向图前面公式里归一化到最大权重为1最大通道衰减为0。但实际系统里经常需要所有通道统一衰减一点比如接收链路怕信号过载、发射链路怕PA过驱动。方向图形状只取决于通道之间的相对幅度。把每个通道的衰减值同时加上同一个常数C相当于所有通道幅度等比例缩小主瓣旁瓣比例完全不变变化的只有系统增益和NF。所以看到芯片里有“公共增益控制”或者“总衰减”寄存器时可以放心用它不影响波束。5.3 大扫描角下的幅度锥削会“打折”法向波束下设计好的低副瓣加权在波束扫描到±45°甚至±60°时会发生变化。原因不在于衰减器本身而在于阵列投影口径缩短、单元方向图和互耦的影响变大。扫描角增大时每个单元看到的有效间距变成d·cosθ阵因子的栅瓣条件和副瓣表现都会变。实际工程里衰减器的幅度分布常常按法向设计扫描时主要靠相位修正但如果天线单元耦合强烈扫描方向图还会出现明显的幅度/相位随角度变化。这时候要么用全波仿真提取带互耦的单元方向图再做一次系统级校准要么接受扫描后副瓣有一定恶化把指标余量留足。5.4 算完衰减值之后最容易被忽略的一步算完一组衰减值先别急着烧录。把相位和衰减看成一对组合状态来验证。我曾经遇到过一次方向图副瓣不对称的问题查了半天衰减寄存器都是对的最后发现是移相器的量化状态和衰减器状态之间的相位耦合没有补偿。衰减器改了3 dB移相器实际相位偏了5°两个通道一叠加波束和副瓣全乱套了。所以验证衰减值时不要只看“幅度对不对”要把每个通道的S21完整测下来幅度相位一起看。衰减值计算这件事公式三分钟能列完真正吃时间的永远是量化误差、温度漂移和系统校准。我的习惯是第一版寄存器值用理论权重算第二版用暗室实测数据修正第三版放进高低温环境里复测。等这套流程跑顺了相控阵天线的波束质量才算是真正握在了手里。
返回列表