
简介一份针对煤矿巷道、地铁隧道等有限空间无线通信场景的学术文献PDF收录于《电波科学学报》2003年第18卷第1期由孙继平、张长森撰写适合从事井下通信、隧道无线传输及电磁兼容研究的技术人员、高校师生作为参考文献使用。文件共1个PDF文档体积仅144KB页数不多但结构完整包含引言、模型建立、有限元分析公式推导与结论下载即可直接查阅目前已有72人浏览学习。内容采用三维有限元方法将人体视为有耗介质纳入矩形波导模型重点考察工作频率和人体电特性参数对反射系数、透射系数及功率损耗的影响并指出高频段人体吸收趋于稳定的关键规律。对矿井巷道、地铁隧道等受限空间移动通信系统的链路预算、天线布设和电磁环境评估均有一定理论指导价值。1. 人在矩形隧道中电磁波传输特性变化的起点矿井巷道、地铁隧道、地下管廊这类矩形断面空间里做无线覆盖最容易踩的坑不是距离估算而是“人”这个变量。隧道四壁把电磁波约束在有限截面内传播行为和自由空间完全不同一个人的介入可能让接收电平跌落十几dB也可能只在特定位置造成短暂凹陷。这个现象直接影响井下人员定位、应急语音通信和巡检机器人控制链路。下文从矩形隧道的波导效应讲起依次给出人体电磁模型的建立、仿真量化的方法、关键参数对传输特性的影响以及现场验证和链路预算修正的做法。面向的是正在做地下无线覆盖规划、电磁兼容评估或隧道通信调试的工程师内容按“理论→建模→参数→实测”推进每步都有可以直接套用的代码和参数表。2. 矩形隧道中电磁波的波导效应与人体电磁模型2.1 矩形隧道把电磁波变成“有损耗的波导模式”自由空间中的电磁波以球面波形式扩散距离每翻一倍路径损耗增加约6dB。矩形隧道则不然隧道宽a、高b通常在2m到5m与工作波长处于同一数量级时四壁把场约束在隧道轴向能量不再是全方位扩散而是以一系列波导模式向前传播。理想金属波导里每个模式有硬截止频率低于截止频率就无法传播但隧道壁是混凝土、岩层或砖砌体不是理想导体各模式并没有硬截止而是带着各自的衰减常数在轴向传播表现为“低损耗波导”。模式阶数越低场越集中在隧道截面中部离有耗壁面远衰减越小模式阶数越高场越贴近壁面壁面吸收越严重。因此矩形隧道在高频段的传播损耗不一定会增大在某些频段甚至比低频段传得更远。工程上常说的“井下用900MHz比用150MHz覆盖半径还大”根源就在这里。对做覆盖规划的人来说这个反直觉结论意味着选频不能只看自由空间损耗还要看隧道尺寸和壁面材料。衰减常数的定量估算常用模式衰减近似公式其形式与波长平方成正比、与隧道截面尺寸的三次方成反比。也就是说隧道宽高各放大1倍同样模式的衰减降为原来的1/8左右工作频率提高1倍衰减约降为1/4。这组比例关系是后面选择仿真频段和设置人体模型的重要依据。2.2 人体组织是有耗电介质参数随频率变化人体在射频段不能简单当成金属障碍物。肌肉、脂肪、骨骼都是具有实部和虚部的有耗电介质介电常数决定对电场的束缚能力电导率决定能量吸收的强弱。表1给出了工程估算中常用的两组组织参数数据来自通用的组织介电常数测量结果后续所有仿真和链路预算都可以照此取值。组织参数150 MHz400 MHz900 MHz2.4 GHz肌肉相对介电常数 εr62575552肌肉电导率 σ (S/m)0.700.801.001.80脂肪相对介电常数 εr865.54.5脂肪电导率 σ (S/m)0.040.050.060.20人体躯干主要由肌肉组织构成计算穿透损耗时取肌肉参数即可。900MHz下肌肉的相对介电常数约55电导率约1S/m等效复介电常数写为εr_eff εr - j·σ / (ω·ε0)这样处理后空气到人体表面是明显的阻抗不连续入射波一部分在表面反射一部分进入体内并快速衰减。人体厚度约0.2m在900MHz下肌肉组织内的波长只有几个厘米0.2m厚度已经相当于多个介质内波长用“薄屏遮挡”的概念去估算会严重低估。2.3 用平面波传输矩阵估算人体穿透损耗要快速知道人体到底吸收多少能量常见的做法是把人体躯干简化成一块均匀有耗介质平板用传输矩阵法计算垂直入射的穿透损耗。下面是可直接运行的Python实现。import numpy as np def body_penetration_loss(freq_hz, eps_r, sigma, thickness): c0 2.99792458e8 mu0 4 * np.pi * 1e-7 eps0 8.854187817e-12 omega 2 * np.pi * freq_hz # 复介电常数包含传导损耗 eps_c eps_r - 1j * sigma / (omega * eps0) # 介质内波数与波阻抗 k omega * np.sqrt(mu0 * eps0 * eps_c) eta np.sqrt(mu0 / (eps0 * eps_c)) eta0 np.sqrt(mu0 / eps0) # 单层介质平板的传输矩阵 [A B; C D] phase k * thickness A np.cos(phase) B 1j * eta * np.sin(phase) C 1j * np.sin(phase) / eta D np.cos(phase) # 透射系数空气-介质-空气三层结构 denom A B / eta0 eta0 * C D t 2.0 / denom return abs(t), -20 * np.log10(abs(t)) # 900MHz0.2m厚肌肉组织 t_amp, loss_db body_penetration_loss(900e6, 55, 1.0, 0.2) print(透射系数幅度: %.4f % t_amp) print(垂直入射穿透损耗: %.1f dB % loss_db)代码用传输矩阵把介质板的多次反射和体内衰减一次性算清楚避免了反复累加的误差。参数里freq_hz是工作频率eps_r和sigma从表1查thickness按人体躯干实际厚度取调试时可以把厚度改成0.3m对比差异。运行后你会发现单穿人体躯干的损耗在900MHz下通常有几十dB。这也是现场测试里“人体一挡就脱网”的直接原因之一。不过要注意隧道内多径丰富人体挡住的只是其中一条路径接收机收到的总场强是剩余路径的叠加所以实测附加损耗远小于穿透损耗。2.4 模式重分布才是隧道中人体影响的主因人体进入矩形隧道后不只是挡住了一条直射路径。人体占据截面的一部分相当于在波导中段插入一个局部加载结构入射到人体的能量一部分被吸收一部分被散射成新的高次模。因为人体边界不规则散射出的模式成分复杂其中高阶模式贴近壁面衰减很快这就改变了原有各模式之间的比例关系。隧道内的场本来就是多模式叠加形成的驻波图样人体位置变化会让接收点从驻波波峰滑向波谷。所以人站在同一个位置接收电平可能只掉3到5dB往旁边挪半米可能掉15dB。工程调试时遇到“人挡一下就断”先不用怀疑设备发射功率多数情况下是人体扰动导致模式重分布后接收点恰好落入新的场强零点。理解了这一点后面的仿真和测试点位设计才不会跑偏。3. 用射线追踪与全波仿真量化人体对传输特性的影响3.1 方法选型先射线追踪再全波局部校核矩形隧道动辄几十米上百米波长在0.1m到2m之间全波仿真把整条隧道建模会耗尽内存。工程上常见的做法是两步走先用射线追踪法在整条隧道尺度上算多径和人体遮挡给出覆盖趋势再用全波工具对天线和人体附近的局部区域做精细校核。下表是四种常用方法的对比。方法代表工具/方案人体建模方式隧道建模尺度优点主要限制镜像法射线追踪自研脚本有限尺寸吸收屏/矩形体百米级速度快物理路径清晰人体边缘绕射精度一般弹跳射线法SBR商业射线追踪软件均匀介质体百米级可处理复杂姿态网格粗糙时结果偏差大FDTDCST、openEMS体素化组织模型十波长以内吸收、耦合计算准确内存和时间开销大FEMHFSS等介质体/表面阻抗数波长以内近场精细适合天线匹配大场景基本算不动实际项目里我会先用射线追踪扫一遍收发点位和人体位置的变化曲线把波动范围摸清楚再把最差点位提取出来放到全波工具里验证人体靠近天线时的阻抗失配程度。两种结果互相校核比只看单一仿真可信得多。3.2 镜像法二维截面简算人体遮挡附加损耗怎么算下面给一个可以直接改的镜像法脚本。模型限定在隧道横向截面内发射点和接收点位于同一个截面上壁面反射用镜像源表示人体简化为一个可调整位置与尺寸的矩形吸收体。代码计算有人和无人的接收场强差作为人体附加损耗的近似估计。import numpy as np from scipy.special import hankel2 def mirror_sources_2d(tx, a, b, order6): 生成二维矩形截面内的镜像源。 tx: 发射点坐标; a,b: 隧道宽和高; order: 镜像阶数。 xs, ys, refc [], [], [] for nx in range(-order, order 1): for ny in range(-order, order 1): for sx in (1.0, -1.0): for sy in (1.0, -1.0): x 2 * nx * a sx * tx[0] y 2 * ny * b sy * tx[1] xs.append(x) ys.append(y) refc.append(abs(nx) abs(ny)) return np.array(xs), np.array(ys), np.array(refc) def line_hits_body(x0, y0, x1, y1, body): 从镜像源到接收点的直线是否穿过人体矩形。 tt np.linspace(0, 1, 256) xx x0 (x1 - x0) * tt yy y0 (y1 - y0) * tt hit ((xx body[0] - body[2] / 2) (xx body[0] body[2] / 2) (yy body[1] - body[3] / 2) (yy body[1] body[3] / 2)) return hit.any() def rx_power(tx, rx, a, b, freq, bodyNone, gamma0.7, order8): 计算接收场强返回dB值。 xs, ys, refc mirror_sources_2d(tx, a, b, order) dist np.hypot(rx[0] - xs, rx[1] - ys) keep np.ones(len(xs), dtypebool) if body is not None: for i in range(len(xs)): if line_hits_body(xs[i], ys[i], rx[0], rx[1], body): keep[i] False k 2 * np.pi * freq / 2.99792458e8 # 二维格林函数Hankel函数叠加反射次数越高权重越小 field np.sum(gamma ** refc[keep] * hankel2(0, k * dist[keep])) return 20 * np.log10(abs(field) 1e-15) # 3m×3m隧道2.4GHz发射与接收点位于同一横向截面 a b 3.0 tx [1.2, 1.5] rx [1.8, 1.5] body [1.5, 1.5, 0.5, 0.25] # 人体中心(1.5,1.5)宽0.5m厚0.25m p_no rx_power(tx, rx, a, b, 2.4e9) p_yes rx_power(tx, rx, a, b, 2.4e9, bodybody) print(无人: %.2f dB / 有人: %.2f dB % (p_no, p_yes)) print(人体附加损耗: %.2f dB % (p_no - p_yes))这段代码的逻辑是每个镜像源对应壁面反射路径反射次数由反射计数refc控制gamma是壁面反射系数人体矩形挡住的路径直接剔除等效成完全吸收。Hankel函数是二维波动方程的基本解叠加起来就是多径场强。参数说明order控制镜像阶数建议取8以上太低会漏掉大角度反射路径gamma取值混凝土壁在0.5到0.8之间壁面越干取值越大body是人体矩形参数[x, y, 宽, 厚]宽度对应人体正面宽度厚度对应躯干前后尺寸。跑出来的人体附加损耗通常是5到20dB量级具体数值与收发点和人体位置的相对关系强相关驻波波谷位置会偏高波峰位置会偏低。3.3 全波仿真校核的边界与网格设置射线追踪算的是多径遮挡人体表面对近场的影响还是需要全波工具校核。常见做法是在CST或openEMS里只建人体和天线周围3到5m的隧道段一端加波导端口激励另一端加吸收边界。网格步长按介质内最短波长的1/10控制2.4GHz下肌肉组织里的波长只有约1.5cm网格大约取1.5mm计算量明显增大所以隧道段要短。边界条件用PML或open边界隧道壁设为有限电导率材料光洁度和含水量通过介电常数和电导率体现。人体模型可以用体素化组织模型也可以先用均匀肌肉参数观察结果差异。建议让场探针分别记录有人和无人两种情况按“附加损耗 无人体电平 − 有人体电平”得到修正量用于校准射线追踪里的gamma值。4. 频率、位置、极化与姿态人体影响的关键参数4.1 频率越高人体遮挡和散射越明显人体电尺寸随频率升高而变大低频段人体绕射能力强、遮挡弱高频段人体几何阴影明显且组织吸收损耗也随电导率上升而增大。表2整理了典型频段下人体位于收发点连线中点的附加损耗经验范围供链路预算初期取值参考。频段人体躯干宽度对应的电长度典型附加损耗正面、垂直极化主要机制150 MHz约0.25个波长3~6 dB吸收为主绕射强400 MHz约0.7个波长5~10 dB吸收绕射900 MHz约1.5个波长8~15 dB吸收散射2.4 GHz约4个波长12~20 dB遮挡模式散射5.8 GHz约9.7个波长15~25 dB几何遮挡为主表2的数值是经验统计值条件为3m×3m矩形隧道、人体站在收发连线中点、极化固定。实际场景里驻波的波峰波谷会让结果浮动±5dB因此这里取的是中值。规划多频段系统时低频段可以少留余量高频段必须把人体遮挡当作主要衰减项来算。4.2 人体位置与驻波的叠加效应隧道内多模干涉形成驻波接收电平沿轴向呈波浪形分布。人体站在波腹处原本场强就强遮挡后电平下降可能只有几dB站在波节处场强本来就弱人体扰动可能直接把信号压到接收灵敏度以下。这解释了为什么现场测试时人走动接收电平曲线像锯齿一样波动。测量时不能只测一两个位置就下结论。常见做法是让测试人员从发射端向接收端慢走每0.2m停顿一下记录电平连续扫完整个区间然后在不同横向位置靠左墙、隧道中线、靠右墙各做一轮。最终取所有位置中电平最深的一个凹陷作为最恶劣工况写入覆盖验收标准。这样得到的数据才是可供后续链路预算使用的人体影响区间。4.3 极化方式与人身体轴方向人体长轴站立时近似垂直垂直极化波的电场与人体轴向平行容易在体内激励更强的电流吸收和散射都更明显。实测对比中垂直极化下人体附加损耗比水平极化高3到6dB。如果隧道内天线采用水平极化布置人体造成的电平跌落会小一些但水平极化受壁面和钢筋结构的反射影响更大覆盖均匀性可能变差。姿态的影响同样不可忽略。站立时人体遮挡截面接近正面宽度0.5m蹲下时高度下降遮挡面积减少但身体前倾时厚度增加吸收路径变长。对人员定位系统来说佩戴终端的人通常处于站立或行走姿态链路预算取站立正面的经验值即可如果要为检修蹲姿场景预留可以适当减小2dB但不能与站姿数据混用。4.4 从现场CSV里提取人体附加损耗现场测试得到的数据往往是距离-电平曲线需要从曲线里把人体遮挡造成的凹陷提取出来。下面的Python脚本读取频谱仪或手持接收机导出的CSV用滑动中值滤掉短周期的驻波快衰落再与无人基线做差。import pandas as pd import numpy as np df pd.read_csv(tunnel_rssi.csv) # 至少包含 distance 和 rssi_dbm 两列 # 滑动窗口覆盖约0.5m按实际采样间隔换算 win max(3, int(round(0.5 / np.diff(df[distance]).median()))) df[smooth] df[rssi_dbm].rolling(win, centerTrue).median() # 取发射端附近2~5m无人遮挡段的平滑电平中位数作为基线 base_mask (df[distance] 2) (df[distance] 5) baseline df.loc[base_mask, smooth].median() # 人体附加损耗 基线 - 整条曲线的平滑值最大值 depth_idx (baseline - df[smooth]).idxmax() attach_loss baseline - df.loc[depth_idx, smooth] depth_loc df.loc[depth_idx, distance] print(附加损耗: %.1f dB % attach_loss) print(最深处位于距发射端 %.2f m % depth_loc)逻辑说明滑动中值比滑动平均更能保留曲线的大尺度形状驻波周期一般小于0.5m窗口取0.5m可以把快衰落抹平。基线取发射端附近2到5m是因为该区域人体尚未完全遮挡直射路径电平接近无人状态。最大凹陷就是人体遮挡最严重的位置。参数说明如果采样间隔不是等距的np.diff会得到一个间隔序列取中位数做换算即可窗口太小滤不掉驻波窗口太大把人体凹陷也抹平了建议窗口覆盖0.5m到1m之间。若整条曲线有多个凹陷说明测试人员在移动过程中姿态多次变化需要分段提取并取最深值。5. 现场验证把人体影响折算进隧道无线链路余量5.1 测量时的三个易翻车细节第一天线极化不能在中途更换。垂直极化和水平极化的人体附加损耗差异有3到6dB测试中只要有人把天线转一下方向数据就失去可比性。测试前用标签固定天线朝向每轮测试结束后检查一次。第二人体位置要用距离标记对齐。让测试人员沿着隧道壁上的标记站位每0.2m一个点每点保持同一姿态停留2秒以上再读数。如果让测试人员自由走动事后很难把电平曲线和真实位置对齐提取出的凹陷深度也不可信。第三发射机要工作在连续波模式不能用跳频或自动功率控制的信号。跳频信号每次测量频率不同选频衰落会叠加在人体影响上自动功率控制会把发射功率拉平测出来的人体影响被人为掩盖。测试前关闭发射功率回退和接收端的自动增益控制上限。5.2 链路预算里给人体留多少余量把实测得到的人体附加损耗折算进链路余量的脚本如下。import numpy as np freq 900e6 dist 80.0 tx_power 20.0 # dBm发射功率 tx_gain 6.0 # dBi发射天线增益 rx_gain 6.0 # dBi接收天线增益 rx_min -105.0 # dBm接收灵敏度 c0 3e8 lam c0 / freq fspl 20 * np.log10(4 * np.pi * dist / lam) # 自由空间损耗 tunnel_loss 0.3 * dist # 隧道附加衰减 dB/m需按实测标定 body_loss 10.0 # 人体附加损耗按第4章表取中值或实测 margin (tx_power tx_gain rx_gain - fspl - tunnel_loss - body_loss - rx_min) print(自由空间损耗: %.1f dB % fspl) print(链路余量: %.1f dB % margin)逻辑说明自由空间损耗部分表示无论隧道是否存在都绕不开的扩散损耗隧道附加衰减按dB/m线性累加人体附加损耗作为独立余量项扣除取值来源是第4章的频率-损耗对照表。参数说明tunnel_loss需要根据实测标定干燥混凝土隧道一般在0.2~0.4dB/m潮湿环境会更高body_loss在人员常驻区域取10dB以上密集作业区建议按15dB预留。链路余量低于5dB时优先调整天线位置让人体活动区避开第一菲涅尔区或者改用双天线分集接收。最稳妥的验收做法是把“人员行走遮挡”纳入测试用例让测试人员站在链路中点来回走动记录最深的电平凹陷要求该值满足接收灵敏度以上5dB才能把这条链路判为通过。这样人体对矩形隧道中电磁波传输特性的影响就从仿真结论变成了一个可复核的现场指标。本文还有配套的精品资源点击获取