欢迎光临
我们一直在努力

AFSIM 示例解读(08)· 传感器全家桶 sensor_demos(上):雷达与 EOIR

能力标签:WSF_RADAR_SENSOR / WSF_OPTICAL_SENSOR / 雷达方程 / 被动探测 / 探测建模 / 传感器融合

这个 demo 在展示什么

sensor_demos 是 AFSIM 传感器能力的"样片集",覆盖雷达、光电红外、ESM、SAR、被动测向等多种传感器。它在回答一个根本问题:平台怎么"看"世界。

本篇(上)聚焦最基础的两种——**雷达(主动发射电磁波测距测角)**和 EOIR(被动接收目标自身辐射的可见光/红外,这里用 WSF_OPTICAL_SENSOR 建模)。理解了这两种,sensor_demos 里其余传感器都是它们的变体:主动与被动,是探测的两大根基。

核心机制一:雷达(主动)

雷达靠"发射—回波"工作。AFSIM 里一个雷达传感器是一份 WSF_RADAR_SENSOR 定义,核心维度包括:

  • 频率 / 功率 / 增益:决定作用距离与抗干扰能力(背后是标准雷达方程,距离按四次方关系敏感)。
  • 波束与扫描:机械扫描、电扫、固定波束,影响覆盖与刷新率。
  • 检测模型:AFSIM 用信噪比(SNR)+ 检测阈值判定"看没看见"。

end_time 600 sec # 推演总时长

platform_type BLUE_SHIP WSF_PLATFORM # 定义"蓝方探测平台"类型
side blue
sensor search WSF_RADAR_SENSOR # ① 雷达:主动发射-回波探测
mode surveillance
frequency 10.0 GHz # 工作频率
peak_power 10000 W # 峰值发射功率
antenna_gain 35.0 dB # 天线增益
# minimum_detectable_signal 检测阈值(SNR 判定,引擎有默认)
end_mode
frame_time 2.0 sec # 扫描/刷新周期
reports_location # 上报位置
reports_velocity # 上报速度
end_sensor
end_platform_type

platform p_01 BLUE_SHIP
position 30.0n 120.0e altitude 0 m msl
end_platform

核心机制二:EOIR(被动)

EOIR 是被动传感器——它不发射,只接收目标发动机、蒙皮的红外辐射或可见光反射。结构类似雷达,但少了发射参数,多了"目标辐亮度 / 背景温度"这类输入(由目标的 signature 与背景环境提供)。这里用 WSF_OPTICAL_SENSOR 建模:

platform_type BLUE_RECCE WSF_PLATFORM
side blue
sensor irst WSF_OPTICAL_SENSOR # ② EOIR:被动接收目标辐射
mode surveillance
# 波段、视场、灵敏度(依赖目标 signature 与背景)
end_mode
frame_time 1.0 sec
reports_location
end_sensor
end_platform_type

EOIR 的优势是静默(不暴露自己),缺点是受天气、背景、目标朝向影响大。

雷达 vs EOIR:互补而非替代

#mermaid-svg-bW8RvJSsZXmK39Oi{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-bW8RvJSsZXmK39Oi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-bW8RvJSsZXmK39Oi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-bW8RvJSsZXmK39Oi .error-icon{fill:#552222;}#mermaid-svg-bW8RvJSsZXmK39Oi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-bW8RvJSsZXmK39Oi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-bW8RvJSsZXmK39Oi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-bW8RvJSsZXmK39Oi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-bW8RvJSsZXmK39Oi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-bW8RvJSsZXmK39Oi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-bW8RvJSsZXmK39Oi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-bW8RvJSsZXmK39Oi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-bW8RvJSsZXmK39Oi .marker.cross{stroke:#333333;}#mermaid-svg-bW8RvJSsZXmK39Oi svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-bW8RvJSsZXmK39Oi p{margin:0;}#mermaid-svg-bW8RvJSsZXmK39Oi .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-bW8RvJSsZXmK39Oi .cluster-label text{fill:#333;}#mermaid-svg-bW8RvJSsZXmK39Oi .cluster-label span{color:#333;}#mermaid-svg-bW8RvJSsZXmK39Oi .cluster-label span p{background-color:transparent;}#mermaid-svg-bW8RvJSsZXmK39Oi .label text,#mermaid-svg-bW8RvJSsZXmK39Oi span{fill:#333;color:#333;}#mermaid-svg-bW8RvJSsZXmK39Oi .node rect,#mermaid-svg-bW8RvJSsZXmK39Oi .node circle,#mermaid-svg-bW8RvJSsZXmK39Oi .node ellipse,#mermaid-svg-bW8RvJSsZXmK39Oi .node polygon,#mermaid-svg-bW8RvJSsZXmK39Oi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-bW8RvJSsZXmK39Oi .rough-node .label text,#mermaid-svg-bW8RvJSsZXmK39Oi .node .label text,#mermaid-svg-bW8RvJSsZXmK39Oi .image-shape .label,#mermaid-svg-bW8RvJSsZXmK39Oi .icon-shape .label{text-anchor:middle;}#mermaid-svg-bW8RvJSsZXmK39Oi .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-bW8RvJSsZXmK39Oi .rough-node .label,#mermaid-svg-bW8RvJSsZXmK39Oi .node .label,#mermaid-svg-bW8RvJSsZXmK39Oi .image-shape .label,#mermaid-svg-bW8RvJSsZXmK39Oi .icon-shape .label{text-align:center;}#mermaid-svg-bW8RvJSsZXmK39Oi .node.clickable{cursor:pointer;}#mermaid-svg-bW8RvJSsZXmK39Oi .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-bW8RvJSsZXmK39Oi .arrowheadPath{fill:#333333;}#mermaid-svg-bW8RvJSsZXmK39Oi .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-bW8RvJSsZXmK39Oi .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-bW8RvJSsZXmK39Oi .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-bW8RvJSsZXmK39Oi .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-bW8RvJSsZXmK39Oi .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-bW8RvJSsZXmK39Oi .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-bW8RvJSsZXmK39Oi .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-bW8RvJSsZXmK39Oi .cluster text{fill:#333;}#mermaid-svg-bW8RvJSsZXmK39Oi .cluster span{color:#333;}#mermaid-svg-bW8RvJSsZXmK39Oi 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-bW8RvJSsZXmK39Oi .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-bW8RvJSsZXmK39Oi rect.text{fill:none;stroke-width:0;}#mermaid-svg-bW8RvJSsZXmK39Oi .icon-shape,#mermaid-svg-bW8RvJSsZXmK39Oi .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-bW8RvJSsZXmK39Oi .icon-shape p,#mermaid-svg-bW8RvJSsZXmK39Oi .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-bW8RvJSsZXmK39Oi .icon-shape .label rect,#mermaid-svg-bW8RvJSsZXmK39Oi .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-bW8RvJSsZXmK39Oi .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-bW8RvJSsZXmK39Oi .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-bW8RvJSsZXmK39Oi :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

EOIR 被动

雷达 主动

发射电磁波

接收回波

SNR + 阈值 → 检测

接收目标自身辐射

信噪比 → 检测

融合航迹

维度雷达EOIR
工作方式 主动 被动
是否暴露自身
全天候 受天气/烟雾影响
测距精度 需配合或靠几何
典型用途 搜索、跟踪、火控 静默探测、红外搜索跟踪

实战里常雷达 + EOIR 互补:雷达广域搜索,EOIR 静默细看,二者融合成一条更可靠的航迹。

关键参数速查

参数所在组件类型 / 单位默认值取值说明调参影响
frequency sensor(radar) Hz (GHz) 需给 工作频率 决定波长/传播/抗干扰;频段选错影响大气窗口
peak_power sensor(radar) 功率 (W) 需给 峰值发射功率 作用距离按 ~四次根号增长,最贵的距离杠杆
antenna_gain sensor(radar) 增益 (dB) 有默认 天线增益 增益高=波束窄=距离远但搜索覆盖慢
frame_time sensor 时间 (sec) 引擎默认 刷新周期 小→航迹更新快,但 CPU 增、虚警累积快
minimum_detectable_signal sensor(radar) 阈值 有默认 检测阈值(SNR) 阈值低更灵敏但虚警多;高则丢弱目标
reports_location/reports_velocity sensor 开关 上报字段 跟踪器拿不到信息就"不动作"

工程实践与常见坑

  • 雷达有边界,不是"啥都能看"。真实雷达有盲区、有最低可探测速度(慢速/悬停目标可能被处理链滤掉)、有波束限制。别给个雷达就当全向全时可见。
  • EOIR 不是全天候。天气、烟雾、目标朝向(蒙皮辐射面是否对着你)、背景温度都会让它失效。把它当"静默补盲"而非"唯一眼睛"。
  • 增益-覆盖的权衡。一味堆高增益把作用距离拉远,代价是波束变窄、搜索一圈更久。搜索还是火控,先想清再定增益。
  • 别忘了 reports_*。和交战框架同理(见本系列 20):传感器不 reports_location,下游跟踪器就空转,平台"看见了却没航迹"。

备注:新手最容易犯的错是"给个雷达就想它啥都能看"。真实雷达有盲区、有最低可探测速度、有波束限制。sensor_demos 的价值,就是帮你建立"传感器有边界"的直觉——这比背参数重要得多。

小结与下一篇

本篇看了平台的"眼睛"之二:雷达(主动)与 EOIR(被动),二者互补构成基础探测。雷达靠发射-回波、EOIR 靠被动接收,融合后航迹更可靠。下篇展开 sensor_demos 的"全家桶"下半部——ESM、SAR、被动测向,看传感器还能怎么"看"。

下一篇预告:(09)传感器全家桶 sensor_demos(下):ESM / SAR / 被动测向
下篇展开 sensor_demos 的"全家桶"下半部——ESM、SAR、被动测向,看传感器还能怎么"看"。

下一篇预告:(09)传感器全家桶 sensor_demos(下):ESM / SAR / 被动测向

赞(0)
未经允许不得转载:171主机测评 » AFSIM 示例解读(08)· 传感器全家桶 sensor_demos(上):雷达与 EOIR
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址