资源简介
此文档是关于室内NLOS环境下的定位算法,采用的是TDOAchan算法进行设计
代码片段和文件信息
%**********************基于TDOA的Chan算法**********************************
function W=chan(noise)
%假设移动台坐标为
x_e=[];
y_e=[];
c=3*10^8;%信号传播速度
theta=0:4:100;
M=length(theta);
x=theta;
y=0*theta+20;
plot(xy‘-r‘);hold on;
X=[01000100];
Y=[0 0 100100];
%假设小区半径是3000m.XY分别是基站位置横纵坐标
basestx=X;
basesty=Y; %M是参与定位的基站数目M的取值最大是13.
N=length(basestx); %参与定位的基站数目
%Standarddeviation=[30405060708090100110120]; %测量误差标准差 /m
ri1=[]; %第i(i>=2)个基站到移动台距离与第一个基站的(服务基站)到移动台距离的差值。
xi1=[]; %第i个基站与第一个基站位置横坐标的差值
yi1=[]; %第i个基站与第一个基站位置纵坐标的差值
k=[];
h=[];
Ga=[];
for i=2:N
xi1(i-1)=basestx(i)-basestx(1);
yi1(i-1)=basesty(i)-basesty(1);
end %对xi1yi1进行赋值
for i=1:N
k(i)=(basestx(i))^2+(basesty(i))^2;
end %对k进行赋值
rmse=[];
for e=1:M
MS=[x(e)y(e)];
%if e<53&&e>47
% MS1(e:)=MS;
% rmse(e)=0;
%else
for i=2:N
ri1(i-1)=sqrt((basestx(i)-MS(1))^2+(basesty(i)-MS(2))^2)- sqrt((basestx(1)-MS(1))^2+(basesty(1)-MS(2))^2)+noise*randn(1);
%在测量参数不知道的情况下为方便仿真,假设移动台位置已知,
%则可以知道各个基站与移动台的实际距离差。
%由于测量有误差,这里用实际距离差加上或减去测量误差标准差来表示测到的距离差
end
for i=2:N
h(i-1)=0.5*((ri1(i-1))^2-k(i)+k(1));
end %对h进行赋值
for i=1:3
for j=2:N
switch i
case 1
Ga(j-1i)=-xi1(j-1);
case 2
- 上一篇:正则化方法matlab程序
- 下一篇:MATLAB系统仿真之银行排队问题
评论
共有 条评论