📄 okumura_hata.m
字号:
function X = Okumura_Hata(frq_car, hgt_rx, hgt_tx, dit, zone)
%----------------Okumura-Hata 模型-------------
%--------------参数说明-----------
% frq_car 载波频率, 单位:MHz,范围[150, 1500]
% hgt_rx 接收天线高度,单位:米,范围[1, 10]
% hgt_tx 发射天线高度,单位:米,范围[30, 200]
% dit 发射端与接收端的距离,单位:千米,范围[1, 20]
% zone 接收端所处的环境,范围[1, 2, 3, 4, 5]
% = 1 表示处于中小城市
% = 2 表示处于大城市,frq_carrier <= 300MHz
% = 3 表示处于大城市,frq_carrier >= 300MHz
% = 4 表示处于郊区传播环境中
% = 5 表示处于开阔乡村区域
% Also see: Okumura-Hata.
% Designed by 李金伦, SWJTU, 2005.5.21
%-------------初始参数-------------
% frq_car = 1600;
% hgt_rx = 1.5;
% hgt_tx = 30;
% dit = 1.5;
% zone = 5;
if nargout>1,
error('Too many output arguments.');
end
if nargin <5,
error('Wrong number of input arguments.');
end
Lf = sqrt(8.7)*randn(1);
%Lf = 0;
L = 69.55 + 2.16*log10(frq_car) - 13.82*log10(hgt_tx) + (44.90 - 6.55*log10(hgt_tx))*log10(dit) + Lf;
switch zone
case 1
alfa = (1.10*log10(frq_car) - 0.70)*hgt_rx - (1.56*log10(frq_car) - 0.80);
Ls = L - alfa;
case 2
alfa = 8.29*(log10(1.54*hgt_rx))^2 - 1.10;
Ls = L - alfa;
case 3
alfa = 3.20*(log10(11.75*hgt_rx))^2 - 4.97;
Ls = L - alfa;
case 4
Ls = L - 2*(log10(frq_car/28))^2 - 5.40;
case 5
Ls = L - 4.78*(log10(frq_car))^2 - 18.33*log10(frq_car) - 40.98;
end
%----输出-----
if nargout == 1,
X = Ls;
else
disp(Ls);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -