现代信号处理——自适应滤波器(卡尔曼滤波)

2023-05-16

一、Kalman滤波的过程方程和观测方程

假设某系统n时刻的状态变量为x(n)

过程方程:x(n+1)=F(n+1,n)x(n)+v1(n)

观测方程:y(n)=C(n)x(n)+v2(n) 

F(n+1,n)为状态转移矩阵;

C(n)为观测矩阵;

x(n)为状态向量;

y(n)为观测向量;

v1为过程噪声;v2为观测噪声。

  

 二、新息过程(新的信息)

 

 

 三、Kalman的递推算法 

 

 ​​​​​​​

 

 Kalman滤波算法流程:

 

 

Kalman滤波的特点:

Kalman滤波采用物理意义较为直观的时间域描述方式;

采用递推算法,用前一个估计值和最近一个观察数据(它不需要全部过去的观察数据)来估计信号的当前值;

解是以估计值(常常是状态变量值)形式给出的,或者说其信号模型是从状态方程和量测方程得到的;

适用于多维和非平稳随机信号。

例:用如下差分方程产生一个AR(2)随机序列。

x(n)=1.74x(n-1)-0.81x(n-2)+v(n),x(-1)=x(0)=0

用观测方程y(n)=x(n)+v2(n)观测x(n),其中v(n),v2(n)分别是方差为0.04和9的白噪声,利用Kalman预测对x(n)进行预测。

 

Kalman预测的参数为: 

实验的方法是:由

x(n)=1.74x(n-1)-0.81x(n-2)+v(n), x(-1)=x(0)=0产生随机序列的一次实现x(n),

利用y(n)=x(n)+v2(n)作为观测数据得到预测值\hat{x}(n+1|Y_{n}),比较预测值\hat{x}(n+1|Y_{n})和真实值x(n+1),评价Kalman预测的跟踪性能。

 

卡尔曼滤波在雷达目标跟踪中的应用

当卡尔曼滤波应用于目标跟踪时,用系统状态方程来描述目标的运动特性:

状态向量通常由目标的位置、速度和(或)加速度参量构成;

观测方程中的观测向量则由雷达测得的目标运动参量构成。 

 

对于匀速直线运动目标,在没有任何扰动的情况下,满足 

 

 

 

 

 

 

在给定系统状态方程和观测方程下,为进行卡尔曼滤波,需给出状态估计和估计误差自相关矩阵的初始值,下面给出目标跟踪时,工程上常用的状态向量估计初始化方法。 

 

 

 

 

  

 

参考视频:

https://www.bilibili.com/video/BV1wS4y1D7ng?p=9&vd_source=77c874a500ef21df351103560dada737

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

现代信号处理——自适应滤波器(卡尔曼滤波) 的相关文章

  • Gazebo创建围墙并生成.world文件

    Gazebo创建围墙并生成 world仿真环境文件 文件说明 world文件是gazebo中搭建的仿真环境保存后的文件格式 xff0c 其中包含了若干个模型文件 world文件如图所示 xff1a 其中相关参数是gazebo基于我们在gaz
  • Ubuntu18.04分区方案

    由于Ubluntu18 04安装和16 04基本一样 xff0c 因此就没什么好说的 xff0c 主要记录一下分区方案 硬盘总容量 xff1a 500G 分区方案 xff1a EFI分区 逻辑分区 xff0c 空间起始位置 xff0c 10
  • Ubuntu18.04搭建AirSim+ROS仿真环境

    AIRSIM在UBuntu 18 04上构建的官网文档 一 安装UE4引擎 AIRSIM是依赖于UE4引擎实现的 因此在安装AIRSIM之前要安装UE4引擎 1 获取UE4的github许可 在Ubuntu上安装UE4引擎需要从源文件进行编
  • OpenCV-Python学习笔记(使用opencv识别物体的位置,找到中心点位)

    使用opencv识别物体的位置 xff0c 找到中心点位 xff1a 步骤 xff1a 先拿到图像 gt 进行高斯滤波 gt 进行灰度处理 gt 进行二值化 gt 进行开运算 gt 轮廓提取 gt 计算中心点位 效果图如下 xff1a 代码
  • ROS下使用realsense-d435i跑通 rgbdslam_v2运行踩坑完成

    准备工作 rbgdslam v2 按照github 实验环境Ubuntu 16 04 ROS kinetic 如果你电脑安装PCL版本是1 7 xff0c 那么请直接跳到错误1 xff0c 如果你也不知道有没有 xff0c 或者版本多少 x
  • ROS学习 catkin CMakeList.txt详细介绍

    ROS中catkin CMakeLists txt的内容 CMakeList txt文件是CMake编译系统编译软件包过程的输入文件 任何CMake兼容包都包含一个或多个CMakeLists txt文件 xff0c 这些文件描述了如何编译代
  • ROS Catkin 教程之 CMakeLists.txt

    1 概览 CMakeLists txt 是用 CMake 构建系统构建 ROS 程序包的输入文件 任何兼容 CMake 的包都包含一个或多个 CMakeLists txt 文件 xff0c 用以描述怎样构建和安装代码 catkin 项目采用
  • ROS在roslaunch时,提示“is neither a launch file in package”或TAB时没有补全

    描述 已经设置了source devel setup bash xff0c 在同一终端用roslaunch可以 xff0c 但我在这个终端起的是roscore xff0c 新终端再用roslaunch就不行了 分析 报错是因为没找到对应的p
  • ros绑定串口

    本文主要介绍ros绑定串口设备的一种方法 1 检查有多少个设备 span class token function ls span dev ttyUSB 2 查看对应串口 查看KERNELS后面的设备的硬件端口号 udevadm info
  • Spring Boot 配置文件配置自动提示 Configuration Processor

    效果 在使用Idea等开发工具时 xff0c 配置文件中输入前缀就有对应的补全提示 xff0c 使开发者可以很方便配置相应属性 xff0c 效果截图如下 xff1a 元数据说明 这些提示来自于 spring 自动配置规范中的源数据文件 sp
  • ubuntu20.4安装python3.8

    ubuntu20 4中安装python3 8 注 ubuntu20 4自带python3 10 软连接python3与pip3指向的为python3 10本文意在安装python3 8 并将软连接python与pip指向python3 8
  • C/C++多线程、线程同步(互斥锁与信号量)

    参考链接2 中写的非常好 xff0c 简单易懂 xff0c 上手快 xff0c 非常好的博文 使用多线程及互斥锁样例 xff1a include lt iostream gt include lt windows h gt using na
  • Python ❀ 初学者学习笔记与知识点梳理

    软件安装与环境部署变量与数据类型列表与元组条件判断语句字典while循环函数类文件与异常 推荐代码练习地址 xff1a https www runoob com python python 100 examples html 点击此处直接跳
  • Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包

    文章目录 1 脚本代码详解2 代码执行结果3 脚本参数调整 1 脚本代码详解 span class token comment bin bash span span class token builtin class name echo s
  • Windows ❀ Windows系统下端口连通性常见的验证方法

    文章目录 1 telnet1 1 telnet服务开启方法1 2 端口连通性验证 2 tcping2 1 tcping下载与安装2 2 端口连通性验证 3 netstat ano findstr3 1 findstr使用语法3 2 端口连通
  • Security ❀ 安全设备学习规范(第二版)

    文章目录 安全设备学习规范1 设备部署环境1 1 部署方式1 2 配置IP地址与路由1 3 设备冗余机制1 4 会话同步机制1 5 设备账户管理1 6 设备故障诊断 2 产品授权方式2 1 序列号2 2 Hash值 3 相关设备联动3 1
  • Windows ❀ 解决Google浏览器无法访问网页问题

    文章目录 问题 xff1a Google浏览器无法访问网页解决方法 问题 xff1a Google浏览器无法访问网页 使用Google浏览器打开某个已知安全网页时 xff0c 弹出如下信息 xff0c 错误内容如下 xff1a NET ER
  • Security ❀ CSP Bypass 内容安全策略绕过

    文章目录 内容安全策略绕过 CSP Bypass1 Low Level2 Medium Level3 High Level4 Impossible Level 内容安全策略绕过 CSP Bypass CSP 内容安全策略 xff1a 为了缓
  • Security ❀ JavaScript Attacks 前端攻击

    文章目录 JavaScript Attacks 前端攻击1 Low Level2 Medium Level3 High Level4 Impossible Level JavaScript Attacks 前端攻击 JavaScript是一
  • MiddleWare ❀ Zookeeper基础概述

    文章目录 1 认识Zookeeper1 1 数据类型1 2 监听器1 3 基本功能1 3 1 统一配置管理1 3 2 统一命名服务1 3 3 分布式锁1 3 4 集群状态 2 下载安装包3 安装服务3 1 服务端命令3 2 客户端命令 3

随机推荐

  • Java文件内容变更及内容追加监听方案

    简介 对于文件内容变动的监听处理 xff0c 一般分为两种主要应用场景 1 只关心文件内容是否发生变更 文件的内容发生变动的场景是全量修改模式 xff0c 不是内容追加模式 例如某xml文件内容发生变动 这种情况 xff0c 我们一般只需要
  • MiddleWare ❀ MySQL基础概述

    文章目录 MySQL基础1 SQL语法与分类1 1 DDL 数据定义语言1 1 1 库操作1 1 1 1 查询1 1 1 2 创建1 1 1 3 删除1 1 1 4 使用 1 1 2 表 43 字段操作1 1 2 1 查询1 1 2 2 创
  • Shell ❀ 基础知识概述

    文章目录 一 基本概念1 脚本文件命名方式2 解释器分类3 基本基本组成内容4 脚本编写规范与格式说明5 自动生成脚本的注释与配置信息 一 基本概念 shell又称为命令解释器 xff0c 它能识别用户输入的各种命令 xff0c 并传递给操
  • Shell ❀ 基础变量类别与引用

    文章目录 二 变量与引用1 变量命名2 变量类型3 变量定义4 常用变量4 1 内置通配符4 2 内置变量4 3 自定义变量4 4 环境变量4 5 变量的作用域4 5 1 全局变量4 5 2 局部变量 4 6 位置变量4 5 1 位置变量的
  • Shell ❀ 条件测试语句

    文章目录 三 条件测试1 基本语法2 表达式2 1 条件判断表达式2 2 字符串判断表达式2 3 数字判断表达式2 4 文件判断表达式2 5 表达式中 与 的区别2 5 1 的逻辑判断表达式2 5 2 的逻辑判断表达式 三 条件测试 1 基
  • Shell ❀ 条件判断语句

    文章目录 四 条件判断1 if 单分支格式1 1 语法格式1 2 操作案例 2 if else 双分支格式2 1 语法格式2 2 操作案例 3 if elif else 多分支结构3 1 语法格式3 2 操作案例 4 和 复合指令4 1 相
  • Shell ❀ 循环语句

    文章目录 五 循环语句1 for 循环1 1 带列表的for循环1 2 不带列表的for循环1 3 类C风格的for循环 2 while 循环2 1 循环体读取文件的三种方法2 2 循环类型 3 嵌套循环案例 五 循环语句 1 for 循环
  • Shell ❀ 函数与数组

    文章目录 六 函数与数组1 函数1 1 函数定义1 2 函数的优势1 3 函数语法1 4 函数调用1 5 操作案例1 6 函数库文件1 7 递归函数 2 数组2 1 数组定义2 2 定义股关联数组2 3 数组的赋值2 4 数组操作2 5 数
  • Shell ❀ 正则表达式

    文章目录 七 正则表达式1 普通字符2 非打印字符3 特殊字符4 限定字符5 常用的正则表达式5 1 校验数字的表达式5 2 校验字符的表达式5 3 特殊需求表达式 七 正则表达式 正则表达式 Regular Expression xff1
  • Shell ❀ 三剑客 - Grep + Sed + Awk

    文章目录 八 三剑客 Grep 43 Sed 43 Awk1 Grep 过滤1 1 常用grep参数1 2 使用方法 2 Sed 行匹配2 1 执行原理2 2 常见语法2 3 使用方法2 3 1 地址边界的设定2 3 2 基础编辑命令2 3
  • Shell ❀ 学习笔记与知识点梳理

    基础知识概述基础变量类别与引用条件测试语句条件判断语句循环语句函数与数组正则表达式三剑客 Grep 43 Sed 43 Awk
  • 使用 Schema xsd 文件校验 xml 文件格式

    本文是实例代码工具类 xff1a span class token keyword import span span class token namespace org span class token punctuation span x
  • Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍

    nbsp Linux 查看磁盘分区 文件系统 使用情况的命令和相关工具介绍 提要 Linux 磁盘分区表 文件系统的查看 统计的工具很多 有些工具是多功
  • MiddleWare ❀ Elasticsearch请求详解

    文章目录 Elasticsearch请求详解 Elasticsearch请求详解 span class token comment 创建索引 重复创建报错 span span class token function curl span s
  • 树莓派自带VNC黑屏(灰屏)个人解决办法

    最近购买了树莓派 xff14 xff22 看来许多教程 xff0c 但VNC第一次还正常显示 xff0c 后来就黑屏 xff0c 还有什么现在不能显示桌面什么的 xff0c 下面给大家说下vnc黑屏我的解决办法 xff0c 我发现是vncv
  • Openmv色块追踪

    Openmv 拿到后第一次进行开发 xff08 颜色追踪 xff09 Openmv本身是具有很多的内置函数的 xff0c 基本都是别人给我们写好了 xff0c 需要我们自己去调用 xff0c 并给函数传递参数以实现我们需要的效果 但是很多初
  • XTDrone中roslaunch px4 indoor1.launch

    logging to home luyu ros log f8336262 666f 11ec ad21 4287fcc6d992 roslaunch luyu Lenovo 32405 log Checking log directory
  • Git的基本使用方法(0基础小白也能看懂)详细教程(含视频讲解)

    git指令介绍 xff0c 下面有详解指令可以先跳过直接看下面的详解 mkdir learngit 创建一个learngit文件夹 cd learngit 进入learngit文件夹 pwd 用于显示当前目录 git init 把这个目录变
  • 2020/05/25 Prometheus监控k8s企业级应用 1

    2 2 课程介绍及课程大纲 普罗米修斯的配置很难 2 3 Prometheus监控软件概述 prometheus是一名google的前员工写的 xff0c 也是go语言写的 xff0c K8S是第一个托管的项目 xff0c promethe
  • 现代信号处理——自适应滤波器(卡尔曼滤波)

    一 Kalman滤波的过程方程和观测方程 假设某系统n时刻的状态变量为x n 过程方程 xff1a x n 43 1 61 F n 43 1 xff0c n x n 43 v1 n 观测方程 xff1a y n 61 C n x n 43