📄 getevaldata.m
字号:
function X = GetEvalData(MSP, ACP, BSN, R, zone)
% GetEvalData 本函数用于实现无线定位中的CHAN算法
% - BSN 为基站个数,3 < BSN <= 7;
% - MSP 为移动台的初始位置, MSx, MSy均为[0,1]之间的数;
% 特别要注意服务小区与MS之间的关系,MS的位置不能越界。
% - ACP 为定位站的初始位置, ACx, ACy均已知;
% - R 为小区半径,单位(meter);
% - X 移动台与各个基站的估计距离;
% - zone 讨论小区环境
% See also: GetEvalData.m
% 李金伦,西南交通大学
% 22 May, 2005, 第一版
% 参数检查:
if nargout>1,
error('Too many output arguments.');
end
if nargin<4,
error('Wrong number of input arguments.');
end
%-------------小区参数分布----------------
BS = R*NetworkTop(BSN);
%-------------移动台位置参数----------------
MS = R*MSP;
%-------------定位站位置参数----------------
AC = R*ACP;
%--------移动台、定位站与各个基站的距离-------------
for m = 1: BSN,
Dist_BM(m) = sqrt((BS(1, m) - MS(1))^2 + (BS(2, m) - MS(2))^2);
Dist_BA(m) = sqrt((BS(1, m) - AC(1))^2 + (BS(2, m) - AC(2))^2);
end
%-----------与衰减有关的参数----------------
MPower_BS = 16; % 基站的最大发射功率
PiPower_BS = MPower_BS*10^(-0.7); % 基站的导频功率
%------移动台、定位站接收的各个基站的功率--------
for m = 1: BSN,
L_BM(m) = Cost231(1900, 1.5, 30, Dist_BM(m)/1000, zone);
L_BA(m) = Cost231(1900, 1.5, 30, Dist_BA(m)/1000, zone);
Power_rMS(m) = PiPower_BS*10^(-L_BM(m)/10);
Power_rAC(m) = PiPower_BS*10^(-L_BA(m)/10);
end
%---------移动台与各个基站的估计距离-----------
for m = 1: BSN,
alfa(m) = log10(Dist_BA(m)) + (10*log10(Power_rAC(m)) - 10*log10(Power_rMS(m)))/(44.90 - 6.55*log10(30));
eDist_BM(m) = 10^alfa(m);
end
% 输出:
if nargout == 1,
X = eDist_BM;
elseif nargout == 0,
disp(eDist_BM);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -