%构造LOS+多径的综合相关曲线,做MEDLL多径分解
%使用相关间距1/16chip,仿真实际32个相关器的接收机的相关曲线,做MEDLL多径分解
%构造LOS+2Mpath,3路循环优化 MUX_LOOP_NUM>500结束
%构造LOS+2Mpath,4路循环优化, LOS峰值左限控制LOS_index_est_min, 多径峰值左右限窗口
%用余量估计法来控制估计的信号数目 SRR_Threshold=10000;
load MEDLL_R_Reference.mat;
d_chip=4./(length(R_ref)-1);%0.005chip
tt=-2:d_chip:2;
%%%%%%%%%%%%SIMULINK 参数
fs = 16e6;
fIF = 4.092e+6;
Ms=1.023e6;
% Mpath_gain = [0 -5 -10 -15 -20 ]; %channel multipaths in dB; here: 2 paths
% Mpath_delay = [0 2/fs 4/fs 8/fs 12/fs ]; %multipath delays in seconds
% Mpath_gain = [0 -8 -10 -15 -200 ]; %channel multipaths in dB; here: 2 paths
% Mpath_delay = [0 4/fs 7/fs 10/fs 16/fs ]; %multipath delays in seconds
% Mpath_gain = [0 -5 -1000 -1500 -2000 ]; %channel multipaths in dB; here: 2 paths
% Mpath_delay = [0 3/fs 6/fs 12/fs 16/fs ]; %multipath delays in seconds
% Mpath_gain = [0 -8 -10 -15 -200 ]; %channel multipaths in dB; here: 2 paths
% Mpath_delay = [0/fs 4/fs 7/fs 10/fs 16/fs ]; %multipath delays in seconds
% Mpath_phase = [0 0 0 0 0 ];
Mpath_gain = [0 -5 -10 -200 -300 ]; %channel multipaths in dB; here: 2 paths
Mpath_delay = [0/fs 3/fs 9/fs 10/fs 16/fs ]; %multipath delays in seconds
Mpath_phase = [0 pi/6 -3*pi/4 -pi/3 pi ];
AA = 10.^(Mpath_gain./20)
TT = Mpath_delay.*Ms
PH = Mpath_phase
%%%%%%%%%%%%合成多径
%幅度 时延 相位
a0=AA(1); t0= TT(1) ; ph0= PH(1);
a1=AA(2); t1= TT(2) ; ph1= PH(2);
a2=AA(3); t2= TT(3) ; ph2= PH(3);
a3=AA(4); t3= TT(4) ; ph3= PH(4);
a4=AA(5); t4= TT(5) ; ph4= PH(5);
R0=a0*MEDLL_R_shift(R_ref,t0).*exp(1j*ph0);
R1=a1*MEDLL_R_shift(R_ref,t1).*exp(1j*ph1);
R2=a2*MEDLL_R_shift(R_ref,t2).*exp(1j*ph2);
R3=a3*MEDLL_R_shift(R_ref,t3).*exp(1j*ph3);
R4=a4*MEDLL_R_shift(R_ref,t4).*exp(1j*ph4);
R_all = R0+R1+R2 +R3 ; % los + multpath1
%%%%实际采用32个相关器,1/16=0.065chips
d_chip1_16=1/16;
ttt=-2:d_chip1_16:2;
R_all_samp=R_all(1:d_chip1_16/d_chip:end);%%实际采集的信号
%%%%加噪声
R_all_samp = awgn(R_all_samp,35,'measured');% SNR=25dB
%%插值成0.005chip间隔
R_all_test = interp1(ttt,R_all_samp,tt,'spline') ;%插值 'pchip':三次Hermite; 'spline':三次样条;linear
R_all_test= awgn(R_all,45,'measured');%%全400个相关器
%%%%绘图
figure;
plot(tt,real(R0),'-k',tt,real(R1),'-b',tt,real(R2),'-c',tt,real(R3),'-g',tt,real(R4),'-y',tt,real(R_all),'-r+');
legend('LOS','Multpath1','Multpath2','Multpath3','Multpath4','Synthesis')
grid on;
figure;
plot3(tt,real(R0),imag(R0),'-k',...
tt,real(R1),imag(R1),'-b',...
tt,real(R2),imag(R2),'-c',...
tt,real(R3),imag(R3),'-g',...
tt,real(R4),imag(R4),'-y',...
tt,real(R_all),imag(R_all),'-r+');
xlabel('Code Phase Shift(Chips)');ylabel('Normalized Correlation Value (Re)');zlabel('Im');
legend('LOS','Multpath1','Multpath2','Multpath3','Multpath4','Synthesis')
grid on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%合成多径结束
% tic;
MAX_Mpath_NUM=4; %LOS +3Mpath
Value=zeros(1,MAX_Mpath_NUM);
SRR=zeros(1,MAX_Mpath_NUM);
SRR_Threshold=10000;
%%%%%%%%%%% 1路LOS
Rin=R_all_test;
LOS_index_est_range=MEDLL_LOSpeakdect(Rin,tt,-0.3,1);
tt(LOS_index_est_range)
%%%%%重建出LOS相关函数
[phase,D_tmax,D_a,R_0]=MEDLL_Rebuild(Rin,R_ref,tt,LOS_index_est_range,MEDLL_D_ref,MEDLL_D_err,MEDLL_D_d);
Res=R_all_test-R_0;
% figure;
% plot(tt,real(R_0),tt,R_all_test-R_0);
Value(1)=mean((abs(Res((length(tt)-1)/4:3*(length(tt)-1)/4))).^2);
SRR(1)=1/Value(1)
if(SRR(1)>SRR_Threshold)
Path_num=1
else
%%%%%%%%%%% 2路循环优化
Rin=R_all_test;
[phase,D_tmax,D_a,T,R_0,R_1]=MEDLL_Twopathloop(R_all_test,Rin,R_ref,tt,LOS_index_est_range,MEDLL_D_ref,MEDLL_D_err,MEDLL_D_d ,R0,R1);
Value(2)=mean((abs(R_all_test-R_0-R_1)).^2);
SRR(2)=1/Value(2)
if(SRR(2)>SRR_Threshold)
Path_num=2
else
%%%%%%%%%%% 3路循环优化
Rin=R_all_test;
[phase,D_tmax,D_a,T,R_0,R_1,R_2]=MEDLL_Threepathloop(R_all_test,Rin,R_ref,tt,LOS_index_est_range,MEDLL_D_ref,MEDLL_D_err,MEDLL_D_d ,R_0,R_1 ,R0,R1,R2);
Res=R_all_test-R_0-R_1-R_2;
Value(3)=mean((abs( Res((length(tt)-1)/4:3*(length(tt)-1)/4) )).^2);
SRR(3)=1/Value(3)
if(SRR(3)> SRR_Threshold)
Path_num=3
else
%%%%%%%%%%% 4路循环优化
Rin=R_all_test;
[phase,D_tmax,D_a,T,R_0,R_1,R_2,R_3]=MEDLL_Fourpathloop(R_all_test,Rin,R_ref,tt,LOS_index_est_range,MEDLL_D_ref,MEDLL_D_err,MEDLL_D_d ,R_0,R_1,R_2 ,R0,R1,R2,R3);
Res=R_all_test-R_0-R_1-R_2-R_3;
Value(4)=mean((abs(Res((length(tt)-1)/4:3*(length(tt)-1)/4))).^2);
SRR(4)=1/Value(4)
if(SRR(4)>SRR_Threshold)
Path_num=4
else
Path_num=5
end
end
end
end
% toc;
matlab-GPS-多径估计延迟锁相环算法(MEDLL)
版权申诉
5星 · 超过95%的资源 157 浏览量
2022-05-04
17:19:11
上传
评论 4
收藏 13KB ZIP 举报
wouderw
- 粉丝: 276
- 资源: 2959
最新资源
- 基于Java和Javascript的音乐悬浮歌词设计源码 - musicLrc
- ripgrep tools
- kubesphere离线安装v3.3的centos7iso资源
- xx 文库下载神器,目前亲测试pdf 有效
- kubesphere离线安装v3.3的v3.0.7的kk资源
- kubesphere离线安装v3.3的ubuntu2020iso资源
- 一个简单的Python脚本,它包含了将点分十进制IP地址转换为32位整数(通常称为IPv4地址的整数表示)和进行简单的IP地址校
- scratch2源码星球大战
- Java springboot 创建springboot项目基础框架
- 成绩管理系统后台20240529135001
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
前往页