【MATLAB例程】USBL(超短基线)与DVL(Doppler Velocity Log,多普勒速度计),水下物体三维定位,附下载链接

在这里插入图片描述

USBL(超短基线)与DVL(Doppler Velocity Log,多普勒速度计)对水下物体三维定位。给出仅USBL、仅DVL和融合后的结果图像与数据分析。滤波是扩展卡尔曼滤波(EKF),用于数据融合。

程序简介

  • DVL(多普勒速度计)是用于水下导航的设备,通过测量水流对底部的多普勒效应来计算水下物体(如潜水器或无人潜水器)的速度和位移。
  • USBL(超短基线)的全称是Ultra Short BaseLine。它是一种用于水下定位的技术,主要用于确定水下物体的位置,通过测量从水面基站到水下设备的距离和角度来实现定位。
  • 滤波:状态向量x = [x, y, z, vx, vy, vz]ᵀ (6维,包含位置和速度),运动模型:采用恒速度(CV)模型,状态转移矩阵F为6×6矩阵,体现位置-速度耦合关系,观测模型:非线性观测方程
    USBL观测:h₁ = [atan2(dy,dx), atan2(dz,√(dx²+dy²)), √(dx²+dy²+dz²)]ᵀ
    DVL观测:h₂ = [vx, vy, vz]ᵀ
    观测噪声协方差:R = diag([1°², 1°², 1m², 0.05², 0.05², 0.05²])

Jacobian矩阵:6×6维,包含USBL几何观测的非线性偏导数和DVL线性速度观测

运行结果

轨迹对比图像:“
在这里插入图片描述
位置对比曲线:
在这里插入图片描述
误差输出:
在这里插入图片描述

MATLAB源代码

完整代码如下:

% USBL(超短基线)与DVL(多普勒速度测量仪)的融合,三维,基于方位角与距离测量的目标定位仿真(EKF实现)
% 包含:1) USBL+DVL融合 2) 仅USBL观测 3) 仅DVL推算
% USBL观测模型:方位角θ,俯仰角φ,斜距r
% 2025-09-20/Ver2 - 增加对比分析
clc; clear; close all;
rng(0);

%% 参数设置
dt = 1; % 采样时间(s)
T = 100; % 总时长(s)
c = 1500; % 声速(m/s)

% USBL噪声参数
sigma_theta = 1*pi/180; % 方位角噪声标准差(rad)
sigma_phi = 1*pi/180; % 俯仰角噪声标准差(rad)
sigma_r = 1; % 测距噪声标准差(m)

% DVL噪声参数
sigma_vx = 0.05; % X方向速度噪声标准差(m/s)
sigma_vy = 0.05; % Y方向速度噪声标准差(m/s)
sigma_vz = 0.05; % Z方向速度噪声标准差(m/s)

%% 传感器位置(水下USBL阵列模拟)
sensor_pos = [0, 0, -10]; % USBL传感器三维坐标(x,y,z)

完整代码下载链接:
https://download.youkuaiyun.com/download/callmeup/91979854

或专栏文章:

https://blog.youkuaiyun.com/callmeup/article/details/151902634?spm=1011.2415.3001.5331
如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MATLAB卡尔曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值