log_normal_shadowing.m - File Exchange - MATLAB Central
参考书籍
Wireless Communication Systems in Matlab
Wireless Communication Systems in MATLAB - 道客巴巴 (doc88.com)
对数距离路径损耗模型是Friis自由空间模型的扩展。它被用来预测广泛的环境下的传播损失,而Friis自由空间模型被限制在发射机和接收机之间畅通无阻的路径。该模型包含了由于信号被山丘、树木、建筑物等遮挡而产生的随机阴影效应。它也被称为对数正态阴影模型。
log_normal model
Log normal Shadowing (ques10.com) 详细解释log_normal_shadowing
FriisModel
clear
close all
clc
Pt_dBm=0; %Input transmitted power in dBm
Gt_dBi=1; %Gain of the Transmitted antenna in dBi
Gr_dBi=1; %Gain of the Receiver antenna in dBi
f=2.4e9; %Transmitted signal frequency in Hertz
d0=1; %assume reference distance = 1m
d=100*(1:0.2:100); %Array of distances to simulate
L=1; %Other System Losses, No Loss case L=1
sigma=2;%Standard deviation of log Normal distribution (in dB)
n=2; % path loss exponent
%Log normal shadowing (with shadowing effect)
[PL_shadow,Pr_shadow] = logNormalShadowing(Pt_dBm,Gt_dBi,Gr_dBi,f,d0,d,L,sigma,n);
figure;plot(d,Pr_shadow,'b');hold on;
%Friis transmission (no shadowing effect)
[Pr_Friss,PL_Friss] = FriisModel(Pt_dBm,Gt_dBi,Gr_dBi,f,d,L,n);
plot(d,Pr_Friss,'r');grid on;
xlabel('Distance (m)'); ylabel('P_r (dBm)');
title('Log Normal Shadowing Model');legend('Log normal shadowing','Friss model');
function [PL,Pr_dBm] = logNormalShadowing(Pt_dBm,Gt_dBi,Gr_dBi,f,d0,d,L,sigma,n)
% Pr(db) = Pr0(db) - 10*n*log(d/d0) + X0
% where X0 is a Gaussian random variable with zero mean and a variance in db
% Pt * Gt * Gr * (lambda^2) d0^pathlossExp (X0/10)
% Pr = --------------------------*-----------------*10
% (4 *pi * d0)^2 * L d^pathlossExp
lambda = 3*10^8/f;
k = 20*log10(lambda/(4*pi))- 10*n*log10(d0)-10*log10(L);
x = sigma*randn(1,numel(d));
PL = Gt_dBi +Gr_dBi +k-10*n*log10(d/d0)-x;
Pr_dBm = Pt_dBm +PL;
end
function [Pr_dBm,PL_dB] = FriisModel(Pt_dBm,Gt_dBi,Gr_dBi,f,d,L,n)
lambda = 3*10^8/f;
PL_dB = Gt_dBi +Gr_dBi +20*log10(lambda/(4*pi))-10*n*log10(d)-10*log10(L);
Pr_dBm = Pt_dBm + PL_dB;
end