⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getevaldata.m

📁 无线传感器节点定位技术的程序
💻 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 + -