无线通信路径损耗模型

2023-10-12 23:40

本文主要是介绍无线通信路径损耗模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接着上文的路径损耗模型,继续谈谈大尺度衰落中的常见模型

1.1.2 Okumura/Hata模型

在所有预测城市地区损耗的模型中,Okumura模型被采用得最多,适用于载波范围为500~1500MHz,小区半径为1~1000km,天线高度为30~1000m的移动通信系统。

Okumura模型路径损耗为

\mathrm{PL}_{\mathrm{Ok}}\left(d\right)\Big[\mathrm{dB}\Big]=\mathrm{PL}_{\mathrm{F}}+A_{\mathrm{MU}}\left(f,d\right)-G_{\mathrm{Rx}}-G_{\mathrm{Tx}}+G_{\mathrm{AREA}}

Amu(f,d)为频率f处的中等起伏衰减因子,GTx和GRx分别为接收和发射天线增益,G_AREA为具体地区环境增益,一般都可从实测得到的经验图中查找。

Hata模型是目前使用最广泛的模型,市区环境路径损耗为

\operatorname{PL}_{\operatorname{Hata},U}\left(d\right)\left[\operatorname{dB}\right]=69.55+26.16\log_{10}f_c-13.82\log_{10}h_{\operatorname{T}x}-C_{\operatorname{R}x}+\left(44.9-6.55\log_{10}h_{\operatorname{T}x}\right)\log_{10}d

对于中等范围,CRx取值为

C_{\mathrm{Rx}}=0.8+\left(1.1\log_{10}f_c-0.7\right)h_{\mathrm{Rx}}-1.56\log_{10}f_c

对于大的范围,CRx取决于载波频率

C_{\mathrm{Rx}}=\left\{\begin{array}{ll}8.29\left(\log_{10}\left(1.54h_{\mathrm{Rx}}\right)\right)-1.1, & 150MHz\leqslant f_c\leqslant200\text{MHz} \\ 3.2\left(\log_{10}\left(1.75h_{\mathrm{Rx}}\right)\right)^2-4.97, & \quad200\text{MHz}\leqslant f_c\leqslant1500\text{MHz}\end{array}\right.

郊区和开阔地,表示为

\operatorname{PL}_{\operatorname{Ha},\operatorname{SU}}\left(d\right)\left[\operatorname{dB}\right]=\operatorname{PL}_{\operatorname{Ha},\operatorname{U}}\left(d\right)-2\left(\log_{10}\frac{f_{c}}{28}\right)^{2}-5.4

\operatorname{PL}_{\operatorname{HtaxO}}\left(d\right)\left[\operatorname{dB}\right]=\operatorname{PL}_{\operatorname{flanU}}\left(d\right)-4.78\left(\log f_c\right)^2+18.33\log_{10}f_c-40.97

Hata路径损耗模型

function PL = PL_Hata(fc,d,htx,hrx,Etype)
%Hata模型
%输入
%     fc:载波频率(Hz)
%     d :基站和移动台之间的距离(m)
%     htx:发射机高度(m)
%     hrx:接收机高度(m)
%     Etype:环境类型('urban','suburban','open area')
%输出
%     PL:路径损耗(dB)
if nargin < 5Etype = 'URBAN';
end
fc = fc/(1e6);
if fc>=150 && fc<=200C_Rx = 8.29*(log10(1.54*hrx))^2-1.1;
elseif fc>200C_Rx = 3.2*(log10(11.75*hrx))^2 -4.97; %大范围,式(1.9)
else C_Rx = 0.8+(1.1*log10(fc)-0.7)*hrx-1.56*log10(fc)%中等范围,式(1.8)
end
PL = 69.55+26.16*log10(fc)-13.82*log10(htx)-C_Rx+(44.9-6.55*log10(htx))*log10(d/1000) %式(1.7)
EType = upper(Etype);
if EType(1) == 'S'PL = PL-2*(log10(fc/28))^2-5.4;
elseif EType(1) == 'O'PL =PL+(18.33-4.78*log10(fc))*log10(fc)-40.97;
end
end

设置参数,画图

% plot_PL_Hata.m
clear all
clc
fc = 1.5e9;
htx = 30;
hrx = 2;
distance = [1:2:31].^2;
y_urban = PL_Hata(fc,distance,htx,hrx,'urban');
y_suburban = PL_Hata(fc,distance,htx,hrx,'suburban');
y_open = PL_Hata(fc,distance,htx,hrx,'open');
semilogx(distance,y_urban,'k-s',distance,y_suburban,'k-o',distance,y_open,'k-^')
title(['Hata PL model,f_c=',num2str(fc/1e6),'MHz'])
xlabel('distance(m)'),ylabel('Path loss(dB)')
legend('urban','suburban','open area')
grid on,axis([1 1000 40 110])

结果图

1.1.3 IEEE802.16d 模型

IEEE802.16d 模型属于对数正态阴影路径损耗模型,

\mathrm{PL}_{802.16}\left(d\right)\big[\mathrm{dB}\big]=\mathrm{PL}_{\mathrm{F}}\left(d_0\right)+10\gamma\log_{10}\left(\frac{d}{d_0}\right)+C_{\mathrm{f}}+C_{\mathrm{Rx}},d>d_0

修正模型:

\mathrm{PL}_{\mathrm{Mo22.10}}(d)[\mathrm{dB}]=\begin{cases}20\log_{10}\left(\frac{4\pi d}{\lambda}\right),&d\le d_0'\\[6pt]20\log_{10}\left(\frac{4\pi z_0'}{\lambda}\right)+10y\log_{10}\left(\frac{d}{d_0}\right)+C_1+C_{\mathrm{max}},&d>d\le d_0'\end{cases}

MATLAB程序:

IEEE802.16模型:

function PL = PL_IEEE80216d(fc,d,type,htx,hrx,corr_fact,mod)
% IEEE802.16d 模型
% 输入:
%      fc: 载波频率(Hz)
%      d : 基站和移动台间的距离(m)
%      type: 选择'A','B'或'C'
%      htx: 发射机高度(m)
%      hrx: 接收机高度(m)
%      corr_fact: 如果存在阴影,设置为'ATnT'或'Okumura'。否则,设置为'NO'
%      mod: 设置为'mod'来得到修正的IEEE802.16模型
% 输出:
%      PL: 路径损耗(dB)
Mod = 'UNMOD';
if nargin > 6Mod = upper(mod);
end
if nargin == 6 && corr_fact(1) == 'm'Mod = 'MOD';corr_fact = 'NO';
elseif nargin < 6corr_fact = 'NO';if nargin == 5 && hrx(1) == 'm'Mod = 'MOD';hrx = 2;elseif nargin < 5 hrx = 2;if nargin == 4 && htx(1) == 'm'Mod = 'MOD';htx = 30;elseif nargin < 4htx = 30;if nargin == 3 && type(1) == 'm'Mod = 'MOD';type = 'A';elseif nargin < 3type = 'A';endendend
end
d0 = 100;
Type = upper(type);
if Type~='A'&&Type~='B'&&Type~='C'disp('Error:The selected type is not supported');return;
end
switch upper(corr_fact)case 'ATNT'PLf = 6*log10(fc/2e9); %式(1.13)PLh = -10.8*log10(hrx/2);%式(1.14)case 'OKUMURA'PLf = 6*log10(fc/2e9); %式(1.13)if hrx <= 3C_Rx = -10*log10(hrx/3);%式(1.15)elseC_Rx = -20*log10(hrx/3)endcase 'NO'PLf = 0;PLh = 0;
end
if Type == 'A'a = 4.6; %式(1.13)b = 0.0075;c = 12.6;
elseif Type == 'B'a = 4;b = 0.0065;c = 17.1;
elsea = 3.5;b = 0.005;c = 20;
end
lamda = 3e8/fc;
gamma = a-b*htx+c/htx;%式(1.12)
d0_pr = d0;
if Mod(1) == 'M'd0_pr = d0*10^-((PLf+PLh)/(10*gamma))%式(1.17)
end
A = 20*log10(4*pi*d0_pr/lamda)+PLf+PLh;
for k = 1:length(d)if d(k) > d0_prPL(k) = A+10*gamma*log10(d(k)/d0)  %式(1.18)else PL(k) = -10*log10(lamda/(4*pi*d(k))^2);end
end
end

绘制图像:

% plot_PL_IEEE80216d.m
clear all
clc
fc = 2e9;
htx = [30 30];
hrx = [2 10];
distance = [1:1000];
for k = 1:2y_IEEE16(k,:) = PL_IEEE80216d(fc,distance,'A',htx(k),hrx(k),'atnt');y_MIEEE16(k,:) = PL_IEEE80216d(fc,distance,'A',htx(k),hrx(k),'atnt','mod')%修正模型
end
subplot(1,2,1)
semilogx(distance,y_IEEE16(1,:),'k','linewidth',1.5),hold on
semilogx(distance,y_IEEE16(2,:),'r','linewidth',1.5),hold on
title(['IEEE 802.16d Path loss Models,f_c=',num2str(fc/1e6),'MHz'])
axis([1 1000 10 150])
xlabel('Distance(m)'),ylabel('Pathloss(dB)')
legend('h_{Tx}=30m,h_{Rx}=2m','h_{Tx}=30m,h_{Tx}=10m')subplot(1,2,2)
semilogx(distance,y_MIEEE16(1,:),'k','linewidth',1.5),hold on
semilogx(distance,y_MIEEE16(2,:),'r','linewidth',1.5),hold on
title(['Modified IEEE 802.16d Path loss Models,f_c=',num2str(fc/1e6),'MHz'])
axis([1 1000 10 150])
xlabel('Distance(m)'),ylabel('Pathloss(dB)')
legend('h_{Tx}=30m,h_{Rx}=2m','h_{Tx}=30m,h_{Tx}=10m')

结果图:

 

 #博主学习MIMO-OFDM所做的学习笔记

这篇关于无线通信路径损耗模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/199266

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行