基线定位系统:长基线与超短基线的原理与应用
基线定位系统:长基线与超短基线的原理与应用
在测量、导航、天文等领域,基线是两个已知位置之间的距离或方向,常用于三角测量、卫星定位等方法来确定其他位置的相对关系。本文将深入探讨长基线(Long Baseline, LBL)与超短基线(Ultra-Short BaseLine, USBL)定位系统的原理、特点及应用。
一、基线的定义与本质
基线是参照点之间的已知距离或方向,作为基础数据,帮助确定其他未知位置。它通常用于通过几何方法进行定位、测量或计算。在不同的领域,基线的长度、方向和精度等因素会直接影响测量结果的准确性和可靠性。
二、长基线(LBL)与超短基线(USBL)的区别
长基线(LBL)
长基线是指两个测量点之间的距离较长的基线。在一些应用中,如天文观测、地球物理研究等,长基线可以帮助获得更精确的角度测量和定位,因为长基线能带来更大的基线角度差异,从而提高定位精度。
超短基线(USBL)
超短基线是指两个测量点之间的距离较短的基线。在短基线的情况下,基线之间的角度差异较小,因此可能带来较低的测量精度。超短基线通常用于需要高精度或局部测量的场景,虽然精度不如长基线,但可以在较小的区域内获得较高的精度。
三、长基线(LBL)系统的构型
长基线系统的构型通常由一系列水面或水下的基站组成,这些基站通过声学信号进行通信和定位,常用于水下定位与导航。长基线系统的构型一般包括以下几个部分:
基站(Transponder)
基站是长基线系统的核心组件,通常由多个水下声学应答器组成。基站在水下固定位置上,每个基站都能接收信号并发送回声学信号。基站的布置方式可以是单个基站或多个基站组合,基站的位置越多,定位的精度越高。基站通常通过声学信号与水面上的设备(如船只、浮标等)进行通信和数据交换。
水面设备(Surface Station)
水面设备通常是控制中心或者船只,负责与水下基站之间的通信。它可以发送信号到基站并接收从基站返回的数据。水面设备还负责计算定位信息、控制系统,并通过通信链路将数据传输到地面控制中心。
定位传感器
水下的潜水器、ROV(遥控水下机器人)或者其他水下设备上通常会装备有定位传感器,用于接收基站发送的声学信号,并返回相应信息。这些设备根据基站的位置信息来进行实时定位。定位传感器通常包括声学接收器和计算机系统,用于解析信号并确定设备的精确位置。
声学通信系统
声学信号是长基线系统中信息传递的媒介,系统通过声波在水中的传播来实现数据交换。声学系统的通信方式包括单向和双向通信,基站和水面设备之间的信号传输往往采用超短波或超低频声波。
基站布置
基站的布置方式对系统的定位精度和覆盖范围有很大影响。常见的布置方式包括:水平布置、垂直布置、三维布置。
控制与数据处理
长基线系统的核心之一是其数据处理能力,系统通过水面控制设备或者地面控制中心对声学数据进行处理,计算出各个基站与水下设备之间的距离、角度和定位信息。在基站之间,系统根据声波的传播时间(即时差)来确定水下设备的准确位置。
系统拓扑
长基线系统的拓扑结构会根据应用需求有所不同。通常有点对点(P2P)结构、网状结构(Mesh)、环形结构(Ring)。
四、超短基线(USBL)系统的原理
传统的 USBL 系统的基站通常位于水面(比如船只上),它是已知位置的固定点。基站上安装有一个接收阵列,阵列通常由多个传感器(麦克风)组成,负责接收来自水下设备的信号。水下设备(如水下机器人、潜水器等)携带一个发射器,并通过声波发射信号。这些设备会定期发出声波信号,基站接收到这些信号并进行处理。
定位方法
角度测量(AOA,Angle of Arrival):基站的接收阵列通过测量从水下设备到基站的信号传输的角度,确定设备的大致位置。基站通常有一个单阵列或两阵列,通过计算接收到的信号的角度差来确定水下设备的方向和距离。
定位精度
USBL 的定位精度受到多个因素的影响,如水下环境、信号传播的干扰、基站阵列的布置等。通常,USBL 的定位精度较低,因为它主要依赖测量角度来确定位置,适用于不需要极高精度的应用场景。
特点
单基站设计:基站通常只有一个接收阵列,设备只需要发射信号,基站通过接收信号的角度和强度来计算设备位置。应用场景:主要用于较短范围的水下定位(比如几十米到几百米的范围)。它广泛应用于水下机器人、深海探索、海洋科学调查等领域。实时性:USBL 系统可以实现实时定位,可以直接跟踪水下设备的运动。
五、阵列如何测量角度
一个阵列如何测量角度,通常是通过测量声波信号到达阵列的不同传感器(麦克风)的时间差或相位差来推算入射信号的方向。
时间差法(TDOA,Time Difference of Arrival)
如果阵列中的多个传感器按一定间距排列,声波从水下设备发射出来后会以不同的时间先后到达阵列中的不同传感器。假设阵列上有两个传感器,传感器 A 和传感器 B,且声波从水下设备以某个角度传播过来。由于声波传播的速度是恒定的,当信号到达传感器 A 和 B 的时间不同(因为它们离信号源的距离不同),这个时间差就能告诉我们声波是从哪个方向来的。根据时间差和已知的阵列距离,可以通过几何关系或三角函数来计算出声波的入射角度。
相位差法
如果阵列中的传感器间距足够小,信号的相位差也可以用来估计入射角度。不同的入射角会导致信号在阵列中传播时出现不同的相位延迟。相位差法利用信号的波动特性,基于不同传感器之间接收到信号的相位差,来推算声波的入射角度。
六、长基线(LBL)与超短基线(USBL)的总结
长基线(LBL)与超短基线(USBL)定位系统在原理、特点及应用上各有不同。LBL 系统通过多个水下基站的声学信号进行通信和定位,适用于长距离、高精度的水下定位与导航。USBL 系统则通过单个基站的接收阵列测量声波信号的角度,适用于短距离、实时性要求高的水下定位场景。两者在水下探索、海洋科学调查等领域都有着广泛的应用,为水下设备的精确定位提供了重要的技术支持。
关键点:
传统USBL系统
系统组成:传统USBL系统通常由一个基站组成,基站位于水面,比如安装在船只上。
USBL基站包含一个接收阵列
阵列由多个传感器(如麦克风)或者换能器组成,用于接收来自水下设备的声波信号。
水下设备(如ROV、AUV等)携带一个发射器,定期发出声波信号,基站接收到信号后进行处理。
工作原理:基站的接收阵列通过测量声波信号到达不同传感器的时间差或相位差,来确定水下设备的方向和距离。由于基线非常短,通常只有几厘米到几十厘米,因此其测量角度的分辨率不高,定位精度随斜距的增加而降低。
处理方式:传统USBL系统中,数据处理主要在基站本地完成,不需要与其他基站进行通信或数据汇总。基站接收到信号后,直接通过内部的信号处理器计算出水下设备的位置,并将结果传输给控制中心或用户设备。
长基线系统
系统组成:长基线系统由多个水下基站组成,这些基站被布置在水下的固定位置,间距通常为几百米到几千米。每个基站都安装了声学传感器,能够独立接收和发送声波信号。
工作原理:水下设备通过与多个基站进行声学通信,基站接收设备发出的声波信号,并测量信号到达的时间差或相位差。根据多个基站的测量数据和已知的基站位置,利用几何方法(如三角定位)计算出水下设备的精确位置。
处理方式:
长基线系统需要一个中央处理系统或一个特定的基站来汇总各个基站的数据。各个基站将接收到的信号测量结果发送到中央处理系统,系统对这些数据进行综合处理和计算,最终得到水下设备的精确位置信息。这种方式可以提高定位精度,并能够处理更复杂的水下环境。
总结
传统USBL系统适用于需要快速部署和实时定位的场景,如ROV的导航和跟踪,但其定位精度相对较低。长基线系统则适用于需要高精度定位的长距离水下作业,如深海探索和海底测绘,但系统复杂度较高,需要更复杂的设备布置和数据处理流程。
相关文章:
基线定位系统:长基线与超短基线的原理与应用
基线定位系统:长基线与超短基线的原理与应用 在测量、导航、天文等领域,基线是两个已知位置之间的距离或方向,常用于三角测量、卫星定位等方法来确定其他位置的相对关系。本文将深入探讨长基线(Long Baseline, LBL)与…...
QT网页显示的几种方法及对比
一.直接跳转打开网页 1.使用QDesktopServices::openUrl调用系统浏览器 原理:直接调用操作系统默认浏览器打开指定URL,不在应用程序内嵌入网页。 优点: 实现简单,无需额外模块或依赖。 适用于仅需跳转外部浏览器的场景。 缺点&…...
深入浅出理解LLM PPO:基于verl框架的实现解析之一
1. 写在前面 强化学习(Reinforcement Learning,RL)在大型语言模型(Large Language Model,LLM)的训练中扮演着越来越重要的角色。特别是近端策略优化(Proximal Policy Optimization,PPO)算法,已成为对齐LLM与人类偏好的主流方法之一。本文将基于verl框架(很多复刻De…...
Linux python 安装 conda(内部自带的有python的版本了)
位置网站 https://repo.anaconda.com/miniconda/也可以在https://www.anaconda.com/download/success 官方下载之后方linux中 切换路径之后 执行 bash Miniconda3-py310_25.1.1-2-Linux-x86_64.sh [rootVM-4-5-centos ~]# [rootVM-4-5-centos ~]# uname -a Linux VM-4-5-cen…...
git原理与常用命令及其使用
认识工作区、暂存区、版本库 ⼯作区:是在电脑上你要写代码或⽂件的⽬录。 暂存区:英⽂叫 stage 或 index。⼀般存放在 .git ⽬录下的 index ⽂件(.git/index)中,我们 把暂存区有时也叫作索引(index…...
19681 01背包
19681 01背包 ⭐️难度:中等 🌟考点:动态规划、01背包 📖 📚 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public class Main {static int N 10001…...
Guava:Google开源的Java工具库,太强大了
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
多阶段构建实现 Docker 加速与体积减小:含文件查看、上传及拷贝功能的 FastAPI 应用镜像构建
本文围绕使用 Docker 构建 FastAPI 应用镜像展开,着重介绍了多阶段构建的 Dockerfile 编写及相关操作。借助多阶段构建,不仅实现了 Docker 构建的加速,还有效减小了镜像体积。 1. Dockerfile 内容 以下是我们要使用的 Dockerfile 内容&…...
蓝桥杯每日一题----海底高铁
🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 题目链接 P3406 海底高铁 - 洛谷https://www.luogu.com.cn/problem/P3406 解题思路 在这道题来说,主要使用的想法就是使用一维的差分数组,这道题中有两个买…...
触动精灵对某东cookie读取并解密--记lua调用C语言
在Mac上构建Lua扩展模块:AES解密与Base64解码实战 今天我要分享一个实用技术:如何在Mac系统上为Lua编写和编译C扩展模块,特别是实现一个某东iOS PIN码解密功能的扩展。这对于需要在Lua环境中执行高性能计算或使用底层系统功能的开发者非常有…...
分布式中间件:基于 Redis 实现分布式锁
分布式中间件:基于 Redis 实现分布式锁 一、背景引入 在当今的互联网应用中,分布式系统变得越来越常见。在分布式环境下,多个服务实例可能会同时对共享资源进行读写操作,这就很容易引发数据不一致等问题。比如电商系统中的库存扣…...
鸿蒙开发工程师简历项目撰写全攻略
一、项目结构的黄金法则 建议采用「41」结构: 项目背景(业务价值)技术架构(鸿蒙特性)核心实现(技术难点)个人贡献(量化成果)附加价值(延伸影响) …...
MSE分类时梯度消失的问题详解和交叉熵损失的梯度推导
下面是MSE不适合分类任务的解释,包含梯度推导。以及交叉熵的梯度推导。 前文请移步笔者的另一篇博客:大模型训练为什么选择交叉熵损失(Cross-Entropy Loss):均方误差(MSE)和交叉熵损失的深入对比…...
【设计模式】三十二、策略模式
系列文章|源码 https://github.com/tyronczt/design-mode-learn 文章目录 系列文章|源码一、模式定义与核心思想二、模式结构与Java实现1. 核心角色2. Java代码示例 三、策略模式的五大核心优势四、适用场景五、与其他模式的对比六、最佳实践建议总结 🚀进阶版【更…...
Cyberchef实用功能之-json line格式文件美化和查询
本文将介绍一下如何使用cyberchef对json line格式数据进行美化方便阅读,以及json line格式数据的批量查询操作。 之前的文章介绍了json格式数据的美化和查询,即Cyberchef实用功能之-json解析美化和转换,Cyberchef实用功能之-批量提取json数据…...
Java求101-200之间有多少素数
Java学习笔记 今天看教程看到了这个题,对于一名打过算法竞赛的选手还是很简单的,但由于之前是c组的,所以用java写一下,练一下手。 代码: package com.itheima.hello;public class Test1 {public static void main(S…...
计算机基础:编码03,根据十进制数,求其原码
专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:计算机基础:编码02,有符号数编码…...
FaryGui文字shader修改,弧线排列
因项目要求,希望将文字进行标题那样的弧线排列,如下图: 对FaryGUI的文字Shader进行了一些修改,基本达到要求,shader设置如下: shader代码如下: // Upgrade NOTE: replaced _Object2World with unity_ObjectToWorld // Upgrade NOTE: replaced mul(UNITY_MATRIX_MVP,*) with Un…...
QT笔记---JSON
QT笔记---JSON JSON1、JSON基本概念1.1、判断.json文件工具 2、生成.json数据3、解析.json数据 JSON 在现代软件开发中,数据的交换和存储格式至关重要。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,以其简洁易…...
C++ string的模拟实现
Hello!!大家早上中午晚上好,昨天复习了string的使用,今天来模拟实现一下string!!! 一、string的框架搭建 1.1首先我们需要一个string的头文件用来做变量、函数、类等声明;再需要一个test文件来做测试,还需…...
使用LangChain实现基于LLM和RAG的PDF问答系统
目录 前言一.大语言模型(LLM)1. 什么是LLM?2. LLM 的能力与特点 二、增强检索生成(RAG)三. 什么是 LangChain?1. LangChain 的核心功能2. LangChain 的优势3. LangChain 的应用场景4. 总结 四.使用 LangChain 实现基于 PDF 的问答系统 前言 本文将介绍 …...
图像滤波中常用滤波器的相位响应——不是只有零相位滤波器
实偶函数滤波器 当滤波器是实偶函数时,其滤波结果的相位在通带内为 0 或 π \pi π,正频率和负频率成分的相位相同。这种相位特性使得实偶函数滤波器在低通滤波、平滑处理等需要保持信号相位不失真的应用中非常有用。 实偶函数特性: 滤波器…...
学习CSS滤镜属性 `filter: invert()`
一、核心机制 数学原理 invert(1) 对每个像素的RGB通道执行 颜色反相计算: 新通道值 255 - 原通道值 例如 rgb(255,0,0)(纯红)会转换为 rgb(0,255,255)(青色)。 透明度处理 该滤镜会保留元素的Alpha通道(…...
C++实现rabbitmq生产者消费者
RabbitMQ是一个开源的消息队列系统,它实现了高级消息队列协议(AMQP), 特点 可靠性:通过持久化、镜像队列等机制保证消息不丢失,确保消息可靠传递。灵活的路由:提供多种路由方式,如…...
在VMware上部署【Ubuntu】
镜像下载 国内各镜像站点均可下载Ubuntu镜像,下面例举清华网站 清华镜像站点:清华大学开源软件镜像站 | Tsinghua Open Source Mirror 具体下载步骤如下: 创建虚拟机 准备:在其他空间大的盘中创建存储虚拟机的目录,…...
【Pandas】pandas Series plot.barh
Pandas2.2 Series Plotting 方法描述Series.plot([kind, ax, figsize, …])用于绘制 Series 对象的数据可视化图表Series.plot.area([x, y, stacked])用于绘制堆叠面积图(Stacked Area Plot)Series.plot.bar([x, y])用于绘制垂直条形图(Ver…...
检索增强生成(2)本地PDF 本地嵌入模型
from langchain_community.document_loaders import PyPDFLoader from pathlib import Pathdef load_local_pdf(file_path):if not Path(file_path).exists():raise FileNotFoundError(f"文件 {file_path} 不存在!")loader PyPDFLoader(file_path)try:do…...
又双叒叕Scrapy爬虫相关的面试题及详细解答
Scrapy是Python开发的一个快速、高层次的网络爬虫框架,专注于高效抓取网页并提取结构化数据。其核心设计基于异步处理机制,适合大规模数据采集任务。 文章目录 基础概念1. Scrapy框架的核心组件有哪些?架构与流程2. 描述Scrapy的工作流程核心组件详解3. 如何自定义Item Pipe…...
【QA】装饰模式在Qt中有哪些运用?
在Qt框架中,装饰模式(Decorator Pattern)主要通过继承或组合的方式实现,常见于IO设备扩展和图形渲染增强场景。以下是Qt原生实现的装饰模式典型案例: 一、QIODevice装饰体系(继承方式) 场景 …...
【保姆级】阿里云codeup配置Git的CI/CD步骤
以下是通过阿里云CodeUp的Git仓库进行CI/CD配置的详细步骤,涵盖前端(Vue 3)和后端(Spring Boot)项目的自动化打包,并将前端打包结果嵌入到Nginx的Docker镜像中,以及将后端打包的JAR文件拷贝至Do…...
