資源簡介
此文檔是關于室內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系統仿真之銀行排隊問題
評論
共有 條評論