【全部更新】2024数维杯A题完整成品代码文章思路结果分享

A题 多源机会信号建模与导航分析
摘要
全球卫星定位系统(GPS)虽广泛应用于全球定位与导航,但其在室内、隧道以及建筑密集区等复杂环境中的有效性受限。为解决这一局限性,本研究探讨了一种基于机会信号的自主定位导航方法。
机会信号导航利用无线电信号实现飞行器的精确定位,特别是在GPS不可用的情况下。本研究首先对机会信号的五类信息(TOA, TDOA, DFD, AOA, RSSI)建立了精确的数学模型,并设计了包含简单移动平均(SMA)算法的定位系统以实现实时位置估计。
为进一步优化预测精度,引入了带有局部逃逸算子的海洋捕食者算法(MPA)。此算法模仿海洋捕食者的狩猎行为,通过动态调整搜索策略,有效逃避局部最优解,从而提高全局寻优能力。使用了包含SMA(简单移动平均)算法的实时位置估计方法。SMA算法帮助我们平滑数据,减少瞬时噪声的影响,并提高定位精度。
通过比较不同信号源的数据和实现对信号误差的深入分析,我们能够在不同接收情况下提供准确的飞行器定位。我们开发了一种机会信号的实时筛选方法来识别并排除那些具有较大偏差的信号。
对于接收情况2中存在的随机性偏差和常值飘移,我们设计了评价判断方法,并据此进行了数据调整。这一策略显著提高了信号处理的准确性,从而优化了飞行器的定位结果。我们成功地处理了随机性偏差和常值飘移,显著减少了预测误差。对比优化前后的数据显示,飞行轨迹变得更加光滑,误差进一步降低。实验结果表明,使用SMA算法和筛选方法后,飞行器的位置预测在0秒至10秒内极为准确。

关键词 SMA,LEOMPA,机会信号

问题二
不考虑数据偏差的情况我们采用混合的信息来预测飞行器导航定位结果。
发射源4的到达角度信息AOA和达到时间信息 TOA来处理。
求解结果见excel文件:‘导航定位结果.xlsx’。其中部分内容见表1
表1问题二部分结果
时间/s X坐标/m Y坐标/m Z坐标/m
0.01 80.62727 -29.3188 1116.417
0.02 72.76079 25.74116 1114.589
0.03 10.4081 -8.38121 1100.086
0.04 37.90999 78.65837 1114.397
0.05 33.6431 -13.6943 1103.762
0.06 93.01123 -71.8146 1116.176
0.07 90.45526 0.231349 1117.563
0.08 45.8248 24.46634 1107.898

图1问题二导航结果可视化

图2问题二导航结果据时间可视化

图2展示了根据数值结果预测的飞行器轨迹路线其中较早的时间用浅色表示,较晚的时间用较深的颜色表示。这种可视化帮助观察者理解随时间演变的趋势或模式。可以看出飞行器大致是朝着xy减小,高度大致不变的方向运动

在这里插入图片描述

问题三
实时筛选机会信号:
机会信号中的TOA(Time of Arrival)和 RSSI(Received Signal Strength Indicator)分析:
TOA和RSSI都是在无线通信和定位系统中使用的技术,用于估计设备的位置。尽管它们的目的相同,但这两种技术在实现、准确性和受环境影响的方式上有显著差异。

面对数据误差的处理
处理带有误差的数据确定导航位置时,RSSI可能更具挑战性,因为它受环境因素的影响更大,而这些环境因素往往难以预测和量化。相比之下,尽管TOA也需要高精度的时间测量设备和良好的同步,但它的误差类型通常更容易通过技术手段(如改进硬件或使用更精确的时钟)进行控制和补偿。
由于RSSI与TOA的数据能够同时转换为距离数据,因此两者不同的数据会使得预测的困难。因此我们可以给它们同样的评价方式来选取每次获取的新信号中偏差更小的机会信号。因为DFD和AOA的信息无法独立或者联合求解出导航器的位置,同时我们将TDOA与TOA归纳为同一类机会信号(统一用TOA代表)。图3展示了数据1中发射源123的TOA与RSSI距离数据之差的数据。
图3:发射源1,2,3TOA-RSSI差距比较

从图中看出发射源1的误差最小,发射源2的误差较小,发射源3的误差最大,所以某种程度上,发射源3的信息并不可靠。图4展示了问题二结果的最大误差范围。
通过图4我们可以通过问题二的数据获取的最大误差范围叠加图,我们可以从图中看出,数据的偏差十分巨大,导致误差范围已经远大于飞行器运动的范围,这说明某些机会信号参数收到各种因素影响,导致整体的偏差十分巨大。因此,必须去除这些因素的影响。
图5展示了问题二求解结果所带来的最大误差,从中我们可以看出误差的整体走向是先增高后降低,并且总是保持较高水平这说明,数据的偏差存在一部分是常值飘移的。同时误差的振动也保持一个相对固定的幅度,这说明误差中也存在随机性偏差。图6问题二结果所带来的各项误差,通过图6可以看出,虽然发射源3的RSSI和TOA差距较大,但是产生最大的误差的数据来源于发射源1。同时通过对发射源3TOA数据的修正对比见图7可以知道发射源3TOA数据确实带来了巨大的误差,因此可以筛除。

图4最大误差范围叠加图、

在这里插入图片描述

在这里插入图片描述

在相关的论文中[
Oszust, Mariusz. “Enhanced marine predators algorithm with local escaping operator for global optimization.” Knowledge-Based Systems 232 (2021): 107467.]已经说明LEO-MPA的性能由于PSO,因此我们选取LEO-MPA来求解该问题。由于LEO-MPA算法的捕食者数目参数过高会导致计算时间过长,因此,我们选取相比PSO更少的捕食者数目,并增加最大迭代次数。实际上,这样配置下的LEO-MPA算法具有更快的速度以及更好的结果。
算法配置:捕食者数目:10000
最大迭代次数:2500
算法结果:误差函数值:0.553图8展示了LEOMPA求解所获得的轨迹图像,可以看出轨迹比之前问题二的结果更加集中并且有明显的方向信息。因此,通过对大偏差数据的处理,我们可以获取更准确的飞行器轨迹预测。

表2问题三LEOMPA求解部分结果
时间/s X坐标/m Y坐标/m Z坐标/m
0.01 48.91986 1.920731 218.4599
0.02 55.54527 5.703577 171.2798
0.03 42.5561 3.960683 158.8403
0.04 46.24115 17.63549 219.0505
0.05 44.39085 6.711485 208.9762
0.06 55.72649 -0.96734 102.17
0.07 40.50974 15.96831 174.7587
0.08 33.4839 26.37803 89.122

图8 问题三LEOMPA求解轨迹
在这里插入图片描述
问题四

随机偏差的处理
我们采用简单移动平均(Simple Moving Average,SMA)。SMA是一种常用的数据平滑技术,特别适用于时间序列数据,用于降低数据中的随机波动并揭示潜在的趋势。这种方法通过计算一定时间窗口内数据点的算术平均值来实现数据平滑。
工作原理
简单移动平均的计算过程非常直接:
选择窗口大小:确定包含多少个连续数据点的平均值。窗口大小(N)是一个重要的参数,因为它决定了平滑的程度和反应速度。窗口越大,平滑效果越明显,但对数据中变化的反应速度越慢。
计算平均值:对于时间序列中的每个点,取该点及其前N-1个数据点的平均值。对于序列的开始部分,直到累积到足够的数据点,才能开始计算移动平均。
滑动窗口:窗口沿着数据序列逐步滑动,每次向前移动一个数据点,并重新计算当前窗口内的平均值。
在这里插入图片描述

在这里插入图片描述

##【腾讯文档】2024数维杯助攻合集
## https://docs.qq.com/doc/DVVBER216eHJKc29y

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

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

相关文章

闭散列哈希表

一、什么是 哈希 ? 1.1 哈希概念 与 哈希冲突 在正式介绍闭散列哈希之前,我们需要明确 哈希 的概念。 哈希 :构造一种数据存储结构,通过函数 HashFunc() ,使 元素的存储位置 与 其对应的键值 建立一一映射关系&…

GA-CNN-LSTM多输入分类|遗传算法-卷积-长短期神经网络|Matlab

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&am…

el-checkbox选中后的值为id,组件显示为label中文

直接上代码 方法一 <el-checkbox v-for"item in list" :key"item.id" :label"item.id">{{中文}} </el-checkbox> 方法二 <el-checkbox-group class"flex_check" v-model"rkStatusList" v-for"item…

css 案例 横向滚动渐变

效果 完整代码&#xff1a; <template><view class"content"><view class"tab"><view class"tab-item" v-for"(item,index) in tab" :key"index" click"handlerTab(index)":class"ind…

简单的神经网络

一、softmax的基本概念 我们之前学过sigmoid、relu、tanh等等激活函数&#xff0c;今天我们来看一下softmax。 先简单回顾一些其他激活函数&#xff1a; Sigmoid激活函数&#xff1a;Sigmoid函数&#xff08;也称为Logistic函数&#xff09;是一种常见的激活函数&#xff0c…

Ubuntu20.04 设置路由器

1. 网络拓扑图 2. 查看网卡信息 ip a得出如下网卡信息&#xff0c;enp1s0和enp2s0为两个网卡名称&#xff0c;以及相关两个网卡的详细信息&#xff0c;不同设备的网卡名称可能不一样 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul…

【UE】制作自己的插件

步骤 1. 打开插件面板&#xff0c;在界面左上角点击“添加”按钮 2. 在“新插件”界面先点击“纯内容”然后点击“创建插件” 此时在项目工程目录下的“Plugins”文件夹中就可以看到我们创建的插件 3. 如果想在自己创建的插件中添加功能&#xff0c;我们可以在项目浏览器中的“…

SSM【Spring SpringMVC Mybatis】——Mybatis(二)

如果对一些基础理论感兴趣可以看这一期&#x1f447; SSM【Spring SpringMVC Mybatis】——Mybatis 目录 1、Mybatis中参数传递问题 1.1 单个普通参数 1.2 多个普通参数 1.3 命名参数 1.4 POJO参数 1.5 Map参数 1.6 Collection|List|Array等参数 2、Mybatis参数传递【#与…

14:java基础-Tomcat-Web容器

文章目录 面试题Web 容器是什么&#xff1f;HTTP 的本质 面试题 Web 容器是什么&#xff1f; 让我们先来简单回顾一下 Web 技术的发展历史&#xff0c;可以帮助你理解 Web 容器的由来。早期的 Web 应用主要用于浏览新闻等静态页面&#xff0c;HTTP 服务器&#xff08;比如Apa…

ArcGIS10.2能用了10.2.2不行了(解决)

前两天我们的推文介绍了 ArcGIS10.2系列许可到期解决方案-CSDN博客文章浏览阅读2次。本文手机码字&#xff0c;不排版了。 昨晚&#xff08;2021\12\17&#xff09;12点后&#xff0c;收到很多学员反馈 ArcGIS10.2系列软件突然崩溃。更有的&#xff0c;今天全单位崩溃。​提示许…

社交媒体数据恢复:九信极速版

九信极速版是一款功能强大的社交软件&#xff0c;但在使用过程中&#xff0c;您可能会遇到数据丢失的问题&#xff0c;如聊天记录、好友等。不用担心&#xff0c;九信极速版提供了数据恢复功能&#xff0c;帮助您找回丢失的数据。以下是详细的恢复步骤&#xff1a; 一、恢复聊…

Spring如何控制Bean的加载顺序

前言 正常情况下&#xff0c;Spring 容器加载 Bean 的顺序是不确定的&#xff0c;那么我们如果需要按顺序加载 Bean 时应如何操作&#xff1f;本文将详细讲述我们如何才能控制 Bean 的加载顺序。 场景 我创建了 4 个 Class 文件&#xff0c;分别命名为 FirstInitialization Se…