【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献
【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献
1 题目
1.1 问题背景
多波束测深系统是利用声波在水中的传播特性来测量水体深度的技术,是在单波束测深的基础上发展起来的,该系统在与航迹垂直的平面内一次能发射出数十个乃至上百个波束,再由接收换能器接收由海底返回的声波。多波束测深系统克服了单波束测深的缺点,在海底平坦的海域内,能够测量出以测量船测线为轴线且具有一定宽度的全覆盖水深条带。
多波束测深条带的覆盖宽度 𝑊 随换能器开角 𝜃 和水深 𝐷 的变化而变化。若测线相互平行且海底地形平坦,则相邻条带之间的重叠率定义为 𝜂 = 1 − 𝑑 ,其中 𝑑 为相邻两条测线的间𝑊距,𝑊 为条带的覆盖宽度。若 𝜂 < 0,则表示漏测。为保证测量的便利性和数据的完整性,相邻条带之间应有 10%~20% 的重叠率。但真实海底地形起伏变化大,若采用海区平均水深设计测线间隔,虽然条带之间的平均重叠率可以满足要求,但在水深较浅处会出现漏测的情况(图 5),影响测量质量;若采用海区最浅处水深设计测线间隔,虽然最浅处的重叠率可以满足要求,但在水深较深处会出现重叠过多的情况(图 6),数据冗余量大,影响测量效率。
问题
问题 1: 与测线方向垂直的平面和海底坡面的交线构成一条与水平面夹角为 𝛼 的斜线(图7),称 𝛼 为坡度。请建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。
图 7 问题 1 的示意图
若多波束换能器的开角为 120∘,坡度为 1.5∘,海域中心点处的海水深度为 70 m,利用上述模型计算表 1 中所列位置的指标值,将结果以表 1 的格式放在正文中,同时保存到 result1.xlsx 文件中。
表1 问题1 的计算结果
测线距中心点处的距离/m | −800 | −600 | −400 | −200 | 0 | 200 | 400 | 600 | 800 |
---|---|---|---|---|---|---|---|---|---|
海水深度/m | 70 | ||||||||
覆盖宽度/m | |||||||||
与前一条测线的重叠率/% | — |
问题 2: 考虑一个矩形待测海域(图 8),测线方向与海底坡面的法向在水平面上投影的夹角为 𝛽,请建立多波束测深覆盖宽度的数学模型。
图 8 问题 2 的示意图
若多波束换能器的开角为 120∘,坡度为 1.5∘,海域中心点处的海水深度为 120 m,利用上述模型计算表 2 中所列位置多波束测深的覆盖宽度,将结果以表 2 的格式放在正文中,同时保存到 result2.xlsx 文件中。
表 2 问题 2 的计算结果
覆盖宽度/m | 测量船距海域中心点处的距离/海里 | ||||||||
---|---|---|---|---|---|---|---|---|---|
0 | 0.3 | 0.6 | 0.9 | 1.2 | 1.5 | 1.8 | 2.1 | ||
测线方向夹角/° | 0 | ||||||||
45 | |||||||||
90 | |||||||||
135 | |||||||||
180 | |||||||||
225 | |||||||||
270 | |||||||||
315 |
问题 3: 考虑一个南北长 2 海里、东西宽 4 海里的矩形海域内,海域中心点处的海水深度为 110 m,西深东浅,坡度为 1.5∘,多波束换能器的开角为 120∘。请设计一组测量长度最短、可完全覆盖整个待测海域的测线,且相邻条带之间的重叠率满足 10%~20% 的要求。
问题 4: 海水深度数据(附件.xlsx)是若干年前某海域(南北长 5 海里、东西宽 4 海里)
单波束测量的测深数据,现希望利用这组数据为多波束测量船的测量布线提供帮助。在设计测线时,有如下要求:
(1) 沿测线扫描形成的条带尽可能地覆盖整个待测海域;
(2)相邻条带之间的重叠率尽量控制在 20% 以下;
(3) 测线的总长度尽可能短。在设计出具体的测线后,请计算如下指标:a.测线的总长度;b. 漏测海区占总待测海域面积的百分比;c. 在重叠区域中, 重叠率超过 20% 部分的总长度。
注 在附件中,横、纵坐标的单位是海里,海水深度的单位是米。1 海里=1852 米。附件 海水深度数据
2 问题分析
2.1 问题一
这个题需要建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。首先,需要确定多波束测深系统中每个波束所覆盖的区域。由于多波束测深系统能够在与航迹垂直的平面内发射数十个乃至上百个波束,因此可以将整个海域划分为若干个小区域,每个小区域都有自己的覆盖宽度W和重叠率 η \eta η。
其次,覆盖宽度W的大小与换能器开角 θ \theta θ和水深D有关。可以根据实际数据和测深原理来建立覆盖宽度W与 θ \theta θ 和D的关系模型。最后,相邻条带之间的重叠率$\eta $可以通过计算相邻两条测线的间距d,并根据d和覆盖宽度W的关系来确定。
2.2 问题二
建立多波束测深覆盖宽度的数学模型,以求解在矩形待测海域中,测线方向与海底坡面的法向在水平面上投影的夹角为 β \beta β时,覆盖宽度 W 的数学表达式。
由题设可知,多波束测深覆盖宽度 W 与换能器开角 θ \theta θ 和水深 D 相关,并且相邻条带之间应有一定的重叠率 η \eta η。要构建数学模型,可以考虑以下几点因素:
(1)换能器开角 θ \theta θ :换能器开角的大小将影响覆盖宽度 W 的大小。一般情况下,换能器开角越大,覆盖宽度也会相应增大。
(2)水深 D :水深越大,覆盖宽度也会相应增大。这是因为,在水深较大的区域,声波传播的距离更长,因此覆盖宽度需要更大才能实现全覆盖。
(3)相邻条带之间的重叠率 η \eta η :根据题设要求,相邻条带之间应有一定的重叠率,一般为10%~20%。通过调整测线间隔,可以控制重叠率的大小。
2.3 问题三
根据问题背景,需要设计一组测量长度最短、可完全覆盖整个待测海域的测线,并且要求相邻条带之间的重叠率满足 10%~20% 的要求。考虑到海域中心点处的海水深度为 110 m,海域的南北长为 2 海里,东西宽为 4 海里,海底的坡度为 1.5 ∘ \circ ∘,多波束换能器的开角为 120 ∘ \circ ∘。为了设计满足要求的测线,可以采用以下方法:
(1)利用海域的南北长和东西宽来确定需要的测线条数。
(2)根据海底坡度和海水深度,在每条测线上确定一定间距的测点。
(3)在第一条测线上选择一个起点,在该起点的水平投影上选择第一个测点,然后根据换能器开角确定下一个测点的位置,并以此类推,直到覆盖整个待测海域。
(4)计算每个测线的长度,并根据重叠率的要求进行调整。
2.4 问题四
这是一个优化问题,需要考虑三个指标:测线总长度、漏测海区占比、重叠率超过20%的总长度。为了达到这些指标,需要设计一个合理的多波束测线。由于海底地形变化复杂,而且数据只有单波束测量的海深信息,因此需要通过数学模型来解决该问题。
数学模型过程的话,可以按照以下的思路
(1)建立坐标系和网格
通过题目背景描述和文件附件中提供的数据,可以建立一个坐标系和网格,使得整个希望测量的海域被覆盖。同时,为了方便处理问题,可以将网格等分成大小相同的子区域。
(2)设计波束扫描范围和扫描方向
根据多波束测线的原理,可以将船体在水平方向上的扫描范围分为若干个波束,每个波束的扫描范围为一条扇形区域,扇形区域的中心在测线上,开始和结束角度通过设计波束的开角确定。同时,需要确定波束的扫描方向,可以采取等角度分布或等角度间距分布。
(3)优化测线设计
在确定了波束的扫描范围和方向后,可以使用数学优化方法来设计测线。需要依据要求,设计出一种测线布局方式,可以覆盖整个测量区域,并使相邻条带之间的重叠率尽量控制在20%以下,同时使总长度最短。可以采取贪心算法或遗传算法等优化方法。
(4)计算指标
根据所设计的测线布局方式,可以计算出测线总长度和漏测海区占比。同时,为了计算重叠率超过20%的总长度,需要对相邻条带之间的区域进行计算,并判断是否超过20%。
3 数学模型
3.1 问题一
多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型可以表示为:
W = 2 ( D t a n ( θ i ) − ( d / 2 ) t a n ( θ 0 ) ) W = 2(D tan(\theta_i)-(d/2) tan(\theta_0)) \ W=2(Dtan(θi)−(d/2)tan(θ0))
η = 1 − d / W \eta = 1 -d/W η=1−d/W
其中, α \alpha α 为坡度,g ≥ 0为任意波束编号, θ g \theta_g θg为波束 g 的发射角度,W 为波束的覆盖宽度,d 为波束间距,D 为水深, η \eta η 为相邻条带之间的重叠率。
(1)对于每个测线位置x,根据海水深度D和坡度α计算出每个波束的发射角度 θ g \theta_g θg:
θ g = t a n − 1 ( ( x + d / 2 ) t a n ( α ) − D t a n ( o p e n a n g l e / 2 − g π / 180 ) ) \theta_g = tan^{-1}((x+d/2)tan(\alpha) - D tan(open_angle/2-g\pi /180)) θg=tan−1((x+d/2)tan(α)−Dtan(openangle/2−gπ/180))
(2)根据模型公式依次计算每个波束的覆盖宽度 W g W_g Wg:
W g = 2 ( D t a n ( θ g ) − ( d / 2 ) t a n ( θ 0 ) ) W_g = 2(D tan(\theta_g)-(d/2)tan(\theta_0)) Wg=2(Dtan(θg)−(d/2)tan(θ0))
(3)依次计算每个测线与前一条测线的重叠率 η g \eta_g ηg:
η g = 1 − d / W g , η 0 = 0 \eta_g = 1-d/W_g,\eta_0 = 0 ηg=1−d/Wg,η0=0
3.2 问题二
多波束测深覆盖宽度的数学模型可表示为:
W = D × t a n ( θ / 2 ) × ( 1 − η ) W = D × tan(\theta/2)×(1-\eta) W=D×tan(θ/2)×(1−η)
其中,
W 为多波束测深的覆盖宽度;
D 为水深;
θ \theta θ 为换能器开角;
η \eta η 为相邻条带之间的重叠率( η \eta η = 1 - d,d 为相邻两条测线的间距)。
3.3 问题三
设 n 为测线条数, d 为相邻两条测线的间距。根据问题背景,将问题转化为求解 n 和 d 的最优解,使得满足以下条件:
请下载完整资料
3.4 问题四
需要设计的多波束测深系统需要对 m m m个点进行测量。建立二维直角坐标系,令点 i i i的坐标为 ( x i , y i ) (x_i, y_i) (xi,yi),对海域进行网格化处理,将整个海域分成 n × n n\times n n×n个小网格,每个小网格的边长为 d d d。设扫描的总宽度为 W W W,每个波束的宽度为 w w w,角度间距为 α \alpha α(即相邻波束之间的角度度数),开角为 θ \theta θ。则有:
W = m w α ( 1 ) W = \frac{mw}{\alpha} \qquad (1) W=αmw(1)
请下载完整资料
4 完整资料
相关文章:

【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献
【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献 1 题目 1.1 问题背景 多波束测深系统是利用声波在水中的传播特性来测量水体深度的技术,是在单波束测深的基础上发展起来的,该系统在与航迹垂直的平面内一次能发射出数十个乃至上百个…...

如何处理异步编程中的回调地狱问题?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 解决回调地狱问题的方法⭐使用 Promise⭐使用 async/await⭐ 使用回调函数库⭐模块化⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端…...
什么是Lambda表达式?
Lambda表达式是Java 8引入的一个重要特性,用于简化函数式编程中的匿名函数的定义和使用。它可以被视为一种轻量级的匿名函数,可以作为参数传递给方法或存储在变量中。 Lambda表达式的语法形式如下: (parameters) -> expression 或 (para…...

公式trick备忘录
增大不同class feature之间的距离用hinge loss 相关, similarity learning, svm https://www.youtube.com/watch?vQtAYgtBnhws https://www.youtube.com/watch?vbM4_AstaBZo&t286s...

向量数据库Milvus Cloud核心组件再升级,主打就是一个低延迟、高准确度
支持 ScaNN 索引 Faiss 实现的 ScaNN,又名 FastScan,使用更小的 PQ 编码和相应的指令集可以更为友好地访问 CPU 寄存器,从而使其拥有优秀的索引性能。该索引在 Cohere 数据集,Recall 约 95% 的时候,Milvus 使用 Knowhere 2.x 版本端到端的 QPS 是 IVF_FLAT 的 7 倍,HN…...

ELK框架Logstash配合Filebeats和kafka使用
ELK框架Logstash配合Filebeats和kafka使用 本文目录 ELK框架Logstash配合Filebeats和kafka使用配置文件结构input为标准输入,output为标准输出input为log文件output为标准输出output为es input为tcpspringboot配置logstash配置 input为filebeatsfilebeats配置logsta…...
后端面试话术集锦第 十二 篇:java基础部分面试话术
这是后端面试集锦第十二篇博文——java基础部分面试话术❗❗❗ 1. String类中常用的方法 split():把字符串分割成字符串数组 indexOf():从指定字符提取索引位置 trim():去除字符串两端空格 replace():替换 hashCode():返回此字符串的哈希码 subString():截取字符串 equa…...

【广州华锐互动】电厂三维数字孪生大屏的功能和优势
在工业互联网的背景下,电厂三维数字孪生大屏系统正在逐渐成为电力行业的重要技术。通过创建电厂的虚拟模型,这个数字孪生系统可以实现对实际电厂的实时监控,预测维护需求,优化运营效率,甚至在某些情况下,能…...

es6解构用法
一: 解构数组 二:解构对象 一: 解构数组 原理:模式(结构匹配), 索引值相同的完成赋值 总结:位置对应 二:解构对象 原理:模式(结构匹配), 属性名相同的完成赋值 {}{} 对象结构赋值的应用 常用的就以上两种 &#…...

a_bogus 音 算法还原大赏
a_bogus算法还原大赏 hello,大家好呀,我是你的好兄弟,[星云牛马],花了几天时间算法还原了这个参数的加密过程,一起看看吧,记得加入我们的学习群:529528142 天才第一步,F12你会不&am…...

【计算机网络】UDP协议详解
目录 前言 端口号的拓展 端口号范围划分 netstat pidof UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 前言 我们前面讲完了http和https协议,它们都属于应用层,按照TCP/IP五层模…...

2023-9-8 满足条件的01序列
题目链接:满足条件的01序列 #include <iostream> #include <algorithm>using namespace std;typedef long long LL;const int mod 1e9 7;int qmi(int a, int k, int p) {int res 1;while(k){if(k & 1) res (LL) res * a % p;a (LL) a * a % p;…...

获取街道、乡镇级的地图geoJson数据,使用echarts绘制地图
在此以泰州靖江市为例为例,记录一下实现过程 1、整体完成后实现的效果如下 2、获取数据 (1)DataV.GeoAtlas 第一个能想到的获取数据的网站就是它, 是阿里推出的一个用于获取全国、各省、各市以及个县级市详细地图信息的json文…...
DBMS_RESOURCE_MANAGER
参考文档: Database Administrator’s Guide 27 Managing Resources with Oracle Database Resource Manager 27.5.5 Creating a Resource Plan BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN > bugdb_plan,…...

通俗讲解傅里叶变换
参考:六一礼物:给孩子解释什么是傅里叶变换 牛!不看任何数学公式来讲解傅里叶变换 如何直观形象、生动有趣地给文科学生介绍傅里叶变换? - 知乎 从基说起…… 从数学的角度,提供一个形象有趣的解释。理解傅里叶变换的钥匙是理解基♂,它能让你重新认识世界。 1. 什么是…...

数据结构——带头双向循环链表
数据结构——带头双向循环链表 一、带头双向循环链表的定义二、带头双向循环链表的实现2.1初始化创建带头双向循环链表的节点2.2申请新节点2.3节点的初始化2.4带头双向循环链表的尾插2.5带头双向循环链表的头插2.6判空函数2.7带头双向循环链表的打印函数2.8带头双向循环链表的尾…...

MySQL大数据量高速迁移,500GB只需1个小时
在上篇「快、准、稳的实现亿级别MySQL大表迁移」的文章中,介绍了NineData在单张大表场景下的迁移性能和优势。但在大部分场景中,可能遇到的是多张表构成的大数据量场景下的数据搬迁问题。因为搬迁数据量较大,迁移的时长、稳定性及准确性都受到…...
kafka复习:(25)kafka stream
一、java代码: package com.cisdi.dsp.modules.metaAnalysis.rest.kafka2023;import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.KafkaStreams; import org.apache.kafka.streams.StreamsBuilder; import org.apache.kafka.s…...

接口自动化测试总结
一、什么项目适合做自动化测试? 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程&#x…...

【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理
文章目录 背景一、Eval二、EvalSHA三、Redis 对 Lua 脚本的管理3.1 script flush3.2 script exists3.3 script load3.4 script kill 四、Lua在Redis中原子性执行的原理 背景 Lua 本身是一种轻量小巧的脚本语言,在Redis2.6版本开始引入了对Lua脚本的支持。通过在服务…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...

Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
Monorepo架构: Nx Cloud 扩展能力与缓存加速
借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...