【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−2000200400600800
海水深度/m70
覆盖宽度/m
与前一条测线的重叠率/%

问题 2: 考虑一个矩形待测海域(图 8),测线方向与海底坡面的法向在水平面上投影的夹角为 𝛽,请建立多波束测深覆盖宽度的数学模型。

在这里插入图片描述

图 8 问题 2 的示意图

若多波束换能器的开角为 120∘,坡度为 1.5∘,海域中心点处的海水深度为 120 m,利用上述模型计算表 2 中所列位置多波束测深的覆盖宽度,将结果以表 2 的格式放在正文中,同时保存到 result2.xlsx 文件中。

表 2 问题 2 的计算结果

覆盖宽度/m测量船距海域中心点处的距离/海里
00.30.60.91.21.51.82.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 η=1d/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=tan1((x+d/2)tan(α)Dtan(openangle/2gπ/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=1d/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 完整资料

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/75226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C刷题】day1

一、选择题 1.正确的输出结果是 int x5,y7; void swap() { int z; zx; xy; yz; } int main() { int x3,y8; swap(); printf("%d,%d\n"&#xff0c;x, y); return 0; } 【答案】&#xff1a; 3&#xff0c;8 【解析】&#xff1a; 考点&#xff1a; &#xff…

Linux DirtyPipe权限提升漏洞 CVE-2022-0847

Linux DirtyPipe权限提升漏洞 CVE-2022-0847 漏洞描述 CVE-2022-0847-DirtyPipe-Exploit CVE-2022-0847 是存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞&#xff0c;可覆盖重写任意可读文件中的数据&#xff0c;从而可将普通权限的用户提升到特权…

(其他) 剑指 Offer 67. 把字符串转换成整数 ——【Leetcode每日一题】

❓ 剑指 Offer 67. 把字符串转换成整数 难度&#xff1a;中等 写一个函数 StrToInt&#xff0c;实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先&#xff0c;该函数会根据需要丢弃无用的开头空格字符&#xff0c;直到寻找到第一个非空格的字符为…

Mybatis复杂查询及动态SQL

文章目录 一. 较复杂的查询操作1. 参数占位符#{}和${}2. SQL注入3. like查询4. resultType与resultMap5. 多表查询5.1. 一对一表映射5.2. 一对多表映射 二. 动态SQL1. if标签2. trim标签3. where标签4. set标签5. foreach标签 本篇中使用的数据表即基础映射类都是基于上一篇博客…

【C++进阶】多态

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

Unity实现2D游戏跟随摄像机(平滑移动)

文章目录 玩家角色脚本字段跟随逻辑 完整代码其他相关文章连接 玩家角色 首先创建一个可用的玩家角色&#xff0c;写好移动逻辑&#xff0c;如果要使用在Unity商店中购买的资源&#xff0c;可以点击Window菜单栏> Package Manager选项&#xff0c;来打开Package Manager窗口…

应急响应-Windows挖矿实战

0x00 主机表现 windows主机cpu拉满&#xff0c;主机卡顿&#xff0c;初步判断为中了挖矿病毒 0x00 处置 通过cpu拉满状态&#xff0c;定位初步的进程文件&#xff0c; 通过进程得到的文件上传沙箱&#xff0c;结果显示为恶意文件&#xff0c; 定位到文件夹&#xff0c; 存…

【C++ Core Guidelines解析】深入理解现代C++的特性和原理

文章目录 &#x1f468;‍⚖️《C Core Guidelines解析》的主要观点&#x1f468;‍&#x1f3eb;《C Core Guidelines解析》的主要内容&#x1f468;‍&#x1f4bb;作者介绍 &#x1f338;&#x1f338;&#x1f338;&#x1f337;&#x1f337;&#x1f337;&#x1f490;&a…

蚂蚁开源编程大模型,提高开发效率

据悉&#xff0c;日前蚂蚁集团首次开源了代码大模型 CodeFuse&#xff0c;而这是蚂蚁自研的代码生成专属大模型&#xff0c;可以根据开发者的输入提供智能建议和实时支持&#xff0c;帮助开发者自动生成代码、自动增加注释、自动生成测试用例、修复和优化代码等kslouitusrtdf。…

3D封装技术发展

长期以来&#xff0c;芯片制程微缩技术一直驱动着摩尔定律的延续。从1987年的1um制程到2015年的14nm制程&#xff0c;芯片制程迭代速度一直遵循摩尔定律的规律&#xff0c;即芯片上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍。但2015年以后&#xff0c;芯片制…

ffmpeg-android studio创建jni项目

一、创建native项目 1.1、选择Native C 1.2、命名项目名称 1.3、选择C标准 1.4、项目结构 1.5、app的build.gradle plugins {id com.android.application }android {compileSdk 32defaultConfig {applicationId "com.anniljing.ffmpegnative"minSdk 25targetSdk 32…

使用Vue + axios实现图片上传,轻松又简单

目录 一、Vue框架介绍 二、Axios 介绍 三、实现图片上传 四、Java接收前端图片 一、Vue框架介绍 Vue是一款流行的用于构建用户界面的开源JavaScript框架。它被设计用于简化Web应用程序的开发&#xff0c;特别是单页面应用程序。 Vue具有轻量级、灵活和易学的特点&#xf…

AI系统论文阅读:SmartMoE

提出稀疏架构是为了打破具有密集架构的DNN模型中模型大小和计算成本之间的连贯关系的——最著名的MoE。 MoE模型将传统训练模型中的layer换成了多个expert sub-networks&#xff0c;对每个输入&#xff0c;都有一层special gating network 来将其分配到最适合它的expert中&…

【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;最近开始正式的步入学习游戏开发的正轨&#xff0c;想要通过写博客的方式来分享自己学到的知识和经验&#xff0c;这就是开设本专栏的目的。希望…

中国电信研究院发布《5G+数字孪生赋能城市数字化应用研究报告》

9月5日&#xff0c;中国电信研究院战略发展研究所联合中关村智慧城市产业技术创新战略联盟在2023年中国国际服务贸易交易会数字孪生专题论坛正式对外发布《5G数字孪生赋能城市数字化应用研究报告》。 会上&#xff0c;中国电信研究院战略发展研究所副所长季鸿从数字中国…

【Spring Boot】JPA — JPA入门

JPA简介 1. JPA是什么 JPA是Sun官方提出的Java持久化规范&#xff0c;它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据&#xff0c;通过注解或者XML描述“对象-关系表”之间的映射关系&#xff0c;并将实体对象持久化到数据库中&#xff0c;极大地简…

centos7更新podman

实验环境&#xff1a;centos7.7.1908 1.安装podman并查看版本 yum install podman podman -v 当前podman版本信息是1.6.4 2.更新podman版本 通过查看资料显示centos 7 支持最高版本为 3.4.4&#xff0c;更新podman大致有以下四步&#xff1a; golang 安装(本次使用版本: 1.…

实时测试工具 Visual Studio 扩展 NCrunch 4.18 Crack

NCrunch Visual Studio 扩展 .NET 的终极实时测试工具 在编码时查看实时测试结果和内联指标。 下载v4.18 发布于 2023 年 7 月 17 日 跳过视频至&#xff1a; 代码覆盖率 指标 分布式处理 配置 发动机模式 Visual Studio 自动并发测试 NCrunch 是一个完全自动化的测试扩展&a…

[machine Learning]强化学习

强化学习和前面提到的几种预测模型都不一样,reinforcement learning更多时候使用在控制一些东西上,在算法的本质上很接近我们曾经学过的DFS求最短路径. 强化学习经常用在一些游戏ai的训练,以及一些比如火星登陆器,月球登陆器等等工程领域,强化学习的内容很简单,本质就是获取状…

网络编程套接字,Linux下实现echo服务器和客户端

目录 1、一些网络中的名词 1.1 IP地址 1.2 端口号port 1.3 "端口号" 和 "进程ID" 1.4 初始TCP协议 1.5 UDP协议 2、socket编程接口 2.1 socket 常见API 2.2 sockaddr结构 3、简单的网络程序 3.1 udp实现echo服务器和客户端 3.1.1 echo服务器实…