实现 GPS 拒绝飞机导航的时间序列模型(Matlab代码实现)

       目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

该项目旨在开发一个时间序列预测模型,以解决GPS拒绝飞机导航的问题,这是空中交通管制的关键要素。该项目实现了两种不同的时间序列模型,即ARIMA和LSTM。这些模型将用于在线预测飞机接下来 100 个时间步的纬度、经度和高度。仿真结果表明,所建立的模型能够以较高的置信区间准确预测飞机位置。

通常时间序列是某一系统在不同时刻的数值组成的数列,由按时间先后顺序排列的一连串的观测数据(信号)组成的数列,按规定的时间间隔采样,因为采样时的条件不可能完全一样,所以往往会表现出随机性,时间序列的未来取值呈现出不可预测性,同时期的前后观测值之间也存在一定的相关性。

a.趋势变化,是指时间序列随着时间的变化,表现出上升或降低的长期趋势。

b.季节性变化,通常是指时间序列包含的一些周期性项,如周年、半周年、季节性变化等。

c.循环变化,主要是指趋势线在较长时间里表现出来的上下波动的现象。

d.不规则变化,又称不规则因子,反映了系统受随机性事件而引起的在间断点处的变化(如地震引起的垂直位移)。​

📚2 运行结果

主函数部分代码:

clc; clear all; close all;

% Given parameters

T = 0.01;

Phi = [1 T;0 1]; % this is equivalent to A matrix

Psi = [(T^2)/2; T]; % this is equivalen to B matrix

H = [1 0]; % this is equivalent to C matrix

Gamma = [(T^2)/2 0;T 0.01]; % this is equivalent to W

Gam = [0;0.01]; % this is only for W in the dynamical system

Q = 0.001;%*eye(2);

R = 0.1;%*eye(2); 

u_variance = 0.1;

u_meanValue = 0;

w_variance = 0.001;

w_meanValue = 0;

v_variance = 0.1;

v_meanValue = 0;

% Implementation of kalman filter for the above system

K = [];

P = []; % The filter error covariance 

P_int = []; % P(k+1|k) -- Error covariance of the prediction x(k+1|k)

X = [];

X_hat = [];

Z_hat = [];

X_predict = [];

P(:,:,1) = 0.1*eye(2);

X_hat(:,:,1) = zeros(2,1);

X_predict(:,:,1) = zeros(2,1);

X(:,:,1) = [0;0];

for k = 1:1000

    % First construct the kalman gain matrix [K(k+1)]

    

    P_int(:,:,k) = Phi*P(:,:,k)*Phi' + Gamma*Q*Gamma'; % this is line 2 of section B

    K(:,:,k+1) = P_int(:,:,k)*(H')*inv(H*P_int(:,:,k)*H' + R); % This is line 1 of section B

    P(:,:,k+1) = (eye(2) - K(:,:,k+1)*H)*P_int(:,:,k); % This is line 3 of section B

    

    % Now let's implement the Kalman filter -- section 1

        

        % First let's implement the system to get Z(k+1)

        

        %%%%%%%%%%%%

        u_wnoise = sqrt(u_variance)*randn(size(1)) + u_meanValue;

        w_wnoise = sqrt(w_variance)*randn(size(1)) + w_meanValue;

        v_wnoise = sqrt(v_variance)*randn(size(1)) + v_meanValue;

        

        X(:,:,k+1) = Phi*X(:,:,k) + Psi*u_wnoise + Gam*w_wnoise;

        Z(:,:,k+1) = H*X(:,:,k+1) +v_wnoise;

        %%%%%%%%%%%%

    

        

    X_predict(:,:,k) = Phi*X_hat(:,:,k) + Psi*u_wnoise + Gam*w_wnoise;

   

    

    Z_til(:,:,k) = Z(:,:,k+1) - H*X_predict(:,:,k);

    

    X_hat(:,:,k+1) = X_predict(:,:,k) + K(:,:,k+1)*Z_til(:,:,k);

    

    Z_hat(:,:,k) = H*X_predict(:,:,k);

    

end

🎉3 参考文献

​[1]张美英,何杰.时间序列预测模型研究综述[J].数学的实践与认识,2011,41(18):189-195.

👨‍💻4 Matlab代码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java注释】如何自定义注解以及JDK中的元注解

一,如何自定义注解 1.1 在编译时进行格式检查(JDK内置的三个基本注解) Override: 限定重写父类方法, 该注解只能用于方法Deprecated: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为所修饰的结构危险或存在更好的选择SuppressWarnings: 抑制编译器警告 1.2 …

你真的知道如何系统高效地学习数据结构与算法吗?

文章目录前言:什么是数据结构?什么是算法?学习这个算法需要什么基础?学习的重点在什么地方?一些可以让你事半功倍的学习技巧1.边学边练,适度刷题2.多问、多思考、多互动3.打怪升级学习法4.知识需要沉淀&…

五种IO模型

用户空间与内核空间 操作系统把内存空间划分成了两个部分:内核空间和用户空间。 为了保护内核空间的安全,操作系统一般都限制用户进程直接操作内核。 所以,当我们使用TCP发送数据的时候,需要先将数据从用户空间拷贝到内核空间&a…

k8s快速入门

介绍容器化部署随着Docker技术的流行,对项目的容器化部署方式越来越流行,容器化部署的优点如下:- 可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等- 运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦- 容器…

响应式编程详解,带你熟悉Reactor响应式编程

文章目录一、什么是响应式编程1、Java的流和响应式流2、Java中响应式的使用3、Reactor中响应式流的基本接口4、Reactor中响应式接口的基本使用二、初始Reactor1、Flux和Mono的基本介绍2、引入Reactor依赖3、响应式类型的创建4、响应式类型的组合(1)使用m…

操作系统之进程的初步认识(1)

进程1. 进程的相关概念1.1 进程的定义1.2 进程的概念(1)1.3 进程的概念(2)2. 进程和程序的区别3. 进程管理:3.1 进程的结构体有哪些属性(1) Pid(操作系统里指进程识别号)(2) 内存指针(3) 文件描述符表4. 进程调度:(1) 并行(2) 并发5. 进程调度需要的属性(1) 进程状态(2) 进程优…

Vulnhub靶场----10、LazySysadmin

文章目录一、环境搭建二、渗透流程一、环境搭建 DC-7下载地址:https://download.vulnhub.com/dc/DC-9.zip kali:192.168.144.148 DC-9:192.168.144.157 二、渗透流程 1、信息收集nmap -sV -sT -p- -T4 192.168.144.157思路: 1、80…

18、江科大stm32视频学习笔记——USART串口发送串口发送和接收

目录 一、USART串口发送 1、电路图 2、printf函数的移植方法 3、serial.c 4、main.c 5、解决直接写汉字,编译器报错 二 、USART串口发送和接收 1、查询实现 2、中断实现 (1)在Serial.c中添加的代码 (2)主函…

【2023-3-6】1. Nginx介绍及安装

【2023-3-6】1. Nginx介绍及安装 1. Nginx介绍 nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. Nginx是一个高性能的HTTP和反向代理Web服务器。 1. Nginx官网 2. Ng…

Centos系统下载

下载地址 https://www.centos.org/

图解redis之链表的实现

引言: 链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。 作为一种常用数据结构,链表内置在很多高级的编程语言里面,因 为Redis使用的C语言并没有内置这种数据结…

深度学习必备知识——模型数据集Yolo与Voc格式文件相互转化

在深度学习中,第一步要做的往往就是处理数据集,尤其是学习百度飞桨PaddlePaddle的小伙伴,数据集经常要用Voc格式的,比如性能突出的ppyolo等模型。所以学会数据集转化的本领是十分必要的。这篇博客就带你一起进行Yolo与Voc格式的相互转化&…

Linux驱动开发

一、驱动分类Linux中包含三大类驱动:字符设备驱动、块设备驱动和网络设备驱动。其中字符设备驱动是最大的一类驱动,因为字符设备最多,从led到I2C、SPI、音频等都属于字符设备驱动。块设备驱动和网络设备驱动都要比字符设备驱动复杂。因为其比…

【动态规划】不同路径,编辑距离题解及代码实现

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

Linux -- 磁盘存储管理 分区工具 parted

对于磁盘存储,既然要管理,要分区,那必然就少不了要 分区的工具对于分区工具,常用的有三个, fdisk 、gdisk、parted ~!!本次,先介绍下 parted 分区工具前面几篇文章讲了 fdisk 、 gdi…

硬刚ChatGPT!文心一言能否为百度止颓?

引言:近年来,人工智能领域的发展突飞猛进,尤其是在自然语言处理(NLP)方面。OpenAI的ChatGPT无疑是这个领域的佼佼者[1]。那么,面对这样一款高度智能的AI模型,国内市场上是否有相应的产品能与之抗…

【申请加入New Bing遇到的问题:当前无法使用此页面,cn.bing.com 重定向次数过多】

目录一.前言二.问题描述三.解决方案解决方案1:解决方案2:四.总结一.前言 前面的文章我们详细的讲解了如何加入New Bing,之前我们直接加入还可以直接访问,但是现在访问过多就会出现当前无法使用此页面,cn.bing.com 重定向次数过多的问题&…

运筹系列67:大规模TSP问题的EAX遗传算法

1. 算法介绍 EAX是edge assembly crossover 算子的缩写。本算法有Y nagata教授公布,目前在VLSI最大的几个案例上获得了best的成绩。另外目前MonoLisa 100K问题的最优解也是由其公布,若能得到更优解,可以获得1000美元奖励。 算法步骤如下&…

python自动化办公(一)

本文代码参考其他教程书籍实现。 文章目录文件读写open函数读取文本文件写入文本文件文件和目录操作使用os库使用shutil库文件读写 open函数 open函数有8个参数,常用前4个,除了file参数外,其他参数都有默认值。file指定了要打开的文件名称&a…

【C语言】—— qsort()函数的使用

要学习qsort()函数首先要先了解回调函数 文章目录一.回调函数二.qsort函数是什么?三.用qsort函数排序1. 整型2. 结构体3. 字符型4. double型四.具体样例1. 整型数组排序2. 结构体数据排序3.字符型数组排序4.double型数组排序五.使用冒泡排序思想模拟实现qsort函数1.…
最新文章