
简介大气降水引起的电磁波衰减是通信、遥感与雷达应用绕不开的物理问题。这份PDF文档面向通信工程师、气象与雷达技术人员聚焦雨、雪、雾等降水粒子对厘米波和毫米波传播的影响系统介绍基于米散射理论的分析方法。内容从粒子散射与吸收机制入手给出前向散射幅度函数、衰减率和相移率计算公式并讲解雨滴尺寸分布如马歇尔-帕梅尔分布及水的介电常数模型还提供降雨衰减经验公式与图表数据便于读者直接评估不同降雨率下的信号损耗。文档篇幅紧凑属于理论推导结合工程应用的参考文献适合作为课程学习、系统设计或课题调研的专业指导材料。资源为单份PDF文件大小仅196KB已有147人学习下载。借助其中公式和曲线可快速掌握降水衰减预测思路为卫星通信链路预算、雷达探测性能优化提供参考。1. 大气降水引起的电磁波的衰减一份永不过时的链路预算账单做微波通信的工程师大多有过这样的经历晴空万里时链路指标一切正常一场暴雨过后接收电平骤降十几甚至几十dB网管系统里一屏告警。很多人第一反应是设备故障或天线积水但排查到最后真正的元凶往往是大雨滴对电磁波的散射和吸收——也就是这个标题锁定的主题大气降水引起的电磁波的衰减。这个主题看似是学术论文里的公式推导实际是5G毫米波回传、卫星地球站、微波中继和雷达系统链路预算里绕不开的工程项。你不需要真的去求解麦克斯韦方程组但必须知道降雨率怎么换算成衰减dB、不同频段怕哪种降水、哪些参数是模型里最容易被改错的。这篇笔记就按做工程的角度把原理、计算流程、典型参数和踩坑点完整过一遍。2. 从降水到衰减雨滴散射与吸收的物理机制以及毫米波频段为什么敏感2.1 散射与吸收的分工衰减为什么在毫米波频段突然变陡电磁波穿过降水区域时能量损失来自两个物理过程一是雨滴等粒子吸收部分电磁能量并转化为热能二是电磁波被粒子散射到其他方向使原本波束方向上的能量减少。两者合在一起就是工程上说的衰减或损耗通常用dB表示。判断衰减大小关键看粒子尺寸和波长的相对关系。当雨滴直径远小于波长时处于瑞利散射区散射截面和频率的四次方成正比吸收截面和频率近似成正比。低频段1-6GHz波长在厘米级典型的雨滴直径0.1-5mm远小于波长衰减整体很小这也是传统蜂窝网络和广播电视对雨衰不敏感的原因。但当频率上到10GHz以上、波长降到毫米级雨滴尺寸和波长逐渐可比进入米氏散射区散射和吸收截面都显著增大衰减随频率急剧上升。到了60GHz附近一场中等强度的雨就能让每公里衰减达到10dB级别这对点对点回传链路是致命的。工程上还有一个容易被忽略的点雨滴并非理想球体。大直径雨滴下落时受空气阻力形变更像扁椭球这直接导致水平和垂直极化的衰减系数存在差异。这也就是后面计算里要单独区分水平极化和垂直极化的根本原因。如果你在链路预算里只查一个频率不问极化结果很可能偏差好几个dB。2.2 雨、雪、雾的衰减差异同样的降水强度损耗可能差出一个数量级降水不只指雨雪和雾也属于大气降水范畴但它们的粒子形态、介电特性完全不同衰减特征差异极大。下面把三种典型情况放在一起对比。降水类型典型粒子尺寸粒子形态与介电特征主要衰减区间工程提醒雨0.1-5mm液态水扁椭球介电常数实部约8010GHz以上明显毫米波严重用ITU-R P.838的k、α模型雪干雪1-10mm冰晶空气低密度介电损耗小高频段有一定衰减但低于雨不要套用雨的k、α系数雪湿雪/融化层2-10mm冰水混合表面含水膜极高甚至超过同强度雨0℃等温线附近要格外小心雾1-100μm液态小水滴浓度低微波段很小毫米波有影响能见度算浓度但通常非主因这里有个常见的认知误区降雪强度用mm/h表达时很多人直接把雪的强度代入雨的k、α公式算出来的衰减比实际偏小很多。因为干雪的介电常数接近空气单位体积内的等效液态水含量远低于同样强度标注的雨。但湿雪不同它表面有一层液态水膜介电特性接近水加上粒子尺寸大衰减往往比同降水强度的雨高出数倍。做链路预算时如果只考虑雨季防雨、不考虑冬季湿雪场景很容易在融雪季节翻车。2.3 有效路径长度与雨区结构链路预算里真正吃系数的变量衰减率γ只表示每公里衰减多少dB链路总衰减Aes γ × Leff其中Leff是有效路径长度。这里的有效路径长度不是两点间的几何距离而是经过雨区修正后的等效长度。降水区域在空间上并不均匀暴雨通常集中在直径几公里到十几公里的对流雨胞内。当链路穿过一个降雨区域只有一部分路径在强降雨区其余路径可能处于弱降雨或干燥空气中。ITU-R采用的工程做法是先取几何路径长度d再乘一个路径缩短因子r得到Leff d × r。r随d增大而减小常见简化模型表示为r 1 / (1 d / L0)其中L0是参考长度典型值在35km左右。这意味着对于几十公里的长链路即使降雨率很高总雨衰也不是随距离线性增长的有效路径被雨胞结构缩短了。另一个相关因素是仰角。卫星链路从地面站到卫星会斜穿大气层路径垂直方向积分高度是有限的降雨主要集中在低空几公里的对流层内。通常做法是查表得到等效雨高再结合仰角算出斜路径长度同样要经过缩短因子修正。这就是ITU-R P.618建议书里雨衰减预测的完整流程。地面微波链路相对简单但也不建议直接用收发两端的直线距离因为路径可能只局部穿过雨胞。3. 工程手算雨衰ITU-R P.838与P.530模型的关键参数与计算方法3.1 衰减率γ kR^α三个输入一个都不能改错工程上预测雨衰的标准起点是ITU-R P.838建议书给出的经验模型特定降雨率Rmm/h下路径单位长度的衰减γdB/km满足γ k × R^α。这里k和α由频率f、极化方式和入射仰角决定P.838-3里以表格形式给出了1-100GHz范围内不同频率、水平/垂直极化的k和α取值。频率不是整数时用对数插值获取。三个输入的优先级需要特别明确。第一是频率它决定了k和α的数值区间误差100MHz在10GHz以下问题不大但在毫米波频段会导致百分之几的k值偏差。第二是极化方式水平极化H和垂直极化V的k、α不同典型差异在5%-10%换算成dB可以差出1-3dBP.838-3同时给出了1-100GHz的H/V系数表。第三是降雨率R模型默认取每年0.01%时间被超过的降雨率即可用度99.99%对应的降雨强度而不是平均降雨量或单次暴雨实测值。这里还要注意P.838模型本身是一个等效均匀降雨假设它假设整条路径上的降雨率都是R再通过路径缩短因子修正。所以千万不能把γ直接乘以链路全长了事。3.2 用Python把P.838查表转成可复算的衰减预测函数实际工程中没人每次翻纸质表格常见做法是把P.838参数表固化成程序接口。下面是按ITU插值逻辑写的一个最小Python函数输入频率、极化输出k和α。import math # ITU-R P.838-3 部分频率点系数完整工程请录入全部表格数据 # 格式: 频率GHz, k_H, alpha_H, k_V, alpha_V P838_TABLE [ (1, 0.0000257, 0.910, 0.0000231, 0.880), (10, 0.0101, 1.270, 0.00887, 1.230), (20, 0.0751, 1.100, 0.0671, 1.060), (30, 0.187, 1.020, 0.167, 0.980), (50, 0.272, 0.980, 0.234, 0.950), (60, 0.258, 0.960, 0.221, 0.930), ] def get_k_alpha(freq_ghz, polH): 按P.838对数插值计算给定频率的k和alpha。 freq_ghz: 频率单位GHz pol: H水平极化 / V垂直极化 返回 (k, alpha) # 边界处理低于表内最低频率直接取最低值 if freq_ghz P838_TABLE[0][0]: row P838_TABLE[0] return (row[1], row[2]) if pol H else (row[3], row[4]) # 遍历找到插值区间按对数频率做线性插值 for i in range(len(P838_TABLE) - 1): f0, kH0, aH0, kV0, aV0 P838_TABLE[i] f1, kH1, aH1, kV1, aV1 P838_TABLE[i 1] if f0 freq_ghz f1: # k值和对数值做线性插值alpha直接线性插值 log_kH math.log(kH0) (math.log(kH1) - math.log(kH0)) * ( math.log(freq_ghz / f0) / math.log(f1 / f0) ) if pol H: return math.exp(log_kH), aH0 (aH1 - aH0) * (freq_ghz - f0) / (f1 - f0) else: log_kV math.log(kV0) (math.log(kV1) - math.log(kV0)) * ( math.log(freq_ghz / f0) / math.log(f1 / f0) ) return math.exp(log_kV), aV0 (aV1 - aV0) * (freq_ghz - f0) / (f1 - f0) # 超过最高频率取表中最后一行 row P838_TABLE[-1] return (row[1], row[2]) if pol H else (row[3], row[4]) # 示例28GHz垂直极化雨强42mm/h0.01%时间概率的典型中高值 k, alpha get_k_alpha(28, polV) R 42.0 gamma k * (R ** alpha) print(fk{k:.5f}, alpha{alpha:.3f}, 衰减率{gamma:.3f} dB/km)这个函数的核心逻辑是先在频率轴上找到目标频率所在区间k值取对数-对数插值alpha取线性插值。原因是k在频率轴上的变化接近幂律关系直接线性插值会失准尤其在高频段。代码里P838_TABLE只列了六个频率点做演示够用进生产环境要把P.838-3附录里全部频率点录全否则插值结果在高频段可能和标准值偏差明显。3.3 从点衰减率到链路总衰减路径缩短因子和斜路径修正拿到γ之后下一步是把单位长度衰减换算成整条链路的雨衰。对于地面微波链路ITU-R P.530建议书给出的做法是先确定路径几何长度dkm然后计算路径缩短因子r。简化形式是r 1 / (1 d / 35)这里的35km是一个经验参考长度。于是链路雨衰Arain γ × d × r。为什么乘这个r在2.3节已经解释过降雨率在空间上不均匀d越大整条链路都处于强降雨的占比越低等效衰减路径比d要短。对于10km以内的短链路r接近0.8-0.9修正还不太明显超过20km后r会降到0.6以下差异达到几个dB这时候再忽略路径修正雨量余量会被高估也就是把链路设计得过于悲观。对于低仰角卫星链路还涉及斜路径修正。常见做法是用等效雨高hR和地面站海拔hs结合仰角θ计算斜路径长度Ls (hR - hs) / sin θ水平投影d (hR - hs) / tan θ。如果d很大再乘对应的路径缩短因子。等效雨高通常按纬度查表典型值在3-5km之间。在低频和高仰角场景下斜路径修正影响较小但在毫米波频段和低仰角场景下它决定了雨衰是在一个可接受量级还是彻底压死链路。4. 把降水衰减写进链路预算28GHz微波回传链路的完整计算实例4.1 链路预算公式里雨衰放在哪一项不要和大气吸收混在一起做链路预算时接收电平可以用下面的经典公式估算Prx Pt Gtx Grx - Lfs - Lrain - Latm - Lmisc。其中Pt是发射功率dBmGtx和Grx是收发天线增益dBiLfs是自由空间损耗Lrain是雨衰Latm是大气吸收氧气和水汽分子吸收Lmisc是接头、馈线、对准误差等附加损耗。一个常见错误是把雨衰和大气吸收合并成一项或者用大气吸收模型顺带算了雨导致重复计数。大气分子吸收是晴空状态下就存在的由氧气的60GHz吸收带和水汽的22GHz吸收峰主导雨衰是降水状态下叠加的额外损耗。两者物理本质不同计算链路可用度时要把它们分开。雨衰只在降雨事件期间存在且具有极端的瞬时性所以链路预算里通常单独列一项雨衰余量。同时要注意余量的计算基准。可用度99.99%意味着一年中允许链路中断时间累计不超过52分钟对应的降雨率就是每年0.01%时间概率的R值。你用R值算出雨衰就把这个值当作链路需要预留的额外衰落储备。4.2 实例28GHz、5km回传链路在暴雨场景下的可用度校核下面按一份典型参数来走整个计算流程。假设这是一个5G前传/回传的E-band备用链路或者微波中继频率28GHz链路长度5km发射功率10dBm收发天线各35dBi自由空间损耗按标准公式计算。降雨率取0.01%时间概率下的42mm/h典型C气候区中高值。参数数值说明频率f28 GHz毫米波频段雨衰敏感极化方式垂直极化相对水平极化衰减略小链路长度d5 km几何路径降雨率R0.0142 mm/hITU-R P.837气候区查表有效路径缩短因子r1/(15/35)0.875按P.530简化公式有效路径长度Leff4.375 km5×0.875每公里衰减γ由k、α算出P.838插值链路总雨衰Arainγ×Leff需要加盖的余量先算自由空间损耗Lfs 92.45 20×log10(28) 20×log10(5) ≈ 92.45 28.95 13.98 ≈ 135.4dB。接着用上一节的Python函数算28GHz垂直极化的k和α得到γ。前面代码运行结果约2.3dB/km实际数值取决于精确的P.838表那么链路总雨衰Arain 2.3 × 4.375 ≈ 10dB。再算晴空接收电平Prx 10 35 35 - 135.4 - 0.2大气吸收约0.2dB - 1杂散损耗 ≈ -56.6dBm。如果接收机灵敏度是-70dBm晴空余量约13dB。暴雨时接收电平掉到约-66.6dBm距离灵敏度极限只剩约3dB。这意味着这条链路在暴雨天勉强可用但如果降雨率超过42mm/h或者链路长度再增加就会直接越限。这个计算过程很直观地说明毫米波短链路的雨衰预算才是真正的可用度瓶颈。4.3 工程对策功率余量、自适应调制编码和空间分集的选择雨衰算出来后接下来的问题是链路不够怎么办工程上按成本从低到高有几种常见做法。最便宜的是加大天线口径每增加3dB增益就多买1-2dB的雨衰余量但天线尺寸和风载荷要一起评估。其次是增加发射功率或者采用功率控制但这在毫米波频段受限于功放线性和能耗提升空间有限。更常用的手段是自适应调制编码AMC晴空时用256QAM跑高吞吐雨衰增大时自动降级到64QAM或QPSK换来额外的链路余量。这个方案几乎不需要额外硬件成本但需要链路两端协商好调制档位和切换门限切换频繁时要注意系统的稳定性。如果链路长度超过10km且业务等级很高终极方案是空间分集——在相隔几百米的位置再建一套天线利用降雨胞的空间不均匀性让两条路径同时被大雨覆盖的概率大幅降低。这个方案成本最高一般只在核心汇聚链路使用。无论选哪种方案把雨衰数值放回链路预算统一校核是必须走完的一步。建议把不同降雨率下的接收电平做成一个表格从1mm/h毛毛细雨到100mm/h极端暴雨各算一档看链路的衰落裕量曲线是否平滑过渡避免只校核单一暴雨点导致中间某档反而越限的遗漏。5. 降水衰减计算的5个常见坑从降雨率数据到极化修正5.1 降雨率R选错基准衰减直接翻倍现象按照某个地区的年平均降雨量去算雨衰得到的结果远超实际地平线导致链路预算里雨衰余量高得离谱白白浪费好几dB天线增益。原因模型要求的是0.01%时间概率被超过的降雨率这反映的是极端降雨事件的统计特征不是平均降雨量。两个地方年降雨量接近雷暴气候和绵雨气候的0.01%降雨强度可以差出两倍以上。解决从ITU-R P.837建议书的降雨气候区图或者当地气象站的多年逐分钟降雨率累积分布中查R0.01。如果没有精确本地数据宁可用相邻气候区偏大的值也不能用年平均降雨量替代。5.2 只查频率不区分极化算完才发现极化偏差好几dB现象链路用的是垂直极化天线但查表时用了水平极化的k、α算出的衰减偏大导致多余的功率余量和成本。原因P.838表格里H和V极化的k值在高频段差异明显尤其在30GHz左右两者可以差出约10%。很多人查表时只盯频率列没注意极化列。解决在代码或表格里强制让极化作第二查询维度。计算前先确认天线馈电方式线极化天线标称垂直极化就是V水平极化就是H圆极化天线通常按水平极化近似或按P.838中的圆极化公式处理。如果链路支持极化复用两路极化要分别计算余量。5.3 长链路直接用几何距离乘衰减率雨衰虚高30%现象一条25km的链路用γ×25算出雨衰20dB结果发现系统实测雨衰只有14dB左右预算过于保守。原因忽略了路径缩短因子。降雨胞直径通常只有几公里到十几公里25km链路只有中段在强降雨里两端可能完全是干的。直接用几何距离等同于假设整条链路被均匀暴雨覆盖这在实际中几乎不可能。解决按P.530的r 1/(1d/35)修正有效路径长度。25km链路对应的r约为0.58Leff约14.5km比几何距离缩短了近一半。如果要更精确可以用实际雨胞尺寸或多年降雨雷达统计来做细算但P.530的简化公式在多数工程场景下已经足够。5.4 冬季降雪套用雨的k、α链路在融雪天气反复告警现象冬季一场中等强度降雪链路误码率骤增但按同强度降雨预测的衰减只有2dB实际瞬态衰减却超过了8dB。原因干雪的k、α和雨完全不同但融化层中的湿雪介电特性接近液态水加上粒子尺寸偏大衰减甚至高于同强度降雨。用夏季校准的雨衰模型预测冬季降雪场景自然对不上。解决冬季场景要做两件事。第一在链路预算里增加一个湿雪场景单独校核按等效液态水含量或直接提高降雨率档位来计算第二在实际运维中以接收电平监测为主如果湿雪导致的衰减超过了雨衰余量需要准备临时降级策略或者增加功率余量。很多高纬度地区的工程实践表明融雪季节的链路可用度瓶颈不在雨而在湿雪。5.5 把雨衰和大气吸收重复计算链路预算口径混乱现象接收电平实测值比预算低了3dB排查后发现是预算里同时加了大气吸收项和雨衰项而雨衰模型本身已经包含了一点水汽吸收的成分造成轻微重复计数。原因ITU-R P.838的雨衰模型建立在降雨环境的等效介质上严格说它已包含了雨滴本身对电磁波的部分吸收。另用P.676大气吸收模型时如果也把水汽吸收一并计入在低频段误差不大但在22GHz水汽吸收峰附近会明显重叠。解决链路预算采用晴空基线雨衰增量的口径晴空时用P.676算大气吸收降雨时用P.838算雨衰两者取最大值而不是相加。或者统一采用ITU-R P.530中推荐的完整流程它已经明确了雨衰和大气吸收的边界。关键是文档里要把口径写明避免过几个月自己回看时都对不上数。6. 让衰减预测更可信用本地实测数据反推模型系数前面几章介绍的ITU-R模型最大优势是普适性但也是它最大的短板——全球平均气候参数对特定站点往往偏保守或偏乐观。我现在的习惯是只要项目允许就架一套接收电平记录仪和雨量筒积累至少一个完整雨季的实测数据然后反过来校核模型系数。具体做法是记录降雨事件中的接收电平衰落深度和对应分钟级降雨率做出衰减-降雨率散点图再用回归拟合出本地的k、α。这个实测k、α大概率与P.838查表值有偏差但偏差方向就是这条链路的真实安全余量。一个更轻量的验证方法是看年可用度分布。把全年每分钟的接收电平做累积分布曲线找到0.01%时间概率对应的衰落深度和预算值对比。如果实测衰落比预算小很多说明雨衰余量可以压缩把省下的链路口径用来提升调制等级或缩短天线尺寸如果实测比预算大说明本地雨区比气候区分类更激进需要补功率或改分集方案。这里分享一个我踩过的坑曾经在一段20GHz链路上完全信任了查表气候区数据结果第一年雨季频繁告警。后来仔细比对才发现本地夏季午后对流雨强度远超气候区分类的统计值雨胞的水平尺度也小于模型的典型假设。后来养成的习惯是——凡是落地超过一年的固定链路一定要把实际接收电平数据和天气预报系统关联起来分析光靠标准模型做设计只能算及格想做得稳必须用数据校准。链路计算这件事永远不要嫌实测数据多。希望这个思路对你下次做雨衰预算也有帮助。本文还有配套的精品资源点击获取