📄 traindata.m
字号:
t=1;
T=1;
%卡尔曼滤波器的参数
infraredsampletime=[-1,0];
infraredinitstate=[0 0 10 10];
infraredinnum=6;
infraredoutnum=22;
infraredp0=eye(4);
infraredH=[1 0 T 0 ;0 1 0 T;0 0 1 0 ;0 0 0 1 ];
infraredB=[ T*T/2 0 ;0 T*T/2 ;T 0;0 T ];
infraredG=[1;1;0;0];
infraredC=[1 0 0 0 ;0 1 0 0 ];
%v1模块的参数
H=infraredC;
A=infraredH;
num=23;
Q=0.2;
G=[1;1;0;0];
%V2模块参数
N=3;
%new added
pc=0.1;
mc=0.1;
ux=1;
uy=1;
indata=zeros(4,2400);
outdata=zeros(2,2400);
i=1;
%%%%%%%%%%%%%%%%%%%%%%%%以上是仿真需要的参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%初始速度
vmin=0;
vmax=200;
deltaV=10;
%加速度范围
amin=1;
amax=20;
deltaA=1;
%噪声范围
noisemin=0.1;
noisemax=1;
deltaN=0.1;
for acel=1:20
if acel>1
ux=ux+deltaA;
uy=uy+deltaA;
end
for n=1:10
mc=mc+(n-1)*deltaN;
sim('nnfilter');
for v=1:10
indata(1,i)=v1((v-1)+4);
indata(2,i)=v2((v-1)+4);
indata(3,i)=v12((v-1)+4);
indata(4,i)=v22((v-1)+4);
outdata(1,i)=ux;
outdata(2,i)=uy;
i=i+1;
end;
end
end
%重新设置一些参数来生成不同heading angel的数据
infraredinitstate=[0 0 100 100];
mc=0.1;
for acel=1:4
if acel==1
ux=20;
uy=5;
else
ux=ux-5;
uy=uy+5;
end
for v=1:10
infraredinitstate=infraredinitstate+(v-1)*deltaV;
for n=1:10
mc=mc+(n-1)*deltaN;
sim('nnfilter');
v1mean=mean(v1(20:80));
v2mean=mean(v2(20:80));
v12mean=mean(v12(20:80));
v22mean=mean(v22(20:80));
indata(1,i)=v1mean;
indata(2,i)=v2mean;
indata(3,i)=v12mean;
indata(4,i)=v22mean;
outdata(1,i)=ux;
outdata(2,i)=uy;
i=i+1;
end
end
end
save('newdata','indata','outdata');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -