AFSIM 示例解读(09)· 传感器全家桶 sensor_demos(下):ESM / SAR / 被动测向

能力标签:WSF_ESM_SENSOR / WSF_RADAR_SENSOR(SAR) / 被动定位 / 电子支援(ESM) / 交叉定位 / 高分辨成像

这个 demo 在展示什么

接上篇,本篇看 sensor_demos 里三种"非典型"但极关键的传感器:ESM(电子支援措施)SAR(合成孔径雷达)被动测向 。它们的共同点是------不靠主动测距,而是靠"截获信号 / 高分辨成像 / 角度交叉"来感知。这是传感器组合拳的后半段。

核心机制一:ESM(电子支援)

ESM 是被动截获敌方雷达/通信信号 的传感器(WSF_ESM_SENSOR)。它不发射,而是"听"对方的电磁波,从而得到:

  • 信号到达方向(测向);
  • 信号参数(频率、脉冲特征)→ 可用来"识别辐射源型号";
  • 雷达一开机即暴露,ESM 就能定位其大致方位。
text 复制代码
platform_type ELINT WSF_PLATFORM              # 定义"电子侦察平台"类型
   side red
   sensor esm WSF_ESM_SENSOR                   # ① ESM:被动截获电磁信号
      mode surveillance
         # 频段、灵敏度、测向精度(依赖被截获方的发射)
      end_mode
      reports_location
      reports_velocity
   end_sensor
end_platform_type

platform e_01 ELINT
   position 31.0n 122.0e altitude 8000 m msl
end_platform

ESM 是电子战的前端眼睛------它让"蓝方雷达一开机,红方就知道你在哪片空域"。

核心机制二:SAR(合成孔径雷达)

SAR 是主动雷达的高分辨模式 :通过平台运动"合成"一个超大虚拟孔径,从而得到地面高分辨图像,且能穿云穿夜 。在 AFSIM 里它作为 WSF_RADAR_SENSOR 的一种工作模式存在,特点是成像而非点跟踪:

text 复制代码
platform_type RECON WSF_PLATFORM
   side blue
   sensor sar WSF_RADAR_SENSOR                 # ② SAR:雷达的合成孔径成像模式
      mode sar_imaging
         # 分辨率由 平台速度 × 合成孔径积分时间 决定
      end_mode
   end_sensor
end_platform_type

适用场景:对地侦察、动目标指示(GMTI)、战场监视。

核心机制三:被动测向(交叉定位)

单一 ESM 只能给"方向",不知道"多远"。用两个或以上被动传感器对同一个 emitter 测向,方向线交叉,就能解出 emitter 的位置------这就是被动交叉定位。
#mermaid-svg-TjLXKt3Qg00qmOKY{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TjLXKt3Qg00qmOKY .error-icon{fill:#552222;}#mermaid-svg-TjLXKt3Qg00qmOKY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TjLXKt3Qg00qmOKY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TjLXKt3Qg00qmOKY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TjLXKt3Qg00qmOKY .marker.cross{stroke:#333333;}#mermaid-svg-TjLXKt3Qg00qmOKY svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TjLXKt3Qg00qmOKY p{margin:0;}#mermaid-svg-TjLXKt3Qg00qmOKY .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-TjLXKt3Qg00qmOKY .cluster-label text{fill:#333;}#mermaid-svg-TjLXKt3Qg00qmOKY .cluster-label span{color:#333;}#mermaid-svg-TjLXKt3Qg00qmOKY .cluster-label span p{background-color:transparent;}#mermaid-svg-TjLXKt3Qg00qmOKY .label text,#mermaid-svg-TjLXKt3Qg00qmOKY span{fill:#333;color:#333;}#mermaid-svg-TjLXKt3Qg00qmOKY .node rect,#mermaid-svg-TjLXKt3Qg00qmOKY .node circle,#mermaid-svg-TjLXKt3Qg00qmOKY .node ellipse,#mermaid-svg-TjLXKt3Qg00qmOKY .node polygon,#mermaid-svg-TjLXKt3Qg00qmOKY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TjLXKt3Qg00qmOKY .rough-node .label text,#mermaid-svg-TjLXKt3Qg00qmOKY .node .label text,#mermaid-svg-TjLXKt3Qg00qmOKY .image-shape .label,#mermaid-svg-TjLXKt3Qg00qmOKY .icon-shape .label{text-anchor:middle;}#mermaid-svg-TjLXKt3Qg00qmOKY .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TjLXKt3Qg00qmOKY .rough-node .label,#mermaid-svg-TjLXKt3Qg00qmOKY .node .label,#mermaid-svg-TjLXKt3Qg00qmOKY .image-shape .label,#mermaid-svg-TjLXKt3Qg00qmOKY .icon-shape .label{text-align:center;}#mermaid-svg-TjLXKt3Qg00qmOKY .node.clickable{cursor:pointer;}#mermaid-svg-TjLXKt3Qg00qmOKY .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TjLXKt3Qg00qmOKY .arrowheadPath{fill:#333333;}#mermaid-svg-TjLXKt3Qg00qmOKY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TjLXKt3Qg00qmOKY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TjLXKt3Qg00qmOKY .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TjLXKt3Qg00qmOKY .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TjLXKt3Qg00qmOKY .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TjLXKt3Qg00qmOKY .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TjLXKt3Qg00qmOKY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TjLXKt3Qg00qmOKY .cluster text{fill:#333;}#mermaid-svg-TjLXKt3Qg00qmOKY .cluster span{color:#333;}#mermaid-svg-TjLXKt3Qg00qmOKY div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-TjLXKt3Qg00qmOKY .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TjLXKt3Qg00qmOKY rect.text{fill:none;stroke-width:0;}#mermaid-svg-TjLXKt3Qg00qmOKY .icon-shape,#mermaid-svg-TjLXKt3Qg00qmOKY .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TjLXKt3Qg00qmOKY .icon-shape p,#mermaid-svg-TjLXKt3Qg00qmOKY .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TjLXKt3Qg00qmOKY .icon-shape .label rect,#mermaid-svg-TjLXKt3Qg00qmOKY .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TjLXKt3Qg00qmOKY .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TjLXKt3Qg00qmOKY .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TjLXKt3Qg00qmOKY :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} ESM 站 A

测向线 L_A
融合 / 解算

方向线交叉
ESM 站 B

测向线 L_B
emitter 位置解算

它的军事价值极高:全程不发射,却能给敌方辐射源定位,自身难被察觉。多站几何与测向精度直接决定定位椭圆大小。

三种传感器的战术角色

传感器 输入 输出 战术角色
ESM 敌方电磁波 方向 + 信号特征 电子侦察、威胁告警
SAR 主动回波(成像) 地面高分辨图 对地侦察、监视
被动测向 多站方向线 辐射源位置 静默定位

关键参数速查

参数 所在组件 类型 / 单位 默认值 取值说明 调参影响
测向精度 sensor(esm) 角 (deg) 有默认 ESM 测向误差 误差大→交叉定位椭圆大、位置发散
频段 / 灵敏度 sensor(esm) Hz / dBm 需给 截获能力 灵敏度低→截获距离近、易漏
合成孔径(分辨率) sensor(radar,sar) 由运动决定 --- SAR 分辨率 平台速度×积分时间决定;机动时成像差
多站几何 系统级 布局 --- 交叉定位基线 两站共线/基线短→定位误差爆炸
reports_* sensor(esm) 开关 上报字段 不报则下游无法做交叉融合

工程实践与常见坑

  • 单站 ESM 只有方向无距离。新手常以为一个 ESM 就能定位辐射源------不行,必须两个及以上站做交叉,或配合其他手段。
  • 交叉定位几何敏感。两站几乎共线、或基线太短,方向线夹角极小,定位误差成倍放大。布站时让基线垂直于关注方向、夹角尽量大。
  • SAR 分辨率依赖平台运动稳定。平台大机动、姿态抖动时合成孔径失效,图像模糊。成像段尽量平稳直线飞行。
  • ESM 依赖对方发射。对方静默(雷达不开机、用光缆/定向数据链),ESM 就抓不到。它是"反应式"传感器,不是"主动探"。

备注 :sensor_demos 把这么多传感器塞一起,目的不是让你"全用上",而是让你建立传感器组合拳的概念------主动+被动、搜索+识别、点跟踪+成像,按需搭配。想定里"谁带什么传感器"本身就是一种战术决策。

小结与下一篇

本篇补全了 sensor_demos 的"全家桶":ESM 听信号、SAR 拍地面、被动测向静默定位。它们和雷达/EOIR 一起,构成平台完整的感知手段------主动与被动、点跟踪与成像,按需组合。下一篇看一个专用分析工具 sensor_plot------它不"探测",而是把传感器的性能画出来给你看

下一篇预告:(10)传感器性能绘图 sensor_plot

,按需组合。下一篇看一个专用分析工具 sensor_plot------它不"探测",而是把传感器的性能画出来给你看

下一篇预告:(10)传感器性能绘图 sensor_plot

相关推荐
叫我Paul就好1 小时前
Spring 为何没有在 Java之外的地方存在?
java·后端·spring
大鹏的NLP博客1 小时前
WSL2 资源治理:从 ONNX Runtime CUDA 编译 OOM 到 `.wslconfig` 防御配置
c++·深度学习·onnx runtime
掘金酱1 小时前
TRAE Work 实战帮征文 | 获奖名单公示
前端·人工智能·后端
星星.7221 小时前
C++算法竞赛|二分查找与二分答案:边界模板、浮点二分、STL
数据结构·c++·算法
老当益壮梁奶奶2 小时前
Linux 软件编程学习笔记(六):线程编程入门与实践
linux·c语言·c++·笔记·学习
小小龙学IT2 小时前
Dear ImGui 开源即时模式 GUI 库深度解析
c++·ui·开源
用户69371750013842 小时前
前阵子刷屏的 Ox-Alpha 真身揭晓!GLM-5.3-Flash 上线,这价格真的杀疯了
前端·后端·github
四千岁2 小时前
抓包LangChain-了解LangChain的原理
前端·javascript·后端
IT小白杨2 小时前
2026游戏工作室环境隔离指南:从设备指纹到移动IP的部署实践
前端·经验分享·网络协议·tcp/ip·游戏·安全架构·指纹浏览器