www.gusucode.com > Okumura-Hata模型损耗信道仿真源码程序 > Okumura-Hata模型损耗信道仿真源码程序/code/wireless_hata_attenuation.m
%%%%%%%%%%%%%%%hata传播模型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%适用条件f=150-1000MHz;Hb=30-100m;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_hata_attenuation(Model,f,Hm,Hb,d) y1=69.55+26.16*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); 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;