背景
二维标准kalman滤波仿真,绘制了噪声、跟踪状态和误差图,并且加入了攻击的代码部分,需要在第一个状态量的量测值中设置攻击的时候,将attack变量设置为1,会在20-40,60-80时刻加入相应攻击,攻击变量为atk可以自己设置。
代码
%Project: 基本二维Kalman
%Author: Jace
%Data: 2021/10/06
%--------------------准备---------------------
close all;
clear all;
clc;
%------------------初始化参数---------------------
N=100;%设定采样点数,即持续时长
%噪声相关参数
P0=0.01;%初始状态噪声协方差
p=zeros(2,2,N);
Q=[0.01,0.0;0.0,0.01];%设定系统噪声
R=[0.1,0.0;0.0,0.1];%设定观测噪声
w=sqrt(Q)*randn(2,N);
v=sqrt(R)*randn(2,N);
%攻击相关参数
attack=0;%攻击1是否开启
atk=sqrt(2.6)*randn(1,N);%攻击
%系统模型参数
A=[1.002,0;0,0.998];%状态转移矩阵
H=[1,0;0,1];%局部量测1量测矩阵
%----------------初始化分配空间-------------------------
%真实状态值初始化
x=zeros(2,N);%物体真实状态值(分配空间),2*N维矩阵
x(:,