简介:这份PDF文献面向从事海上风电、航海保障与雷达电磁兼容研究的技术人员及高校师生,针对海上风电场密集布设后对导航雷达探测性能造成干扰的问题,提出了一套雷达电磁波散射场强的计算方法。资源包共1个文件,为PDF格式,大小约1.63MB,内容源自《武汉理工大学学报(交通科学与工程版)》2020年第44卷第2期,属正式发表的学术论文,便于直接引用与存档。文中结合电磁场与电磁波理论及第一、第三类贝塞尔函数,分别建立单台风机在垂直极化与水平极化条件下的散射场强核算模型,并引入风机群阵因子分析多台风机共同作用下的场强分布,对某海上风电场进行仿真验证,得出散射场具有明显方向性、最大场强散射方向波瓣宽度约10km等结论,同时给出降低风电场对雷达探测性能影响的建议。目前已有189人学习,适合作为电磁波与通信技术方向的技术开发参考及专业指导文献。
1. 海上风电场旁导航雷达为什么会出现假目标:从散射场强算起
海上风电场建起来之后,附近航道和港口的值班人员常遇到一件怪事:导航雷达屏幕上,风机所在方位会冒出一片时隐时现的假回波,有时像一条亮带,有时像几个漂移的点,目标跟踪算法还会把它们当成慢速船只,反复起批又丢失。这不是雷达坏了,而是风机塔筒、叶片和机舱对电磁波产生了强散射,回波经接收机处理后进入了显示和跟踪链路。要判断影响范围、评估要不要调整雷达站址或参数,绕不开一个基础量:散射场强。它描述的是电磁波打到风机结构后,在雷达接收点处重新辐射出的场有多强,直接决定假目标出现在哪个距离、哪个方位、强度够不够触发检测门限。这篇笔记面向做电磁散射计算、雷达站址评估和风电场电磁兼容分析的工程师,把导航雷达在海上风电场作用下的散射场强计算拆成可复现的步骤:先明确几何与电磁模型,再落到网格、材料和求解设置,最后讲怎么验证结果、怎么避开常见翻车点。热词里的雷达距离方程、电磁波反射、毫米波雷达原理在这里都能对上号,只是频段和场景换成了海上导航雷达常用的 S 波段与 X 波段。
2. 把风电场几何和雷达参数变成可计算的输入:建模与参数选取
2.1 风机结构怎么简化才不丢散射特征
海上风机对导航雷达的散射,主要来自塔筒、叶片和机舱三部分。塔筒是直立圆柱,直径通常几米,高度几十到上百米,对水平极化波来说,圆柱的镜面反射和爬行波绕射是主要贡献。叶片是细长曲面,旋转时姿态不断变化,散射截面随方位角和俯仰角剧烈起伏,这是假回波闪烁的根源。机舱体积小但形状复杂,对近距离雷达影响不可忽略。常见做法是:塔筒用理想导体圆柱或带涂层的多层圆柱近似,叶片用薄板或有限长椭圆柱近似,机舱用简化多面体。如果只关心远场散射方向图,不必把螺栓、爬梯都建出来,但塔筒直径、叶片长度和旋转平面高度必须准确,因为它们直接改变散射相位中心。
建模时先定坐标系:以雷达为原点,x 轴指向正东,y 轴指向正北,z 轴向上。风机位置用经纬度和海拔换算到本地直角坐标,塔筒底部中心作为局部原点,叶片绕轮毂中心旋转。雷达天线高度、波束宽度、发射频率、极化方式都要写进输入文件。导航雷达常见频率在 3 GHz 和 9.4 GHz 附近,波长分别约 10 cm 和 3.2 cm,和塔筒直径、叶片弦长可比,属于谐振区到光学区过渡,不能简单用几何光学,也不能只用低频近似。
提示:如果只做站址评估,可先用二维圆柱加旋转叶片的简化模型跑一遍,确认假目标方位和强度量级,再决定要不要上全三维。
2.2 雷达方程与散射场强的关系:先算 RCS 再算接收功率
散射场强本身是距离和角度的函数,工程上更习惯先算雷达散射截面 RCS,再代入雷达方程得到接收功率。单站雷达方程写成:
Pr = (Pt * Gt * Gr * lambda^2 * sigma) / ((4*pi)^3 * R^4 * L)其中 Pt 是发射峰值功率,Gt、Gr 是发射和接收天线增益,lambda 是波长,sigma 是目标 RCS,R 是雷达到散射体的距离,L 是系统损耗。对风机这种扩展目标,sigma 不是常数,而是随观测角变化的量。计算散射场强时,先在每个频点、每个入射方向求出散射场 Es,再按定义换算 RCS:
sigma = lim (4*pi*R^2 * |Es|^2 / |Ei|^2)R 趋于无穷时取远场。实际计算中把接收点放在远场区,通常要求距离大于 2D^2/lambda,D 是目标最大尺寸。对 100 m 高的塔筒和 9.4 GHz,远场距离约 600 m 以上,所以评估雷达在几公里外的接收功率时,远场近似成立。
参数选取上,频率按雷达实际工作频点,极化按天线类型,海上环境相对介电常数取 1,塔筒表面若考虑防腐涂层,可加一层薄介质,厚度和介电常数按实际涂层参数。叶片材料多为玻璃纤维增强复合材料,介电常数约 4 到 5,损耗角正切较小,对散射影响主要在相位,不是主要反射源,但大面积叶片仍会贡献较强回波。
2.3 用脚本生成几何和参数文件:一个可复现的输入模板
手工在 GUI 里建风机模型容易出错,也不方便批量扫频扫角。我一般用 Python 生成几何和求解设置文件,再交给电磁仿真工具。下面是一个生成塔筒圆柱加旋转叶片简化模型的示例,输出为通用网格格式的顶点和面片列表:
import numpy as np # 塔筒参数 tower_d = 6.0 # 塔筒直径 m tower_h = 90.0 # 塔筒高度 m blade_len = 65.0 # 叶片长度 m blade_chord = 4.0 # 叶片弦长 m hub_h = 95.0 # 轮毂高度 m n_blade = 3 # 叶片数 yaw = np.deg2rad(0.0) # 机舱朝向 rot = np.deg2rad(30.0) # 叶片旋转角 # 生成塔筒圆柱侧面 theta = np.linspace(0, 2*np.pi, 72, endpoint=False) z = np.linspace(0, tower_h, 30) verts = [] faces = [] for zi in z: for th in theta: verts.append([0.5*tower_d*np.cos(th), 0.5*tower_d*np.sin(th), zi]) nz, nt = len(z), len(theta) for i in range(nz-1): for j in range(nt): j2 = (j+1) % nt a = i*nt + j b = i*nt + j2 c = (i+1)*nt + j2 d = (i+1)*nt + j faces.append([a, b, c]) faces.append([a, c, d]) # 生成叶片:简化成矩形薄板,绕轮毂旋转 for k in range(n_blade): ang = rot + k * 2*np.pi/n_blade # 叶片沿径向,弦向垂直于径向 r = np.linspace(0.1*tower_d, blade_len, 20) c = np.linspace(-blade_chord/2, blade_chord/2, 4) base = len(verts) for ri in r: for ci in c: x = ri*np.cos(ang) - ci*np.sin(ang) y = ri*np.sin(ang) + ci*np.cos(ang) verts.append([x, y, hub_h]) nr, nc = len(r), len(c) for i in range(nr-1): for j in range(nc-1): a = base + i*nc + j b = base + i*nc + j + 1 cc = base + (i+1)*nc + j + 1 d = base + (i+1)*nc + j faces.append([a, b, cc]) faces.append([a, cc, d]) verts = np.array(verts) faces = np.array(faces) np.savetxt('wind_turbine_verts.txt', verts, fmt='%.6f') np.savetxt('wind_turbine_faces.txt', faces, fmt='%d') print('顶点数', len(verts), '面片数', len(faces))这段脚本把塔筒离散成 72 个周向分段、30 个高度分段,叶片离散成 20 段径向、4 段弦向。分段密度按波长取,一般要求每波长至少 8 到 10 个网格,9.4 GHz 时波长 3.2 cm,塔筒周长约 18.8 m,72 段对应每段约 26 cm,远大于波长,所以这个网格只适合做几何占位,真正算散射要加密到每波长 10 段以上,或者用矩量法、多层快速多极子等适合电大尺寸的求解器。脚本里的 tower_d、blade_len、hub_h 按实际风机改,rot 用来扫叶片旋转角,yaw 用来扫机舱朝向。输出文件可直接被很多电磁仿真工具读取,也可以自己写积分方程求解器。
注意:叶片简化成平板会高估镜面反射,实际叶片有扭角和翼型,散射方向图更散。做保守评估可以接受,做精细分析要换成真实翼型截面。
3. 散射场强求解:从积分方程到远场外推的落地设置
3.1 选求解器:电大尺寸为什么优先考虑多层快速多极子
风机塔筒和叶片尺寸在几十米量级,导航雷达波长几厘米,电尺寸从几百到几千波长,属于电大尺寸。矩量法直接求解未知量太大,内存和耗时都吃不消。常见做法是用多层快速多极子方法加速矩量法,把计算复杂度从 O(N^2) 降到 O(N log N),N 是未知量数。另一个选择是物理光学加等效电流,适合光学区,但叶片边缘绕射和塔筒爬行波会丢,假目标强度可能偏低。时域有限差分和有限元适合含介质细节的小区域,对远场外推要额外做近远场变换,网格色散误差在电大尺寸下累积明显。
我一般这样选:如果只关心塔筒和叶片的远场 RCS 方向图,用多层快速多极子表面积分方程,塔筒和叶片表面用三角形网格,未知量控制在百万以内,单频点单入射角在几十核工作站上几小时能出结果。如果要扫几百个频点和角度,先做物理光学快速扫,找出强散射角域,再用多层快速多极子精算关键点。含涂层或介质叶片时,用体积分方程或有限元边界元混合,但计算量会明显上升。
3.2 入射波设置与远场外推:别把近场当远场
入射波用平面波近似,因为雷达距离远大于目标尺寸。入射方向用单位矢量 k_i 表示,极化用垂直于 k_i 的电场方向。对水平极化,电场平行于海面;对垂直极化,电场在入射面内。海上导航雷达多为水平极化,所以计算时取水平极化为主,垂直极化做对比。
远场外推用等效原理:在目标外做一个封闭面,记录面上的等效电流和磁流,再积分到远场。很多求解器内置远场外推,只要在设置里指定远场方向即可。关键参数是外推面距离,一般取目标最大尺寸的 1 到 2 倍,太近会截断爬行波,太远会增加计算量。远场方向按雷达方位角和俯仰角采样,方位角 0 到 360 度,步长 0.5 到 1 度,俯仰角按雷达波束宽度取,通常 0 到 10 度。
# 以某求解器命令行调用为例,实际按工具手册替换 solver -mesh wind_turbine.msh \ -freq 9.4e9 \ -incident_theta 90 -incident_phi 0 \ -polarization horizontal \ -solver mlfma \ -tol 1e-3 \ -out farfield.csv命令里 -freq 是频率,-incident_theta 和 -incident_phi 是入射方向,-polarization 选水平或垂直,-solver mlfma 指定多层快速多极子,-tol 是迭代收敛残差,-out 输出远场数据。收敛残差取 1e-3 通常够用,取太小会徒增迭代次数。算完后检查能量守恒,入射功率应等于散射功率加吸收功率,吸收为零时两者相等,偏差大说明网格或外推有问题。
3.3 从散射场到接收功率:把 RCS 曲线接回雷达显示
远场输出通常是每个方向的散射场幅度和相位,按前面公式换成 RCS。然后按雷达方程算接收功率,再和接收机噪声、检测门限比较。导航雷达显示的是回波强度,通常用对数刻度,所以把接收功率转成 dBm,再减去噪声底,得到信噪比。假目标能不能被检测到,取决于信噪比是否超过门限,以及跟踪器能不能把它和真实目标区分开。
下面这段 Python 读取远场 CSV,算 RCS 和接收功率,并画出方位图:
import numpy as np import matplotlib.pyplot as plt # 读取远场数据:方位角(度), 俯仰角(度), Es_theta, Es_phi data = np.loadtxt('farfield.csv', delimiter=',', skiprows=1) az = data[:,0] el = data[:,1] Es = np.sqrt(np.abs(data[:,2])**2 + np.abs(data[:,3])**2) # 入射场幅度设为1,远场距离R_far R_far = 1000.0 lam = 3.0e8 / 9.4e9 sigma = 4*np.pi*R_far**2 * Es**2 # 雷达参数 Pt = 25e3 # 峰值功率 W Gt = 10**(30/10) # 天线增益 30 dBi Gr = Gt L = 10**(3/10) # 损耗 3 dB R = 5000.0 # 雷达到风机距离 m Pr = (Pt * Gt * Gr * lam**2 * sigma) / ((4*np.pi)**3 * R**4 * L) Pr_dBm = 10*np.log10(Pr*1000) # 画方位图 plt.figure() plt.plot(np.rad2deg(az), Pr_dBm) plt.xlabel('方位角 (度)') plt.ylabel('接收功率 (dBm)') plt.title('风机散射接收功率方位图') plt.grid(True) plt.savefig('received_power_az.png', dpi=150) print('最大接收功率 dBm', Pr_dBm.max(), '对应方位', np.rad2deg(az[Pr_dBm.argmax()]))这段代码把远场散射场转成 RCS,再代入雷达方程。R_far 要和求解器外推距离一致,否则 RCS 量级不对。Pt、Gt、L、R 按实际雷达和场景改。输出图能看出哪些方位接收功率高,对应假目标可能出现的位置。如果最大接收功率比噪声底高 10 dB 以上,跟踪器很可能起批,需要进一步评估。
提示:RCS 对叶片旋转角敏感,建议扫 0 到 360 度旋转角,每个角度算一次,取包络作为保守估计。
4. 避坑与排查:散射场强计算里最容易翻车的五件事
4.1 网格太粗导致 RCS 偏低十几 dB
现象:算出来的 RCS 比预期小一个数量级,假目标评估结论偏乐观。原因:表面网格每波长少于 8 段,积分方程离散误差大,高频细节被抹平。解决:加密网格到每波长 10 到 12 段,塔筒周向和高度方向都要加密,叶片前后缘单独细化。加密后内存和耗时上升,可先用粗网格定位强散射角,再局部加密。
4.2 远场外推距离不够,爬行波被截断
现象:塔筒后向散射方向图在阴影区出现异常凹陷,和文献趋势不符。原因:外推面离目标太近,绕射波还没充分辐射就被截断。解决:外推面距离取目标最大尺寸的 1.5 到 2 倍,塔筒高 90 m 时外推面至少 150 m。如果求解器支持,用自适应外推或增大外推面后对比结果。
4.3 忽略海面反射,干涉条纹对不上
现象:实测假目标强度随距离起伏,计算曲线平滑。原因:海面反射和直射波干涉,形成多径效应,尤其低俯仰角时明显。解决:用镜像法加海面反射系数,或把海面建进模型。海面相对介电常数约 70,电导率约 4 S/m,平静海面反射系数接近 -1,粗糙海面按 Ament 或 Miller-Brown 模型修正。加海面后计算量增加,可先算自由空间,再乘干涉因子近似。
4.4 叶片旋转角扫太稀,漏掉强回波
现象:某些旋转角下假目标突然增强,但扫角步长 10 度没抓到。原因:叶片镜面反射方向随旋转角快速变化,步长太大会漏峰。解决:旋转角步长取 1 到 2 度,至少覆盖一个完整旋转周期。如果计算量大,先用物理光学快速扫 1 度步长,找出峰值附近再用多层快速多极子精算。
4.5 把散射场强和接收功率混为一谈
现象:报告里写“散射场强 0.1 V/m”,但雷达方程用的是 RCS,单位对不上。原因:散射场强是场量,RCS 是等效面积,接收功率还要乘雷达参数。解决:统一用 RCS 做中间量,最后按雷达方程转接收功率。场强只在近场或干扰分析时单独用,远场评估一律走 RCS 到功率的链路。
5. 进阶技巧:用扫角包络和实测对比快速判断影响等级
算完一批频点、极化、旋转角和入射方向后,数据量很大,直接看曲线容易迷失。我习惯先做扫角包络:对每个方位角,取所有旋转角和俯仰角下的最大 RCS,得到一条保守包络线。再用雷达方程转成接收功率包络,和噪声底、检测门限比较,把方位分成红、黄、绿三档。红色是接收功率高于门限 10 dB 以上,假目标几乎必然出现;黄色是高于门限 0 到 10 dB,可能间歇出现;绿色是低于门限,基本无影响。这样给站址评估和参数调整提供直接依据。
验证方面,如果有实测机会,在风机附近用同频段雷达或信号源测几个方位的回波强度,和计算包络对比。实测受海况、船舶、雨衰影响,不要逐点对,看趋势和量级。偏差在 6 dB 以内算合理,超过 10 dB 要检查网格、外推距离和海面模型。没有实测时,用文献里类似尺寸圆柱和叶片的 RCS 数据做交叉验证,至少确认量级没错。
一个具体技巧是:把叶片旋转角扫角结果按方位角做最大值保持,再对频率做平均,得到平均 RCS 包络。这样既保留强散射特征,又避免单频点驻波导致的虚假峰谷。频率平均带宽取雷达带宽,导航雷达通常几 MHz 到几十 MHz,取 10 MHz 左右能平滑掉大部分窄带起伏。
# 假设 rcs_all 形状为 [n_az, n_el, n_rot, n_freq] rcs_env = rcs_all.max(axis=(1,2)) # 俯仰和旋转角取最大 rcs_env_freq = rcs_env.mean(axis=1) # 频率平均 # 转接收功率 Pr_env = (Pt * Gt * Gr * lam**2 * rcs_env_freq) / ((4*np.pi)**3 * R**4 * L) Pr_env_dBm = 10*np.log10(Pr_env*1000) # 分档 threshold = -90 # 噪声底加门限,按实际改 level = np.where(Pr_env_dBm > threshold+10, '红', np.where(Pr_env_dBm > threshold, '黄', '绿'))这段代码把多维结果压成方位包络,再分档。threshold 按实际接收机噪声底和检测门限设,不同雷达不一样。分档结果可以直接叠到海图上,看哪些航道方位受影响。我一般还会把叶片旋转角对应的最大值单独存一份,因为叶片转动是假目标闪烁的主要原因,包络里保留它才能反映最坏情况。
最后说个血泪经验:早期做这类计算时,我为了省时间用粗网格加物理光学,结果 RCS 比后来精算低了 15 dB,差点得出“风电场无影响”的结论。后来加密网格、换多层快速多极子、加上海面干涉,才和实测趋势对上。所以如果结论要用于站址审批或雷达参数调整,别省那点计算时间,该加密就加密,该扫角就扫角。希望帮到你。
本文还有配套的精品资源,点击获取