实验室的仿真测试代码库
应用介绍
此项目是实验室的仿真测试代码库。
% 用于生成训练数据
close all
clear all
warning('off')
% delete DataContainer_0603.mat
%% 参数配置
Tx =[0,0];
Rx1=[1,0];
Rx2=[0,1];
n=500;
% 运动轨迹参数
channel_num=4;% 不同的channel 对应不同的动作
Mconfig.n=n; %仿真点数
Mconfig.flag_flip=0; % 若为1,则对动作进行拷贝,单次模拟实现一次往返运动
% 场景及信号参数
config.repeat=3;
config.nums=1;
% 频偏参数
Fconfig.flag=1; % 1为添加频偏和相位噪声
Fconfig.mode=1; % mode=1 仿真的频偏和相位噪声 mode=2 实测数据的频偏信息
Fconfig.theta=0.05; % 仿真相位噪声的标准差
% get data
monte_num=1e4;
get_ind=n+1:2*n;
containerRx1=zeros(channel_num,monte_num,n);
containerRx2=zeros(channel_num,monte_num,n);
AbsmotionRx1=zeros(channel_num,monte_num,n);
AbsmotionRx2=zeros(channel_num,monte_num,n);
Rs_compRx1=zeros(channel_num,monte_num,n);
Rs_compRx2=zeros(channel_num,monte_num,n);
%%仿真开始
for k=1:4
channel=k;
for i=1:monte_num
%% step one
% 生成实际的运动轨迹图
% 参考 GenDATA2pythonV1.m
[x,y]=GenMotionTrace(channel,Mconfig);
%% step two
% 根据运动轨迹图生成数据Rsignal
% 信号重复,方便生成数据
X=Repeat(x,config);
Y=Repeat(y,config);
%生成信号1
config.Tx=Tx;
config.Rx=Rx1;
Rsignal1_c=GenSignal(X,Y,config);
%生成信号2
config.Rx=Rx2;
Rsignal2_c=GenSignal(X,Y,config);
%% 附加频偏
Rsignal1=GenFreoffset(Rsignal1_c,Fconfig);
Rsignal2=GenFreoffset(Rsignal2_c,Fconfig);
%% step three
% 处理生成好的数据 得到相位信息
% 参考jucibocheck.m
[Path_d1,abs_motion1,Rs_comp1]=GenPhase(Rsignal1,Fconfig);
[Path_d2,abs_motion2,Rs_comp2]=GenPhase(Rsignal2,Fconfig);
%% step four 记录数据
pd=phase(Path_d1);
spd=smooth(pd,101);
pd2=phase(Path_d2);
spd2=smooth(pd2,101);
containerRx1(k,i,:)=spd(get_ind);
containerRx2(k,i,:)=spd2(get_ind);
AbsmotionRx1(k,i,:)=abs_motion1(get_ind);
AbsmotionRx2(k,i,:)=abs_motion2(get_ind);
Rs_compRx1(k,i,:)=Rs_comp1(get_ind);
Rs_compRx2(k,i,:)=Rs_comp2(get_ind);
end
flag_save=1;
if flag_save==1
if exist('DataContainer_0603.mat')==0
save('DataContainer_0604_V2','containerRx1','containerRx2','AbsmotionRx1','AbsmotionRx2','Rs_compRx1','Rs_compRx2');
else
save('DataContainer_0604_V2','containerRx1','containerRx2','AbsmotionRx1','AbsmotionRx2','Rs_compRx1','Rs_compRx2','-append');
end
end
end
%% 可视化
% plot(containerRx1(4,:,:).',containerRx2(4,:,:).');
flag_fig=0;
if flag_fig==1
figure(6);
plot(x,y);
ind=find(abs_motion1==1);
ind2=find(abs_motion2==1);
figure(1);
................................想了解更多请下载附件。
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » 实验室的仿真测试代码库
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
AutoGenDataV1_0.m | 1.45 KB | 2018-06-05 |
DenoiseBymotion.m | 0.14 KB | 2018-06-05 |
freOffset.mat | 136.00 KB | 2018-06-05 |
GenFreoffset.m | 0.55 KB | 2020-09-23 |
GenMotionTrace.m | 0.53 KB | 2018-06-05 |
GenPhase.m | 0.60 KB | 2020-09-23 |
GenSignal.m | 0.80 KB | 2020-09-23 |
GenTrace.m | 0.47 KB | 2020-09-23 |
PowerRatio.m | 0.18 KB | 2018-06-05 |
Repeat.m | 0.14 KB | 2018-06-05 |
Sim_GendataV1.m | 1.35 KB | 2020-09-23 |
varfunc.m | 0.08 KB | 2018-06-05 |
LabSimlibs | 0.00 KB | 2020-09-23 |
发表评论 取消回复