☰
人体对矩形隧道电磁波传输特性影响:有限元建模与定量分析
2026/9/25 19:50:38 网站建设 项目流程

简介:这份PDF文献面向无线通信、电磁场与微波技术方向的研究人员与工程技术人员,聚焦煤矿巷道、地铁隧道等有限空间内人体对电磁波传输特性的影响这一实际问题。资源共1个PDF文件,压缩包约144KB,内容为正式期刊论文,含摘要、模型建立、数值分析与结论等完整章节,便于直接引用与参考。文中采用三维有限元方法,将矩形隧道视为波导、人体视为有耗介质,系统分析了工作频率升高时反射系数增大、透射系数降低以及人体内入射功率损耗比例上升的规律,并指出频率超过一定值后变化趋势趋于平缓,同时说明人体电特征参数变化对反射、透射与损耗影响不显著。目前已有73人学习,适合从事隧道通信、矿井无线覆盖及有限空间信道建模的读者参考,可帮助理解人体障碍对通信质量的作用机理,为系统设计与优化提供理论依据。

1. 矩形隧道里塞进一个人之后:电磁波传输特性到底变了什么

地铁隧道、公路隧道、矿井巷道里做无线通信覆盖,工程师最常被问的一个问题是:这条矩形隧道里,电磁波到底能传多远?很多人第一反应是拿自由空间公式套一下,或者翻出隧道断面积乘个经验系数,结果现场一测,误差大到怀疑人生。问题出在哪儿?隧道不是一根空心管子,里面有列车、有支护结构、有管线,还有——人。对,就是活生生的人。当隧道里出现人体这种有耗介质,矩形波导里原本规整的传输模式会被扰动,场分布发生畸变,衰减常数跟着变。这个标题要解决的就是这件事:把人体对矩形隧道电磁波传输特性的影响,从定性猜测变成可计算、可复现的定量分析。适合做隧道通信覆盖、矿井无线系统、应急通信链路的人看,也适合正在学有限元方法想找个真实场景练手的人。

2. 矩形隧道电磁波传输:从波导理论到有限元建模的完整链路

2.1 矩形隧道为什么能当波导看,又为什么不能完全当波导看

矩形隧道在电磁波传播上确实有波导特征。当电磁波频率高于隧道截止频率时,隧道可以支持多种传播模式,类似矩形金属波导里的 TE 和 TM 模。截止频率由隧道横截面尺寸决定,宽高比影响模式分布。这是经典隧道电磁波传播理论的基础,也是很多工程估算公式的出发点。

但真实隧道和理想金属波导有本质区别。隧道壁面不是理想导体,混凝土、岩石、衬砌结构的电导率和介电常数都是有限值,电磁波会穿透壁面产生损耗。壁面粗糙度、支护钢架、管线也会引入额外散射。更关键的是,隧道内部不是空的。列车、车辆、设备、人员都是障碍物,其中人体因为含水量高、介电常数大,对电磁波的影响尤其明显。

人体组织在常用通信频段(比如 400 MHz 到 2.4 GHz)的相对介电常数通常在 40 到 60 之间,电导率在 0.5 到 2 S/m 量级。这个数值意味着人体对电磁波既有反射也有吸收,不是简单的金属反射体,也不是透明体。当人体出现在隧道横截面内,相当于在波导中插入了一个有耗介质体,会改变模式的场分布和传播常数。

常见做法是:先用理想波导理论估算隧道的基本传播特性,确定工作频率和模式;再把人体作为扰动体引入,用数值方法计算扰动后的场分布和衰减。有限元方法就是干这个的。

2.2 用有限元方法建矩形隧道模型:从几何到边界条件

有限元方法求解电磁场问题,核心是把连续的场域离散成有限个小单元,在每个单元内用插值函数近似场量,然后组装成代数方程组求解。对于矩形隧道中人体影响这个问题,二维横截面模型就能抓住主要物理特征,计算量也可控。

先建几何。矩形隧道横截面,宽和高按实际尺寸来,常见公路隧道宽约 10 米、高约 5 米,地铁隧道直径 5 到 6 米但可以等效成矩形。人体简化为椭圆或矩形有耗介质体,位置放在隧道横截面内不同偏移处,比如正中央、靠壁、靠地面。人体尺寸按肩宽 0.45 米、厚度 0.25 米左右取,高度方向在二维模型里不体现,但介电参数按人体组织取值。

边界条件方面,隧道壁面用阻抗边界条件或过渡边界条件,给定表面阻抗来模拟有耗壁面。如果壁面材料参数已知,也可以用分层介质边界。外边界截断用完美匹配层吸收 outgoing 波,避免反射污染计算结果。

import numpy as np from scipy.sparse import lil_matrix from scipy.sparse.linalg import spsolve # 矩形隧道二维横截面有限元求解 TE 模 # 隧道尺寸 (米) a = 10.0 # 宽 b = 5.0 # 高 # 工作频率 f = 900e6 # 900 MHz omega = 2 * np.pi * f mu0 = 4 * np.pi * 1e-7 eps0 = 8.854e-12 # 人体区域参数 (900 MHz 肌肉组织) eps_r_body = 55.0 sigma_body = 1.2 # S/m # 隧道壁面参数 (混凝土) eps_r_wall = 6.0 sigma_wall = 0.02 # 复介电常数 eps_body = eps_r_body - 1j * sigma_body / (omega * eps0) eps_wall = eps_r_wall - 1j * sigma_wall / (omega * eps0) # 网格划分 (简化: 结构化网格) nx, ny = 80, 40 dx, dy = a / nx, b / ny nn = (nx + 1) * (ny + 1) # 组装刚度矩阵 (标量 Helmholtz 方程) K = lil_matrix((nn, nn), dtype=complex) for j in range(ny + 1): for i in range(nx + 1): n = j * (nx + 1) + i # 判断节点是否在人体区域 x, y = i * dx, j * dy in_body = (abs(x - a/2) < 0.25) and (abs(y - b/2) < 0.15) eps_local = eps_body if in_body else 1.0 k0_sq = omega**2 * mu0 * eps0 # 简化五点差分格式 K[n, n] = -4.0 / dx**2 + k0_sq * eps_local if i > 0: K[n, n-1] = 1.0 / dx**2 if i < nx: K[n, n+1] = 1.0 / dx**2 if j > 0: K[n, n-(nx+1)] = 1.0 / dy**2 if j < ny: K[n, n+(nx+1)] = 1.0 / dy**2 # 这里只展示矩阵组装逻辑,边界条件和求解略 print(f"矩阵维度: {nn}x{nn}, 非零元: {K.nnz}")

这段代码展示的是有限元矩阵组装的核心逻辑。参数说明:a和b是隧道横截面尺寸,直接决定截止频率和模式分布;f是工作频率,900 MHz 是隧道通信常用频段;eps_r_body和sigma_body是人体组织的相对介电常数和电导率,这两个参数直接决定人体对电磁波的反射和吸收强度;eps_r_wall和sigma_wall是隧道壁面参数,影响壁面损耗。网格密度nx和ny决定计算精度,一般要求每个波长至少 10 到 20 个网格点。

实际用的时候,边界条件不能省。隧道壁面用阻抗边界条件,外边界用完美匹配层。人体区域和空气区域的界面要保证网格对齐,否则介电常数突变会导致计算误差。如果人体位置靠近壁面,网格还要局部加密。

2.3 人体参数怎么设:介电常数、电导率和几何简化的取舍

人体电磁参数不是随便填的。不同组织、不同频率下差异很大。肌肉、皮肤、脂肪、骨骼的介电特性各不相同。做隧道传播分析时,如果只关心人体对传播模式的整体扰动,可以用均匀肌肉组织参数近似,因为肌肉含水量高、对电磁波影响最大。如果要做精细分析,比如可穿戴设备在隧道内的通信,就需要分层模型。

常用频段下人体肌肉组织的参数大致如下表。这些数据来自公开的生物电磁学文献,做仿真时可以直接参考。

频率相对介电常数电导率 (S/m)穿透深度 (cm)
400 MHz570.86.5
900 MHz551.24.5
1.8 GHz531.53.2
2.4 GHz521.82.5

几何简化方面,二维模型把人体当成无限长柱体,忽略了高度方向的变化。这在人体高度远大于隧道横截面尺寸时是合理的,因为电磁波沿隧道轴向传播,横截面内的扰动是主要因素。但如果人体尺寸和隧道尺寸可比,比如人在小断面隧道里,二维简化就会带来误差,需要考虑三维模型。

另一个取舍是人体姿态。站立、行走、弯腰对场分布影响不同。做覆盖预测时,通常取站立姿态作为典型情况。如果要做最坏情况分析,可以取人体位于隧道中央、正对传播方向的位置,这时遮挡最严重。

3. 仿真跑通之后:怎么判断人体到底把传输特性改变了多少

3.1 看衰减常数和场分布:两个核心输出量

仿真跑完,最直接的结果是电场或磁场的空间分布。但工程上更关心的是衰减常数,也就是电磁波沿隧道传播时每米衰减多少 dB。有人体和没人体,衰减常数差多少,这是判断影响程度的关键指标。

提取衰减常数的方法:在隧道轴向上取多个横截面,计算每个截面上主模的功率,然后拟合功率随距离的指数衰减。斜率就是衰减常数。对比空隧道和有人的情况,差值就是人体带来的附加衰减。

场分布的变化也很说明问题。空隧道里,TE 模的电场在横截面上有规整的驻波图案。人体引入后,场图案畸变,人体附近出现场强零点或热点。如果人体靠近壁面,壁面附近的场分布变化更明显,因为人体和壁面之间的多次散射会增强局部场强。

# 沿隧道轴向提取衰减常数 # 假设已求得不同 z 位置的横截面场分布 E_field(z) z_positions = np.linspace(0, 100, 21) # 0 到 100 米 power_z = [] for z in z_positions: # 计算该横截面的总功率 (对场强平方积分) P = np.sum(np.abs(E_field_at_z(z))**2) * dx * dy power_z.append(P) power_z = np.array(power_z) # 拟合指数衰减: P(z) = P0 * exp(-2*alpha*z) from scipy.optimize import curve_fit def decay_func(z, P0, alpha): return P0 * np.exp(-2 * alpha * z) popt, pcov = curve_fit(decay_func, z_positions, power_z) alpha = popt[1] # 衰减常数 (Np/m) alpha_dB = alpha * 8.686 # 转换为 dB/m print(f"衰减常数: {alpha_dB:.4f} dB/m")

这段代码的逻辑是:先算不同距离处的截面功率,再用指数衰减模型拟合。参数alpha就是衰减常数,单位是 Np/m,乘以 8.686 转换成 dB/m。对比空隧道和有人隧道的alpha_dB,差值就是人体附加衰减。如果差值超过 1 dB/m,说明人体影响显著,覆盖设计时必须考虑。

3.2 频率和人体位置怎么影响结果:三组对比仿真

光跑一个工况不够,得做对比。我一般会跑三组:空隧道、人体在隧道中央、人体靠壁。每组再扫几个频率,比如 400 MHz、900 MHz、1.8 GHz。这样能看出频率和位置各自的敏感度。

频率的影响规律:频率越高,波长越短,人体尺寸相对于波长越大,散射和吸收越强。所以高频段人体影响通常比低频段大。但隧道本身的衰减也随频率变化,综合效果要看具体断面尺寸和壁面材料。

位置的影响规律:人体在隧道中央时,对主模场分布的扰动最大,因为主模电场峰值通常在截面中心。人体靠壁时,对主模影响小一些,但会激发高次模,导致局部场强波动。如果人体靠近接收天线,影响更直接。

工况400 MHz 附加衰减900 MHz 附加衰减1.8 GHz 附加衰减
人体在中央0.3 dB/m0.8 dB/m1.5 dB/m
人体靠壁0.1 dB/m0.4 dB/m0.9 dB/m
人体在收发之间0.5 dB/m1.2 dB/m2.1 dB/m

上面这组数据是典型趋势,具体数值取决于隧道尺寸和壁面参数。做实际项目时,建议按自己隧道参数跑一遍,不要直接套。

3.3 网格收敛性验证:怎么确认结果不是网格太粗算出来的

有限元结果对网格密度敏感。网格太粗,场分布算不准,衰减常数偏差大。网格太细,计算量爆炸。必须做收敛性验证。

做法:固定其他参数,逐步加密网格,看衰减常数什么时候稳定。一般要求相邻两次网格加密的结果差异小于 2%。如果差异大,继续加密。对于 900 MHz 在 10 米宽隧道里的问题,网格尺寸取波长的 1/10 到 1/20 通常够用。人体区域因为介电常数高、场变化剧烈,网格要更细,取波长的 1/30 左右。

# 网格收敛性验证 mesh_sizes = [0.20, 0.15, 0.10, 0.08, 0.05] # 网格尺寸 (米) alpha_results = [] for h in mesh_sizes: # 用网格尺寸 h 重新划分并求解 alpha = solve_fem_with_mesh(h) # 假设已有求解函数 alpha_results.append(alpha) print(f"网格尺寸 {h:.2f} m, 衰减常数 {alpha:.4f} dB/m") # 检查收敛性 for i in range(1, len(alpha_results)): diff = abs(alpha_results[i] - alpha_results[i-1]) / abs(alpha_results[i-1]) print(f"网格 {mesh_sizes[i-1]:.2f} -> {mesh_sizes[i]:.2f}, 相对变化: {diff*100:.2f}%")

如果相对变化在 2% 以内,说明网格收敛了。如果没收敛,继续减小网格尺寸。注意人体区域的网格要单独控制,不能和空气区域用同一个尺寸。

4. 避坑指南:人体影响仿真里最容易翻车的五个地方

4.1 人体介电参数用错频率

现象:仿真结果和实测对不上,衰减偏差大。原因:直接用了文献里某个频率的参数,没注意工作频率不同。人体介电常数和电导率随频率变化明显,400 MHz 和 2.4 GHz 下肌肉的电导率差一倍多。解决:按实际工作频率查参数表,或者用 Cole-Cole 模型计算。不要跨频率套用。

4.2 边界条件设成理想导体

现象:衰减常数算出来偏小,场分布太规整。原因:隧道壁面设成了理想电导体,电磁波完全不穿透壁面,损耗被低估。真实隧道壁面是有耗介质,必须用阻抗边界条件或分层介质边界。解决:查隧道壁面材料的电导率和介电常数,设置对应的表面阻抗。如果不知道具体参数,用典型混凝土参数先算,再做灵敏度分析。

4.3 人体网格和空气网格不共节点

现象:计算结果出现非物理的场强突变,衰减常数异常。原因:人体区域和空气区域网格不连续,介电常数在单元边界上跳变,导致数值误差。解决:保证人体边界和空气网格共节点,或者在人体边界做局部加密。用商业软件时,注意检查网格连续性。

4.4 忽略高次模的影响

现象:接收点场强预测和实测差很多,尤其是靠近人体的位置。原因:只算了主模,忽略了人体激发的高次模。人体作为散射体,会激发隧道里的高次模,这些模式虽然衰减快,但在近场区域贡献显著。解决:仿真时多算几个模式,或者直接用全波方法,不做过多的模式截断。

4.5 二维模型直接套三维场景

现象:在短隧道或人体尺寸和隧道尺寸可比时,二维结果偏差大。原因:二维模型假设人体无限长,忽略了轴向变化。如果隧道长度和人体高度可比,或者人体姿态变化大,二维简化不成立。解决:对短隧道或精细分析,用三维模型。三维计算量大,可以先二维粗算,再三维局部细化。

5. 把人体影响算准之后:一个验证技巧和我的习惯

仿真做完,怎么确认结果可信?我一般会做一个简单验证:把人体移出隧道,看结果能不能退化成空隧道理论值。如果空隧道情况下,有限元算出的衰减常数和解析公式对得上,说明模型设置没问题。然后再把人体放回去,对比差异。这个退化解验证是成本最低的后悔药,能排除大部分建模错误。

另一个技巧是看场分布的对称性。空隧道里,矩形截面的场分布有对称性。人体引入后,对称性被破坏。如果仿真结果里对称性破坏的模式和人体位置对不上,比如人体在左边但场强变化在右边,那肯定是哪里搞错了。这种定性检查比盯着数字看更有效。

参数扫描也有讲究。不要一上来就扫几十个工况,先跑三个典型位置和两个频率,看看趋势对不对。趋势对了,再细化。趋势不对,先查模型,别急着加工况。我见过有人扫了上百个工况,最后发现边界条件设错了,全部重来。血泪经验。

最后说一个习惯:每次仿真都保存网格文件和求解器设置。有限元结果对网格和求解器参数敏感,过两周回头复现,没有这些记录根本对不上。我一般会在项目文件夹里放一个README,写清楚网格尺寸、边界条件类型、人体参数来源、求解器容差。这个习惯帮我省了很多重复劳动。

希望帮到你。

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

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

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

立即咨询