一、背景知识简介
声纳,由于水中声速较快(1500米每秒),而且传播距离远(最大能到200公里),所以声纳这种机械波远比雷达的电磁波在水中实用。
识别结果
类似于B超,靠回声得到一团团的亮斑,由于是径向,所以一般只能获得“相对距离与相对角度”
瀑布图
将360度展平而得到的图像
频率
高频比低频精度高,但是传播距离没有低频远(后面讲传播损失,频率会作为一个影响变量)
二、声纳方程
声纳分为主动(敲听反射)和被动(侦听)
主动声纳
SE = SL - 2 * TL + TS - (NL - AG)
被动声纳
SE = SL - TL - NL + DI - DT
其中的中间变量下面详细介绍
声纳还可分为船壳(舰载)声纳、拖曳声纳两种。(略)
三、中间变量相关因素与影响链条
1-基础概念介绍
| 简称 | 英文全称 | 中文名称 | 概念 | 单位 |
|---|---|---|---|---|
| SL | Source Level | 发射声源级 | 主动声呐发射信号在 1 米处的声压强度,表征发射信号的初始能量 | dB re 1 μPa·m |
| NL | Noise Level | 接收机背景噪声级 | 声呐接收机处的环境噪声强度,包含海洋环境噪声、自噪声等 | dB re 1 μPa |
| DI | Directivity Index | 接收机指向性指数 | 描述声呐阵对特定方向信号的汇聚能力,值越高抗干扰能力越强 | dB(相对量) |
| DT | Detection Threshold | 检测阈值 | 声呐满足指定检测概率和虚警率时,所需的最小信号相对噪声余量 | dB(相对量) |
| TS | Target Strength | 目标强度 | 目标对入射声波的反射能力,表征目标反射声压相对于入射声压的比例 | dB(相对量) |
| TL | Transmission Loss | 传播损失 | 声波从发射点到接收点的能量衰减量,包含扩展损失、吸收损失等 | dB(相对量) |
| RL | Reverberation Level | 混响级 | 海洋中散射体反射形成的干扰声压强度,是主动声呐的主要干扰源 | dB re 1 μPa |
| SE | Signal Excess | 信号余量/回声余量 | 声呐接收信号强度与检测所需强度的差值,SE≥0 表示可有效探测 | dB(相对量) |
| Sen | Receiver Sensitivity | 接收灵敏度 | 接收机可分辨的最小输入声压强度,通常以 1 μPa 为参考基准 | dB re 1 μPa |
2-相关影响链条图
Mermaid 流程图代码
--- config: layout: elk --- flowchart LR subgraph EnvironmentEffects["环境基础属性"] A["温度 T"] B["盐度 S"] C["深度 D"] D1["频率 f"] E["带宽 B"] end subgraph s1["噪声与信号参数(中间层)"] N["环境噪声 NL (海洋环境)"] O["自噪声 NS (平台噪声)"] P1["干扰噪声 NJ (干扰源)"] Q["信号级 S (SL-2TL+TS)"] R["混响级 RL"] end A --> F["声速 c (T,S,D)"] & K["吸收系数 alpha (f,T,S,D)"] B --> G["密度 rho (T,S,D)"] & K C --> H["压强 P (D)"] & K D1 --> I["脉冲宽度 τ (1/B)"] & K & M["目标强度 TS (目标几何,f)"] E --> I F --> J["传播损失 TL (c,f,D)"] I --> L["混响级 RL (SL,TL,SS,V)"] N --> S["总噪声 NT (NL+NS+NJ+RL)"] O --> S P1 --> S R --> S Q --> T["信号余量 SE (S - NT + DI - DT)"] S --> T四、C++实现
写代码时就是怕没有参照和对比,不知道自己找的公式是否正确,于是一般找个典型数值表,看看输出是否不离谱。
发射声源级SL【查表】
这部分主要是看(主动)声纳型号的属性查表,有根据功率进行转化的,但是不太准
背景噪声级NL
这部分涉及海面噪声、环境噪声、自噪声(舰船自己发出的噪声),一般进行对数求和处理。
接收机指向性指数DI【查表】
这部分需要根据具体型号查表得到
检测阈值DT
目标强度TS
传播损失TL
典型表格
| 声呐频率 | 吸收系数 α(dB/km) | 1km 传播损失(球面扩展) | 10km 传播损失(柱面扩展) | 50km 传播损失(柱面扩展) | 备注 |
|---|---|---|---|---|---|
| 100Hz | 0.008dB/km | 20.008dB | 40.08dB | 60.4dB | 多为远程拖曳声呐频段,吸收损失极小 |
| 500Hz | 0.03dB/km | 20.03dB | 40.3dB | 61.5dB | 低频段,适合远距离探测,干扰小 |
| 1kHz | 0.068dB/km | 20.068dB | 40.68dB | 63.4dB | 中低频交界,常作为常规声呐基础频段 |
| 5kHz | 0.35dB/km | 20.35dB | 43.5dB | 77.5dB | 中频段,兼顾探测距离与分辨率 |
| 10kHz | 0.8dB/km | 20.8dB | 48dB | 90dB | 中高频,船壳声呐常用频段,吸收损失开始显著 |
| 20kHz | 2.0dB/km | 22.0dB | 50dB | 130dB | 高频段,适用于中短距离精准探测 |
| 50kHz | 7.0dB/km | 27.0dB | 77dB | 380dB | 高频,多用作近程成像声呐,远距离损耗剧增 |
| 100kHz | 15.0dB/km | 35.0dB | 115dB | 785dB | 超高频,仅适配近距离目标检测,如避障声呐 |
对 Francois-Garrison 公式的一个简化工程版本
// 计算海水吸收系数 alpha (dB/km) // freq_hz: 频率 (Hz) // temp_c: 温度 (°C) [0, 30] 较合适 // salinity: 盐度 (‰) [30, 38] 较合适 // depth_m: 深度 (m) [0, 1000] 较合适 double seaWaterAbsorption(double freq_hz, double temp_c, double salinity, double depth_m) { if (freq_hz <= 0.0) return 0.0; double f = freq_hz / 1000.0; // 转为 kHz double T = temp_c; double S = salinity; double z = depth_m; // 压强 (atm) double P = 1.0 + z / 10.33; // 1 atm ≈ 10.33 m // ------------ Boric acid relaxation absorption (dB/km) ------------ double f1 = 0.78 * sqrt(S / 35.0) * exp(T / 26.0); double a1 = 0.106 * (f1 * f * f) / (f * f + f1 * f1); // ------------ Magnesium sulfate relaxation absorption (dB/km) ------------ double f2 = 42.0 * exp(T / 17.0); double a2 = 0.52 * (S / 35.0) * (T + 273.15) / 293.15 * exp(-T / 12.0) * (f2 * f * f) / (f * f + f2 * f2); // ------------ Viscous (pure water) absorption (dB/km) ------------ double a3 = 0.00049 * (T + 273.15) / 293.15 * exp(-T / 27.0) * f * f; // ------------ Pressure (depth) correction ------------ double D = z / 1000.0; // 深度以 km 为单位 double a = a1 + a2 + a3; // 经验修正:随深度增加略有减小(Francois-Garrison 建议的简化形式) a = a * (1.0 - 0.005 * D); return a; }混响RL
信号余量(回声余量)SE
灵敏度Sen【查表】
根据声纳型号查询属性
五、目标识别
这部分靠声音的特征、声谱来判断,本博客主要讲是否能探测到,这部分略。
https://www.bilibili.com/video/BV1Wi4y1L7oJ
如何解读声呐图像 | 声呐基础知识 | 古野科技 | 古野电气株式会社的产品网站
参考
声呐方程相关参数 - 知乎