matlab Hata Okumura模型

作者:懒羊羊
时间:2020.9.16 19:24 耗时2h30min原创
Lanzhou University of Technology
‘’个人代码备忘录‘’

  • ✪实验作业1

  • ✪实验目的

  • 1、熟悉MATLAB程序编辑与开发环境,掌握使用该软件解决移动通信问题的具体方法;

  • 2、掌握无线电波传播损耗计算的基本知识;

  • 3、掌握运用Hata-Okumura模型预测的方法实现大城市、中小城市、郊区、开阔农村地带的无线传播损耗预测系统;

  • 4、通过无线传播损耗预测仿真加深对Hata-Okumura无线传播损耗预测模型的理解。

  • 详细代码如下:

clc;clear;
%“author:<十三月凉>%“time:2020.9.16%“Lanzhou University of Technology”
%Hata-Okumura模型
%% 公式说明
%f:中心频率; hb:基站天线有效高度; hm:移动台天线有效高度,单位:m; d:通信距离,单位:km; a_hm:移动台天线高度校正;
%市区传播公式损耗公式:L=69.55+26.16*log10(f)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d)-a_hm;
%    其中高度校正a_hm: 1.大城市:a_hm=8.29*(log10(1.54*hm))^2-1.1; f<=200MHz
%                              a_hm=3.2*(log10(11.75*hm))^2-4.97; f>=400MHz
%                     2.中小城市:a_hm=(1.1*log10(f)-0.7)*hm-(1.56*log10(f)-0.8);
%郊区:Lj=L-2*(log10(f/28))^2-5.4;
%开阔农村地带:Ln=L-4.78*(log10(f))^2-18.33*log10(f)-40.98;
hm=3;
hb=200;d1=1:0.1:10;
figure()
subplot(221);
for f1=300:200:1500
    a_hm=3.2*(log10(11.75*hm))^2-4.97; Ld1=69.55+26.16*log10(f1)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d1)-a_hm;
    plot(d1,Ld1,'rx-');hold on;
end
xlabel('传播距离(单位km)');ylabel('传输损耗L(单位dB)');
title('(大城市)传输损耗随传播距离的变化曲线');
hold off;subplot(222);
for f1=300:200:1500
    a_hm=(1.1*log10(f1)-0.7)*hm-(1.56*log10(f1)-0.8);Lx1=69.55+26.16*log10(f1)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d1)-a_hm;
    plot(d1,Lx1,'yx-');hold on;end
xlabel('传播距离(单位km)');
ylabel('传输损耗L(单位dB)');title('(中小城市)传输损耗随传播距离的变化曲线');hold off;
subplot(223);
for f1=300:200:1500
    a_hm=3.2*(log10(11.75*hm))^2-4.97;
  Ld=69.55+26.16*log10(f1)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d1)-a_hm;
    Lj1=Ld-2*(log10(f1/28))^2-5.4;plot(d1,Lj1,'bx-');hold on;
end
xlabel('传播距离(单位km)');ylabel('传输损耗L(单位dB)');
title('(郊区)传输损耗随传播距离的变化曲线');
hold off;
subplot(224);
for f1=300:200:1500
    a_hm=3.2*(log10(11.75*hm))^2-4.97;
    Ld=69.55+26.16*log10(f1)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d1)-a_hm;
    Ln1=Ld-4.78*(log10(f1))^2-18.33*log10(f1)-40.98;plot(d1,Ln1,'cx-');hold on;
end
xlabel('传播距离(单位km)');ylabel('传输损耗L(单位dB)');title('(开阔农村地带)传输损耗随传播距离的变化曲线');
hold off;
hm=3;hb=200;
f2=300:10:1500;
figure()
subplot(221);
for d2=1:0.5:10
    a_hm=3.2*(log10(11.75*hm))^2-4.97;
    Ld2=69.55+26.16*log10(f2)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d2)-a_hm;    plot(f2,Ld2,'rx-');hold on;
end
xlabel('工作频率(单位Hz)');ylabel('传输损耗L(单位dB)');title('(大城市)传输损耗随工作频率的变化曲线');
hold off;subplot(222);for d2=1:0.5:10
    a_hm=(1.1*log10(f2)-0.7)*hm-(1.56*log10(f2)-0.8); Lx2=69.55+26.16*log10(f2)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d2)-a_hm;
    plot(f2,Lx2,'yx-');hold on;end
xlabel('工作频率(单位Hz)');
ylabel('传输损耗L(单位dB)');title('(中小城市)传输损耗随工作频率的变化曲线');
hold off;subplot(223);
for d2=1:0.5:10
    a_hm=3.2*(log10(11.75*hm))^2-4.97;
    Ld=69.55+26.16*log10(f2)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d2)-a_hm;Lj2=Ld-2*(log10(f2/28)).^2-5.4;
    plot(f2,Lj2,'bx-');hold on;
end
xlabel('工作频率(单位Hz)');ylabel('传输损耗L(单位dB)');title('(郊区)传输损耗随工作频率的变化曲线');
hold off;subplot(224);
for d2=1:0.5:10
    a_hm=3.2*(log10(11.75*hm))^2-4.97;Ld=69.55+26.16*log10(f2)-13.82*log10(hb)+(44.9-6.55*log10(hb))*log10(d2)-a_hm;Ln2=Ld-4.78*(log10(f2)).^2-18.33*log10(f2)-40.98;    plot(f2,Ln2,'cx-');hold on;
end;
xlabel('工作频率(单位Hz)');ylabel('传输损耗L(单位dB)');
title('(开阔农村地带)传输损耗随工作频率的变化曲线');
hold off;

✪需要注意的一点是subplot语句必须要放在循环之前,否则绘图会出现错误!

仿真结果如下:
在这里插入图片描述
and
在这里插入图片描述
✪一点其他的想法:
✪以上代码还可以进行优化,代码优化思路如下:
1.利用case选择语句进行模型选择,即将循环嵌套进判断语句里;
2. 利用position语句进行图注以对代码行数进行压缩

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值