数学变换与滤波

本文介绍了如何在matlab中实现离散随机线性系统的卡尔曼滤波以及伽马滤波。通过示例代码展示了在不同维度下,卡尔曼滤波如何对GPS、气压计和加速度计数据进行滤波,以及伽马滤波在处理线性增加信号时的效果。
摘要由CSDN通过智能技术生成

1、离散随机线性系统的卡尔曼滤波

在matlab中实现,代码如下:

% GPS精度为1m、气压计精度为0.5m,加速度计的精度为 1cm/s^2

% 无人机按照螺旋线飞行,半径为 20m,螺距为40m,100s完成一圈飞行

% 数据采集频率为 10Hz

clear all

D = 3; % 维度,可取 1,2,3

dt = 0.1; % 0.1s采集一次数据

t0 = 0:dt:100; % 0~100s

N = length(t0); % 采样点数

A = eye(D); % 状态转移矩阵,和上一时刻状态没有换算,故取 D阶单位矩阵

x = zeros(D, N); % 存储滤波后的数据

z = ones(D, N); % 存储滤波前的数据

x(:, 1) = ones(D,1); % 初始值设为 1(可为任意数)

P = eye(D); % 初始值为 1(可为非零任意数),取 D阶单位矩阵

r = 20; % 绕圈半径,20m

w = 2*pi / 100; % 计算出角速度,100s绕一圈

Q = 1e-2*eye(D); % 过程噪声协方差,估计一个

R = [1 0 0;

0 1 0;

0 0 0.5]; % 测量噪声协方差,精度为多少取多少

k = 1; % 采样点计数

if D==1 % 一维仅高度,气压

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值