www.gusucode.com > COST231_hata模型信道仿真matlab编程源码程序 > COST231_hata模型信道仿真matlab编程源码程序/code/wireless_COST231_hata_attenuation.m

    %%%%%%%%%%%%%%%hata传播模型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%适用条件f=1500-2300MHz;Hb=30-200m;Hm=1-10m;d=1-20km%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%wireless_hata_attenuation(Model,f,Hm,Hb,d)%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%发射功率f(MHz),收发天线距离(小区半径)d(km)%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%移动台高度Hm(m),基站高度Hb(m)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%Model=1;中小城市.Model=2;大城市f<=200MHz.Model=3;大城市f>=400MHz.%%%%%%%%%%
%%%%Model=4;郊区.Model=5;农村%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=wireless_COST231_hata_attenuation(Model,f,Hm,Hb,d)
y1=46.3+33.9*log(f)/log(10)-13.82*log(Hb)/log(10)+(44.9-6.55*log(Hb)/log(10))*log(d)/log(10);
if Model==1
    a=(1.11*log(f)/log(10)-0.7)*Hm-(1.56*log(f)/log(10)-0.8)-3;
elseif Model==2
    a=8.29*(log(1.54*Hm)/log(10)).^2-1.1;
elseif Model==3
    a=3.2*(log(11.75*Hm)/log(10)).^2-4.97;
elseif Model==4
    a=(log(f/28)/log(10)).^2+5.4;
elseif Model==5
    a=40.98+4.78*(log(f)/log(10)).^2-18.33*log(f)/log(10);
else
    error('no that model');
end
y=y1-a;