简介:这份PDF技术文献聚焦900MHz频段5G NR系统与邻频960~1215MHz测距仪(DME)系统的兼容共存问题,面向从事移动通信频率规划、无线干扰分析、5G网络优化及频谱政策制定的专业技术人员,以及通信工程、电子信息类高校研究人员。文章构建飞机平稳飞行航线导航与起降阶段机场导航两类典型干扰场景,采用蒙特卡洛半静态仿真方法,结合ITU相关建议书参数与自由空间传播模型,评估地面5G基站对机载DME接收机的干扰功率,结论表明各类部署条件下干扰均低于接收机门限,二者可实现邻频共存且无需额外隔离措施。资源包为1个PDF文件,约1.4MB,内容涵盖系统干扰模型、仿真参数与拓扑、传播模型及结果分析,并给出频谱重耕建议。目前已有235人学习,可为900MHz频段NR网络重耕提供频谱兼容性依据,支撑基站部署与航空导航频段保护协调,适合作为跨系统共存评估的参考材料。
1. 900 MHz重耕前夜:一份把5G NR与DME邻频共存算清楚的仿真笔记
900 MHz频段重耕是这两年的热点,但真正让频率规划工程师睡不着觉的,不是能分到多少带宽,而是紧邻的960~1215 MHz上跑着航空测距仪DME。DME是飞机无线电导航的老底子,脉冲式信号,机载接收机的干扰门限低到-129 dBW/MHz,一旦5G NR基站的带外泄漏压过去,影响的不是网速,是飞行安全。这份资料就是围绕这个矛盾展开的:用蒙特卡洛半静态仿真,把5G NR对机载DME的集总干扰功率算出来,分航线导航和机场起降两个场景,结论是干扰功率全程低于门限,邻频共存不需要额外隔离。适合做频谱规划、干扰分析、5G网络优化的从业者,也适合通信专业做共存研究的研究生——它给的不只是结论,是一套能照着搭起来的仿真链路。
2. 干扰模型怎么搭:从干扰方程到天线增益插值
2.1 干扰方程里每一项到底代表什么
整个仿真最核心的公式就一行,但每一项都对应一个容易翻车的参数:
I_receive = P_t + G_t + G_r - L_loss - PLI_receive:NR基站对DME接收机的干扰功率,单位dBm/MHz,最终要和-129 dBW/MHz的保护标准比。P_t:NR基站的发射功率谱密度,注意是每MHz的值,不是总功率。基站最大发射功率46 dBm/10MHz,换算时要除以带宽。G_t:NR基站天线发射增益,宏站典型值15 dBi,但下倾3°之后实际指向飞机的增益要按天线方向图算。G_r:DME天线接收增益,这是最容易出错的一项,后面单独说。L_loss:馈线损耗等其他损耗,基站侧和终端侧要分开算。PL:NR基站到DME的传播损耗,这里用的是自由空间模型。
常见做法是先把每一项写成独立函数,再在主循环里逐条链路累加。我一般会把功率单位统一到dBm/MHz,避免dBW和dBm混用——这是血泪经验,单位错一次,结果差30 dB,图上看不出来但结论全反。
2.2 DME天线增益:为什么必须做线性插值
DME机载天线增益不是常数,它随仰角变化。ITU-R M.1642-1给了-90°到0°范围内的离散增益值,比如-90°时-17.22 dB,-60°时-8.84 dB,-30°时-0.57 dB,0°时-2.43 dB。注意0°附近增益反而下降,这是天线方向图的典型特征。
仿真里飞机高度和水平距离一直在变,仰角是连续值,但标准只给了离散点。处理方式是对未给出的仰角做线性插值:
import numpy as np # ITU-R M.1642-1 仰角-增益离散点 elev_deg = np.array([-90, -80, -70, -60, -50, -40, -30, -20, -10, -5, -3, -2, -1, 0]) gain_db = np.array([-17.22, -14.04, -10.51, -8.84, -5.40, -3.13, -0.57, -1.08, -1.21, -1.71, -1.95, -2.19, -2.43, -2.43]) def dme_antenna_gain(elevation_deg): """输入仰角(度),返回DME机载天线增益(dB)""" # 超出范围时钳位到端点,避免外推产生虚假增益 elev = np.clip(elevation_deg, elev_deg.min(), elev_deg.max()) return float(np.interp(elev, elev_deg, gain_db))逻辑说明:np.interp做一维线性插值,np.clip保证仰角不超出标准范围。参数说明:elev_deg是标准给的仰角序列,gain_db是对应增益。注意所有方位角上仰角-增益关系相同,所以不需要方位角维度。如果直接取最近点而不插值,在-5°到0°这段增益变化剧烈的地方会引入超过1 dB的误差,对于门限余量只有几dB的场景,这个误差不能忽略。
2.3 传播模型与拓扑:自由空间够不够用
传播损耗用ITU-R P.525自由空间模型:
L_bf = 32.4 + 20*lg(f) + 20*lg(d)f单位MHz,d单位km。900 MHz频段、飞机高度10 km量级,这条链路是地对空,几乎没有遮挡,自由空间模型是合理的。但要注意:如果基站和飞机之间有地形或建筑遮挡,自由空间会低估损耗,结论偏保守——对保护航空系统来说,保守不是坏事。
仿真拓扑分两种。航线导航场景:城市假设为圆形,五环内半径15 km为城区,五环到六环15~25 km为郊区,网络负载因子取50%,计算飞机下方该面积内所有5G基站对机载DME的集总干扰。机场导航场景:基站位于跑道中心延长线上,飞机沿3°下滑台运行,考虑单个基站对机载DME的干扰。两种拓扑的差别决定了是算集总功率还是单链路功率,不能混。
3. 仿真参数怎么设:DME、5G NR与ACLR模板逐项对照
3.1 DME系统参数:保护标准是硬约束
DME参数直接决定仿真边界,设错了后面全白算。关键参数如下表:
| 参数 | 取值 | 说明 |
|---|---|---|
| 工作频段 | 962~1213 MHz | 与900 MHz频段5G NR邻频 |
| 信道间隔 | 1 MHz | 脉冲式信号 |
| 机载电台距地面高度 | ≤20880 m | 航线导航上限 |
| 最大天线增益 | 5.4 dBi | 垂直极化 |
| 馈线损耗 | 2 dB | 机载侧 |
| 最大可接收干扰电平 | -129 dBW/MHz | 保护标准,非脉冲信号 |
注意最后一行:这个保护标准是针对非脉冲信号的。DME本身是脉冲信号,如果考虑脉冲特性,保护标准还要深入研究。仿真里按非脉冲处理,相当于把DME当成连续波接收机来评估,结论偏严格。这一点在写报告时必须说清楚,否则容易被质疑。
3.2 5G NR宏蜂窝参数:城区和郊区要分开
NR FDD宏站参数不是一套值走天下:
| 参数 | 城区 | 郊区 |
|---|---|---|
| 小区半径 | 1.5 km | 3 km |
| 天线高度 | 30 m | 30 m |
| 扇区化 | 3扇区 | 3扇区 |
| 下倾角 | 3° | 3° |
| 网络负载因子 | 20% | 50% |
| 基站最大发射功率 | 46 dBm/10MHz | 46 dBm/10MHz |
| 基站最大天线增益 | 15 dBi | 15 dBi |
| ACLR | 45 dB | 45 dB |
城区负载因子低但基站密度高,郊区负载因子高但基站稀疏,两个因素部分抵消。仿真里城区和郊区分别算,最后看集总干扰。天线模型用ITU-R F.1336,水平波束宽度65°,垂直波束宽度30°,线性/±45°极化。
3.3 ACLR与带外发射模板:干扰功率的真正来源
5G NR对DME的干扰主要来自带外发射,ACLR=45 dB是基站滤波器能力的体现。但ACLR只是一个宽带指标,真正算干扰要用3GPP TS 38.104的带外频谱发射模板:
| 频率偏移 f_offset | 测量带宽 | 发射限值 |
|---|---|---|
| 0.05≤f_offset<5.05 MHz | 100 kHz | -7/5 × f_offset - 0.05 dBm |
| 5.05≤f_offset<min(10.05, f_offset_max) | 100 kHz | -14 dBm |
| 10.05≤f_offset<f_offset_max | 100 kHz | -13 dBm |
这张表是仿真的黑匣子:DME工作在962 MHz以上,与900 MHz频段NR的边缘间隔决定了f_offset落在哪一段。如果间隔小于5 MHz,发射限值随偏移线性下降,这时候基站滤波器的滚降特性直接决定干扰功率。常见做法是把模板写成分段函数,在频率规划时先算频率间隔,再查表得发射限值,最后代入干扰方程。
def nr_oob_emission(f_offset_mhz): """3GPP TS 38.104 带外发射限值,返回dBm/100kHz""" if 0.05 <= f_offset_mhz < 5.05: return -7/5 * f_offset_mhz - 0.05 elif 5.05 <= f_offset_mhz < 10.05: return -14.0 elif 10.05 <= f_offset_mhz < 20.0: # f_offset_max按实际取 return -13.0 else: raise ValueError("偏移超出模板范围,需查最新标准")逻辑说明:分段函数严格按标准写,f_offset_max要按实际频段取。参数说明:输入是NR边缘到DME频段的频率偏移,输出是100 kHz测量带宽内的发射限值。注意单位是dBm/100kHz,代入干扰方程前要换算到dBm/MHz,加10*lg(10)=10 dB。这个换算漏掉,干扰功率直接少算10 dB,结论会从“低于门限”变成“远低于门限”,看起来更安全,实际是错的。
4. 避坑与排查:仿真跑完图不对,先查这五条
4.1 干扰功率比门限低太多,图上一片平
现象:仿真结果干扰功率比-129 dBW/MHz低几十dB,曲线几乎贴底。 原因:最常见的是单位换算漏了。dBW和dBm差30 dB,dBm/100kHz到dBm/MHz差10 dB,两处一漏就是40 dB。 解决:在代码里加单位断言,所有功率变量命名带单位后缀,比如p_t_dbm_per_mhz,从命名上杜绝混用。
4.2 飞机高度变化时干扰功率不变
现象:航线导航场景里,飞机从10 km升到20 km,干扰功率曲线完全重合。 原因:传播损耗里的距离d用了水平距离而不是斜距。飞机高度变化时斜距变了,但水平距离没变,自由空间损耗就算不出来。 解决:d必须用三维斜距,d = sqrt(horizontal_dist**2 + height**2),单位统一到km。这个坑很隐蔽,因为水平距离远大于高度时斜距变化小,但高度10 km量级时不能忽略。
4.3 集总干扰算成了单链路干扰
现象:航线导航场景干扰功率和机场导航场景差不多,但前者应该高得多。 原因:循环里每次覆盖了上一条链路的结果,没有做功率累加。集总干扰是功率相加,不是取最大值。 解决:用10*log10(sum(10**(I_i/10)))做功率域累加,不要用dB域直接相加。另外确认仿真区域内的基站列表是完整的,漏掉一个基站就少一份干扰。
4.4 DME天线增益在0°附近出现异常高值
现象:飞机快着陆时仰角接近0°,DME天线增益算出正值。 原因:插值范围没钳位,仰角超出0°后np.interp默认取端点值,但如果代码里做了外推,0°以上增益会虚假上升。 解决:np.clip把仰角钳到[-90°, 0°],超出范围取端点。同时检查0°附近的离散点,标准里0°增益是-2.43 dB,比-30°的-0.57 dB还低,这是正常的,不要以为是数据错误。
4.5 机场场景基站位置和跑道标准冲突
现象:基站部署在跑道延长线950 m处,干扰功率仍然低于门限,但总觉得哪里不对。 原因:民用机场飞行区技术标准要求跑道沿线外929 m内不允许有30 m高建筑物。仿真里基站天线挂高30 m,如果部署在929 m以内,本身就违反机场净空要求,不是干扰能不能共存的问题。 解决:仿真拓扑里基站位置先过一遍机场净空标准,950 m是合规起点。这个坑属于“算得对但前提错”,仿真结论再漂亮,部署方案不合法就是废的。
5. 从仿真到规划:把门限余量变成部署约束
仿真跑完,干扰功率低于门限只是第一步。真正做频率规划时,我习惯把门限余量反推成部署约束。具体做法是:固定DME保护标准-129 dBW/MHz,把干扰方程里可控的变量——基站发射功率、天线下倾角、基站到跑道距离——做成参数扫描,看每个变量允许多大范围。
比如机场导航场景,基站部署在跑道中心延长线侧边,距离着陆点950 m,垂直距离分别取10 m、50 m、100 m。仿真结果显示三种情况下干扰功率都低于门限,但余量不同。垂直距离100 m时余量最大,因为DME天线在低仰角增益低,加上自由空间损耗随距离增加。这意味着规划时优先把基站往侧边放,而不是正对跑道延长线。
再比如航线导航场景,网络负载因子从50%降到20%,集总干扰功率下降约4 dB。这个数字可以直接写进频率协调文件:如果未来900 MHz频段NR负载提升,需要重新评估对DME的集总干扰,留出对应的余量。
验证方法上,我一般会做两件事。一是把仿真结果和ITU-R M.2013、M.1642的参考值对一遍,确认参数没抄错。二是用蒙特卡洛跑多次,看干扰功率的分布而不是单点值,取95%分位数作为规划依据。单次仿真的结果可能偏乐观,分布的上尾才是风险所在。
从那以后我每次做共存仿真,都强制走一遍单位检查、斜距计算、功率累加这三步,少一步都不敢出报告。希望帮到你。
本文还有配套的精品资源,点击获取