MATLAB程序:Hata路径损耗模型

function PL=PL_Hata(fc,d,htx,hrx,Etype)
% Hata Model
% Input
%       fc    : carrier frequency[Hz]
%       d     : between base station and mobile station[m]
%       htx   : height of transmitter[m]
%       hrx   : height of receiver[m]
%       Etype : Environment Type('urban','suburban','open')
% output
%       PL    : path loss[dB]

%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%?2010 John Wiley & Sons (Asia) Pte Ltd

if nargin<5, Etype = 'URBAN'; end
fc=fc/(1e6);
if fc>=150&&fc<=200, C_Rx = 8.29*(log10(1.54*hrx))^2 - 1.1;
 elseif fc>200, C_Rx = 3.2*(log10(11.75*hrx))^2 - 4.97; % Eq. (1.9)
 else   C_Rx = 0.8+(1.1*log10(fc)-0.7)*hrx-1.56*log10(fc); % Eq. (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);  % Eq. (1.7)
EType = upper(Etype);
if EType(1)=='S',  PL = PL -2*(log10(fc/28))^2 -5.4;  % Eq. (1.10)
  elseif EType(1)=='O' 
    PL=PL+(18.33-4.78*log10(fc))*log10(fc)-40.97; % Eq. (1.11)
end

 绘制Hata路径损耗模型

% plot_PL_Hata.m

%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%?2010 John Wiley & Sons (Asia) Pte Ltd

clear, clf
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-^')
grid on, axis([1 1000 40 110]),
title(['Hata PL model, f_c=',num2str(fc/1e6),'MHz'])
xlabel('Distance[m]'), ylabel('Path loss[dB]')
legend('urban','suburban','open area',2)

 

 

  • 11
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Hata路径传播模型是一种用于无线通信系统的路径损耗模型,旨在通过计传输距离、频率、天线高度等参数,预测信号在不同区域的强度衰减情况。下面是一个基于MATLABHata路径传播模型的代码示例: ```MATLAB function attenuation = hata_path_loss(distance, frequency, height) % 计Hata路径传播模型中的路径损耗 % 定义常数 C1 = 69.55; C2 = 26.16; C3 = 13.82; C4 = 44.9; C5 = 0.468; % 计距离补偿因子 if distance <= 1 distance_comp = C1 + C2*log10(frequency) - C4*log10(height); else distance_comp = C1 + C2*log10(frequency) - C4*log10(height) - C3*log10(distance); end % 计频率补偿因子 frequency_comp = C5*log10(frequency) - 4.78*log10(frequency)^2; % 计路径损耗 attenuation = distance_comp + frequency_comp; end ``` 在代码中,我们定义了常数C1-C5,这些常数是Hata路径传播模型的参数。然后根据给定的距离、频率和天线高度,计距离补偿因子和频率补偿因子。最后,将两个补偿因子相加得到路径损耗的结果。 示例代码中只是简单实现了Hata路径传播模型的计过程,实际应用中可能还需要考虑其他因素,如地形、建筑物遮挡等。此外,代码中的常数参数是根据特定条件下的经验值,可能需要根据具体情况进行调整。 ### 回答2: Hata路径传播模型是一种广泛使用的用于预测无线电传播路径损耗模型,常被用于无线通信系统的规划和优化。以下是一个使用MATLAB编写的Hata路径传播模型的示例代码: ```matlab function path_loss = hata_path_loss(distance, frequency, ht, hr) % distance: 距离(km) % frequency: 频率(MHz) % ht: 发射天线高度(m) % hr: 接收天线高度(m) % 频率修正参数 fc = frequency / 200; % 路径损耗 a_hm = (1.1 * log10(frequency) - 0.7) * hr - (1.56 * log10(frequency) - 0.8); Lp = 46.3 + 33.9 * log10(frequency) - 13.82 * log10(ht) - a_hm + (44.9 - 6.55 * log10(ht)) * log10(distance); % 路径损耗修正 Cm = 0; % 默认城市类型为中等城市 if distance <= 20 Cm = (0.8 + (1.1 * log10(frequency) - 0.7) * hr - (1.56 * log10(frequency) - 0.8)) * log10(frequency) - 1.1; elseif distance > 20 Cm = (1.1 * log10(frequency) - 0.7) * hr - (1.56 * log10(frequency) - 0.8); end % 总路径损耗 path_loss = Lp + Cm + 3; end ``` 上述代码定义了一个`hata_path_loss`函数,该函数根据输入的距离、频率、发射天线高度和接收天线高度计Hata路径传播模型下的路径损耗。首先,根据输入的频率计频率修正参数;然后根据发射和接收天线高度计中途损耗;最后根据距离计路径损耗,并在此基础上进行城市类型修正。函数返回最终的路径损耗值。 该函数可以进一步扩展,用于预测无线信号强度、覆盖范围等参数,帮助无线通信系统的规划与优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值