简介:这份PDF是北京邮电大学信息与通信工程学院大三下学期电磁场与电磁波实验的完整报告,面向通信工程、电子信息类专业学生及需要完成同类实验的学习者。报告以校医院4G信号场强特性研究为主题,系统覆盖实验目的、电磁场传播原理、测量方案设计、数据采集与处理流程,并给出磁场强度地理分布、统计分布及建筑物穿透损耗等结果分析,还包含测量误差讨论与场强分布研究思路。资源包共1个PDF文件,大小约1.49MB,内容结构完整,含目录、附录及网络参量测量演示实验问卷,便于直接参考实验框架、数据处理方法与图表呈现方式。目前已有511人学习下载,适合需要撰写实验报告、理解阴影衰落与穿透损耗测量方法的读者借鉴。
1. 北邮大三下电磁场与电磁波实验:一份 PDF 背后到底藏着什么硬骨头
如果你手里正躺着一份「北邮大三下学期电磁场与电磁波实验.pdf」,大概率你正在经历这样的场景:理论课上麦克斯韦方程组推得飞起,边界条件背得滚瓜烂熟,可一进实验室面对矢量网络分析仪、波导同轴转换器、驻波测量线,整个人瞬间懵了——仪器面板上一堆旋钮,实验指导书上一堆公式,数据记了一整页,最后写报告时才发现根本不知道这些数字意味着什么。这份 PDF 通常就是北邮电磁场与电磁波实验课的指导材料,覆盖传输线驻波测量、波导波长与频率关系、天线方向图测量、电磁波极化特性等经典实验模块。它解决的不是「电磁场理论是什么」,而是「怎么用一台真实仪器把课本上的场和波测出来」。适合谁看?大三通信、电子、电磁场专业的本科生,以及需要快速补齐微波测量实操能力的工程师。下面我按自己带实验和做微波测量的经验,把这份 PDF 里最常翻车的几个实验拆开讲。
2. 传输线驻波测量:从开短路到波节点,手把手把 Z 和 Γ 算出来
2.1 为什么驻波测量是电磁场实验的第一道坎
传输线驻波测量几乎是所有电磁场实验课的起点,原因很直接:它把「反射」「阻抗匹配」「驻波比」这些抽象概念变成示波器或测量线上能直接读到的电压最大值和最小值。一根同轴线,终端接不同负载,入射波和反射波叠加,就会在线上形成驻波。电压最大值 U_max 和最小值 U_min 的比值就是电压驻波比 VSWR,反射系数模值 |Γ| = (VSWR - 1)/(VSWR + 1)。听起来简单,但实际操作里,测量线的探针深度、信号源频率稳定性、检波器平方律还是线性律,都会让结果差出百分之十几。我一般会先让学生用开路和短路两个极端负载校准测量线,因为这两种情况的波节点位置理论上非常明确,短路时电流最大电压最小,开路时反过来,用它们可以验证测量线刻度是否对齐。
2.2 用测量线测驻波比和阻抗的最小步骤
下面这段 Python 不是用来控制仪器的,而是用来处理你从测量线上手抄下来的数据。很多同学测完一堆 U 和 d 就不知道怎么往下算,这里给一个最小可复现的处理脚本。
import numpy as np # 从测量线读到的数据:探针位置 d (mm) 和检波电压 U (mV) d = np.array([0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]) U = np.array([12.5, 9.8, 6.2, 3.1, 1.4, 0.9, 1.6, 3.5, 6.8, 10.1, 12.9]) # 找波节点:电压最小值位置 idx_min = np.argmin(U) d_min = d[idx_min] U_min = U[idx_min] # 找相邻波腹点:电压最大值位置 idx_max = np.argmax(U) d_max = d[idx_max] U_max = U[idx_max] # 电压驻波比 VSWR VSWR = U_max / U_min # 反射系数模值 Gamma = (VSWR - 1) / (VSWR + 1) # 波导波长:相邻两个波节点距离为半个波导波长 # 这里只有一个明显波节点,实际实验应测两个以上波节点 lambda_g = 2 * abs(d_max - d_min) # 粗略估计,仅作演示 print(f"波节点位置 d_min = {d_min} mm, U_min = {U_min} mV") print(f"波腹点位置 d_max = {d_max} mm, U_max = {U_max} mV") print(f"VSWR = {VSWR:.3f}") print(f"反射系数模值 |Gamma| = {Gamma:.3f}") print(f"波导波长估计 lambda_g = {lambda_g:.2f} mm")逻辑说明:脚本先找电压最小点和最大点,算出 VSWR 和 |Γ|,再用相邻波节/波腹距离估算波导波长。参数说明:d 的单位要和测量线刻度一致,一般用毫米;U 如果是检波器输出,要确认检波器工作在平方律区,否则 U 不能直接代表场强平方,需要先开方或者查检波曲线。实际实验中,波节点往往不是刚好落在你取的采样点上,所以更稳妥的做法是在最小值附近加密采样,用抛物线拟合找真正的最小点位置。我一般会让学生至少测三个波节点,用相邻波节点间距的平均值算波导波长,这样能把读数误差压下去。
2.3 阻抗计算和 Smith 圆图的对应关系
测出 |Γ| 和第一个波节点到负载的距离 d_min,就能算负载阻抗。归一化阻抗 z_L = (1 + Γ)/(1 - Γ),其中 Γ 是复数,相位由 2βd_min 决定,β = 2π/λ_g。很多同学卡在「相位符号」上,这里有个血泪经验:从负载向信号源方向移动,参考面相位是滞后的,所以 Γ_L = |Γ| * exp(j * 2β * d_min) 还是 exp(-j * 2β * d_min),取决于你的坐标定义。我一般建议直接在 Smith 圆图上标:从短路点(Γ = -1)沿等 |Γ| 圆向信号源方向转 2βd_min,转到哪个位置就读哪个阻抗。这样不容易搞错符号。如果实验室有矢量网络分析仪,可以直接测 S11 再反算阻抗,和测量线结果对比,偏差在 10% 以内就算合格。
3. 波导波长与频率测量:矩形波导里那些反直觉的截止现象
3.1 波导波长不等于自由空间波长,这是第一个反直觉点
在矩形波导里,电磁波的相速大于光速,波导波长 λ_g 大于自由空间波长 λ_0。很多同学第一次测波导波长时,发现用频率计读出的频率算出来的 λ_0 和测量线测出的 λ_g 对不上,就以为自己测错了。其实这是正常的,关系是 λ_g = λ_0 / sqrt(1 - (f_c/f)^2),其中 f_c 是波导截止频率,由波导宽边尺寸决定。以北邮实验常用的 BJ-100 波导(X 波段,宽边 22.86 mm)为例,截止频率约 6.56 GHz,工作频率在 8.2 到 12.4 GHz 之间。如果你在 9 GHz 测,λ_0 ≈ 33.3 mm,λ_g ≈ 39.8 mm,差了将近 20%。这个差异不是误差,是波导色散的直接体现。
3.2 用频率计和测量线联合测波导波长的操作流程
实验步骤通常是这样:信号源接波导同轴转换器,经过隔离器、衰减器、定向耦合器,一路到频率计,一路到测量线,终端接匹配负载或短路器。先调信号源频率到指定值,比如 9.0 GHz,用频率计确认。然后移动测量线探针,找相邻两个波节点,记录位置 d1 和 d2,λ_g = 2 * |d2 - d1|。重复测三组,取平均。下面这个表格是我带实验时常用的记录格式,你可以直接抄。
| 测量次数 | 波节点1位置 d1 (mm) | 波节点2位置 d2 (mm) | 波导波长 λ_g (mm) | 频率 f (GHz) | 理论 λ_g (mm) | 相对误差 |
|---|---|---|---|---|---|---|
| 1 | 12.4 | 32.2 | 39.6 | 9.00 | 39.8 | 0.5% |
| 2 | 12.6 | 32.4 | 39.6 | 9.00 | 39.8 | 0.5% |
| 3 | 12.3 | 32.1 | 39.6 | 9.00 | 39.8 | 0.5% |
参数说明:波节点位置读数要估读到 0.1 mm,测量线本身有刻度误差,一般 0.05 mm 左右。频率计读数要等信号源稳定后再记,刚开机时频率会漂几十 MHz。理论 λ_g 用公式算:λ_g = c / (f * sqrt(1 - (f_c/f)^2)),其中 c 是光速,f_c 是波导截止频率。如果相对误差超过 2%,先检查波导法兰连接是否拧紧,再检查测量线探针是否太深导致失谐。
3.3 截止频率附近为什么测不准
当工作频率接近截止频率时,λ_g 急剧变大,测量线上两个波节点可能相距几十厘米,超出测量线行程。而且此时波导中能量衰减很快,探针检波电压很小,信噪比差,读数跳动大。我一般会避开截止频率 10% 以内的频段,选 9 到 11 GHz 之间做测量。另外,波导法兰没对齐、连接处有缝隙,会激励高次模,导致驻波图案畸变,这时候你测的波节点位置会漂。解决方法是拧紧法兰螺丝,必要时用扭矩扳手,保证接触面平整。
4. 天线方向图测量:从远场条件到极化匹配的避坑清单
4.1 远场条件不满足时,方向图会怎么翻车
天线方向图测量是电磁场实验里最容易「看起来做了但数据不能用」的环节。远场条件要求测试距离 R > 2D²/λ,其中 D 是天线最大尺寸,λ 是工作波长。以北邮实验常用的喇叭天线为例,D 约 10 cm,在 10 GHz 时 λ = 30 mm,2D²/λ ≈ 0.67 m。如果实验室空间不够,只放了 0.3 m,测出来的方向图主瓣会变宽,旁瓣会抬高,甚至出现虚假零点。我见过最离谱的一组数据,主瓣宽度测出来比理论值大了 40%,就是因为距离不够。解决办法:要么换小口径天线,要么降低频率让 λ 变大,要么把收发天线拉到满足远场条件的位置。
4.2 极化匹配:一个容易被忽略的 3 dB 陷阱
天线极化匹配直接影响接收功率。如果发射天线是线极化,接收天线也是线极化但两者轴向差了 45 度,接收功率会下降 3 dB;差了 90 度,理论上接收功率为零。实验中经常出现「转了半天接收天线,信号就是上不去」的情况,八成是极化没对上。我一般会先固定发射天线极化方向,然后旋转接收天线,找到接收功率最大点,再开始测方向图。测方向图时,接收天线绕自身轴旋转,同时记录不同角度下的接收功率。下面是一个处理方向图数据的脚本片段。
import numpy as np # 角度 (度) 和接收功率 (dBm) theta = np.array([-90, -75, -60, -45, -30, -15, 0, 15, 30, 45, 60, 75, 90]) P_dBm = np.array([-52, -48, -42, -35, -28, -22, -18, -22, -28, -35, -42, -48, -52]) # 归一化功率 (线性) P_lin = 10 ** (P_dBm / 10) P_norm = P_lin / np.max(P_lin) P_norm_dB = 10 * np.log10(P_norm) # 找 -3 dB 波束宽度 idx_3dB = np.where(P_norm_dB >= -3)[0] if len(idx_3dB) > 0: theta_3dB_left = theta[idx_3dB[0]] theta_3dB_right = theta[idx_3dB[-1]] beamwidth = theta_3dB_right - theta_3dB_left print(f"-3 dB 波束宽度 = {beamwidth:.1f} 度") else: print("未找到 -3 dB 点,检查数据范围") # 打印归一化方向图 for t, p in zip(theta, P_norm_dB): print(f"theta = {t:4d} deg, P_norm = {p:6.2f} dB")逻辑说明:先把 dBm 转成线性功率,归一化后再转回 dB,找 -3 dB 对应的角度范围。参数说明:theta 是接收天线相对于发射天线主轴的角度,P_dBm 是频谱仪或功率计读数。注意,如果接收天线有放大器,要扣除放大器增益;如果电缆损耗大,也要校准进去。我一般会在测量前用直通连接校准整个接收链路的损耗,这样测出来的方向图才是天线本身的。
4.3 避坑清单:天线测量中最容易踩的五个坑
现象一:方向图不对称,一边高一边低。原因:收发天线没有对准,或者实验室墙壁反射导致多径干扰。解决:用激光笔辅助对准,在天线周围加吸波材料,或者把测试距离拉远让反射波衰减。
现象二:主瓣宽度比理论值大很多。原因:远场条件不满足,或者接收天线口径太大导致平均效应。解决:核算 R > 2D²/λ,换小口径天线,或者提高频率。
现象三:接收功率随角度变化很小。原因:极化失配,或者接收机进入非线性区。解决:旋转接收天线找极化最大点,检查接收机是否过载,加衰减器。
现象四:重复测量同一角度,功率读数漂移。原因:信号源频率漂移,或者天线支架松动。解决:预热信号源半小时,拧紧支架螺丝,每次测量前重新校准。
现象五:旁瓣测不出来,被噪声淹没。原因:接收链路噪声系数高,或者频谱仪分辨率带宽设太大。解决:降低分辨率带宽,加低噪声放大器,增加平均次数。
5. 把实验数据变成能交的报告:误差分析与曲线拟合的进阶技巧
5.1 误差来源分类:系统误差、随机误差和粗大误差
电磁场实验的数据处理,第一步不是画图,而是把误差来源列清楚。系统误差包括测量线刻度不准、频率计偏差、电缆损耗未校准、检波器非线性;随机误差包括信号源频率漂移、探针接触不稳定、读数估读偏差;粗大误差就是操作失误,比如波节点找错、法兰没拧紧、极化完全失配。我一般会让学生先做重复性测量,同一条件下测五组,如果某组明显偏离,先怀疑粗大误差,而不是急着算平均值。系统误差要靠校准消除,随机误差靠多次测量取平均,粗大误差直接剔除。
5.2 用最小二乘法拟合波导波长和频率关系
波导波长和频率的关系是非线性的,但如果你把 λ_g 和 1/sqrt(1 - (f_c/f)^2) 做线性拟合,斜率就是 λ_0 对应的常数。更实用的做法是:测多个频率点的 λ_g,然后用理论公式反推截止频率 f_c,和波导标称值对比。下面这个脚本演示了如何用最小二乘法拟合。
import numpy as np from scipy.optimize import curve_fit # 测量数据:频率 f (GHz) 和波导波长 lambda_g (mm) f = np.array([8.5, 9.0, 9.5, 10.0, 10.5, 11.0]) lambda_g = np.array([46.2, 39.8, 35.4, 32.1, 29.5, 27.4]) # 理论模型:lambda_g = c / (f * sqrt(1 - (fc/f)^2)) c = 299.792458 # 光速,单位 mm*GHz def model(f, fc): return c / (f * np.sqrt(1 - (fc / f) ** 2)) # 拟合截止频率 fc popt, pcov = curve_fit(model, f, lambda_g, p0=[6.5]) fc_fit = popt[0] print(f"拟合得到的截止频率 fc = {fc_fit:.3f} GHz") # 计算拟合残差 lambda_g_fit = model(f, fc_fit) residual = lambda_g - lambda_g_fit print("残差 (mm):", residual) print(f"最大残差 = {np.max(np.abs(residual)):.3f} mm")逻辑说明:用理论模型去拟合测量数据,反推截止频率。参数说明:c 的单位要跟 f 和 λ_g 匹配,这里 f 用 GHz,λ_g 用 mm,c 取 299.792458 mm·GHz。p0 是截止频率初值,一般取波导标称截止频率附近。如果拟合残差超过 1 mm,说明测量数据有问题,先检查波节点读数是否准确。我一般会要求残差控制在 0.5 mm 以内,否则重测。
5.3 报告里必须写清楚的三个参数
第一,测量不确定度。不要只写「误差 5%」,要写清楚是 A 类不确定度还是 B 类,怎么算的。第二,校准记录。测量线刻度校准、频率计校准、电缆损耗校准,这些都要在报告里体现。第三,原始数据。别只放处理后的曲线,原始读数表格要附上,方便复查。我带实验时最怕看到报告里只有一条光滑曲线,问原始数据在哪,学生说「太乱没放」。原始数据才是你工作的证据,曲线只是辅助。
5.4 一个具体技巧:用 Smith 圆图快速判断匹配状态
如果你手头没有矢量网络分析仪,只有测量线,可以用 Smith 圆图快速判断负载匹配状态。测出 VSWR 和第一个波节点位置后,在圆图上找到对应的等 VSWR 圆,再从短路点沿圆周转 2βd_min,落点就是归一化负载阻抗。如果落点靠近圆心,说明匹配良好;如果靠近圆边缘,说明反射很强。这个技巧在调试天线匹配网络时特别有用,比反复算公式快得多。我一般会随身带一张打印的 Smith 圆图,测完直接标点,比打开软件快。
希望帮到你。
本文还有配套的精品资源,点击获取