2016.03.26 - 03.28
[粗略且对某些算式的理解有可能不对]。
无线通信系统的性能主要受无线信道环境的控制。理解无线信道将会为高性能和带宽效率无线传输技术打下基础。
相应的word版笔记保存地址:[2] 无线信道:传播和衰减 - 大规模衰减。
自由空间传播模型用来预测在发送和接收之间无障碍的视距环境中所接收信号的强度。用 d 代表发送端和接收端之间的距离。非等向天线的传输和接收增益分别为 Gt 和 Gr ,在距离 d 处所收到的强度为 Pr(d) 那么该强度可以由著名的Friis方程表示:
通过修改随环境而改变的路径损耗指数 n (P.5 Table 1.1)可以构建出一种更为通用的路径损耗模型。该模型即为log-distance路径损耗模型:
即使发送端和接收端彼此之间的距离相同,由于接收端实际位置中可能有的环境变化也会让它们彼此的路径损耗不同(之前的路径损耗模型没有考虑这一点)。log-normal阴影模型针对更切实的情形更有用。用 Xσ 代表Gaussian随机变量,用 σ 代表标准偏差。log-normal阴影模型则可表示如下:
[2] 实现
简单实现分析/打算的代码。
pl_free_space.m
function pl = pl_free_space( d, fc, Gt, Gr )
% 功能:自由空间[忽略系统损失(L=1)]的路径损耗模型
% 输入:d - 传播距离(m)
% fc - 载波频率(Hz)
% Gt - 发送端天线增益
% Gr - 接收端天线增益
% 输出:pl - 路径损耗[dB]
lamda = 3e8 / fc;
antilog = (4 * pi * d) ./ lamda;
if nargin > 2, antilog = antilog ./ sqrt(Gt); end
if nargin > 3, antilog = antilog ./ sqrt(Gr);end
pl = 20 * log10(antilog);
end
pl_log_dist_norm.m
function pl = pl_log_dist_norm( d, fc, d0, n, sigma )
% 功能:路径损耗的log-distance或log-normal模型
% 输入:d - 传播距离(m)
% fc - 载波频率(Hz)
% d0 - 参考距离[0 - d0之间逼近于自由空间模型](m)
% n - 路径损失指数
% sigma - log-normal模型的随机变化参数[dB]
% 输出:pl - 路径损耗[dB]
lamda = 3e8 / fc;
pl = 20 * log10((4 * pi * d0) ./ lamda) + 10 * n * log10(d / d0);
if nargin > 4, pl = pl + sigma * randn(size(d));end
end
plot_pl_general.m
% plot_pl_general.m
clear, clf
fc = 1.5e9;
d0 = [1, 100, 1000]; % P.6
sigma = 3; % 可为定值 - 乘以随机数
dist = [1:2:33].^2; % 2 - 33^2
Gt = [1 1 0.5];
Gr = [1 0.5 0.5];
n = [2 3 6];
for k = 1:3
pl_free(k, :) = pl_free_space(dist, fc, Gt(k), Gr(k));
pl_logdistn(k, :) = pl_log_dist_norm(dist, fc, d0(1), n(k)); % 每次不同的指数
pl_logdistd0(k, :) = pl_log_dist_norm(dist, fc, d0(k), n(1)); % 每次不同的d0
pl_lognorm(k, :) = pl_log_dist_norm(dist, fc, d0(1), n(1), sigma); % 每次不同的sigma
end
% 自由空间中不同Gt、Gr的路径损耗
subplot(141), % 绘图区域共1行,4列,第1幅图
semilogx( dist, pl_free(1, :), 'k-o', ...
dist, pl_free(2, :), 'r-^', ...
dist, pl_free(3, :), 'g-s'),
grid on, % 往坐标轴上添加网格线
axis([1 1000 40 110]), % x轴范围1-1000, y轴范围40-110
title(['自由空间路径损耗模型,fc=', num2str(fc / 1e6), 'MHz']),
xlabel('距离[m]'),ylabel('路径损耗[dB]'),
legend('Gt=Gr=1','Gt=1, Gr=0.5', 'Gt=Gr=0.5', 2) % 2为字体尺寸
% log-distance模型中,不同指数下的路径损耗
subplot(142),
semilogx( dist, pl_logdistn(1, :), 'k-o', ...
dist, pl_logdistn(2, :), 'r-^', ...
dist, pl_logdistn(3, :), 'g-s'),
grid on,
axis([1 1000 40 110]),
title(['log-distance 路径损耗模型 fc=', num2str(fc / 1e6), 'MHz']),
xlabel('距离[m]'),ylabel('路径损耗[dB]'),
legend('n=2', 'n=3', 'n-6', 2)
% log-normal模型中,不同参考距离下的路径损耗
subplot(143),
semilogx( dist, pl_logdistd0(1, :), 'k-o', ...
dist, pl_logdistd0(2, :), 'r-^', ...
dist, pl_logdistd0(3, :), 'g-s'),
grid on,
axis([1 1000 40 110]),
title(['log-distance 路径损耗模型 fc=', num2str(fc / 1e6), 'MHz']),
xlabel('距离[m]'),ylabel('路径损耗[dB]'),
legend('d0=1', 'd0=100', 'd0=1000', 2)
% log-normal模型中,sigma影响路径衰减
subplot(144),
semilogx( dist, pl_lognorm(1, :), 'k-o', ...
dist, pl_lognorm(2, :), 'r-^', ...
dist, pl_lognorm(3, :), 'g-s'),
grid on,
axis([1 1000 40 110]),
title(['log-normal 路径损耗模型 fc=', num2str(fc / 1e6), 'MHz']),
xlabel('距离[m]'),ylabel('路径损耗[dB]'),
legend('变化的sigma由随机函数产生')
plot_pl_general试运结果:
Figure 1. 3种通用模型试运结果
通过在扩展实验中计算天线高度和移动通信系统覆盖域而获得Okumura模型。它是用来预测市区路径损耗被采用频率最高的模型之一。该特殊的模型主要覆盖频率带在500 – 1500MHz、单位半径在1 – 100km、天线高度在30m – 100m的典型的移动通信系统。在 d 处Okumura模型的路径损耗模型为:
Okumura模型已被扩展来覆盖多种传播环境,包括城市、郊区以及开阔场地,即Hata模型(目前最流行的路径损耗模型)。对于传输天线高度 hTX[m] ,子载波频率 fc[MHz] ,市区由Hata模型在距离 d 的路径损耗为:
在郊区和开阔场地的Hata模型分别为:
pl_hata.m
function pl = pl_hata( d, fc, htx, hrx, type )
% Hata路径衰减模型
% 输入: d - 传输距离(m)
% fc - 载波频率(Hz)
% htx - 发送天线高度(m)
% hrx - 接收电线高度(m)
% type - 传播环境类型('urban', 'suburban', 'open')
% 输出: pl - 路径损耗[dB]
if nargin < 5, type = 'URBAN';end
fc = fc / 1e6;
if fc >= 150 && fc <= 200
Crx = 8.29 * (log10(1.54 * hrx))^2 - 1.1;
elseif fc > 200 && fc <= 1500
Crx = 3.2 * (log10(11.75 * hrx))^2 - 4.97;
else
Crx = 0.8 + (1.11 * log10(fc)) * hrx - 1.56 * log10(fc);
end
% 市区Hata模型
pl = 69.55 + 26.16 * log10(fc) - 13.82 * log10(htx) - Crx + (44.9 - 6.55 * log10(htx)) * log10(d / 100); % 对距离变化很敏感
type = upper(type);
if type(1) == 'S' % 郊区Hata模型
pl = pl - 2 * (log10(fc / 28))^2 - 5.4;
elseif type(1) == 'O' % 开阔场地Hata模型
pl = pl - 4.78 * (log10(fc)^2) + 18.33 * log10(fc) - 40.97;
end
end
plot_pl_Hata.m
% plot_pl_Hata.m
clear, clf
fc = 1.5e9;
htx = 30;
hrx = 100;
dist = [1:2:33].^2;
pl_urban = pl_hata(dist, fc, htx, hrx, 'urban');
pl_suburban = pl_hata(dist, fc, htx, hrx, 'suburban');
pl_open = pl_hata(dist, fc, htx, hrx, 'open');
semilogx( dist, pl_urban, 'k-o', ...
dist, pl_suburban, 'r-^', ...
dist, pl_open, 'g-s'),
axis([1 1000 40 110]),
grid on,
title(['Hata路径损耗模型, fc=', num2str(fc / 1e6), 'MHz']);
xlabel('距离[m]'), ylabel('路径损耗[dB]'),
legend('市区', '郊区', '开阔场地', 2)
plot_pl_Hata试运结果:
Figure 2. Hata路径衰减模型试运结果
IEEE 802.16D是基于log-normal shadowing路径损耗的模型。根据微小区郊区中的发送端和接收端之间障碍物的密度,该模型有3种类型(类型A,B以及C,P.11 Table1.2)。IEEE 802.16d路径损耗模型如下:
(1.12)式中的模型在某距离处导致路劲损耗的不连续性(P.12),这表明需要定义一个新的参考距离 d0 来修改存在的模型。得到该距离的方式雷同于(1.3)式:
将(1.17)式代入(1.12)式中,被修改的IEEE 802.16d模型如下:
pl_IEEE80216d.m
function [ pl ] = pl_IEEE80216d( d, fc, htx, hrx, type)
% IEEE 802.16d路径衰减模型
% 输入: d - 传播距离(m)
% fc - 载波频率(Hz)
% htx - 发送天线高度(m) [典型的10m - 80m]
% hrx - 接收天线高度(m)
% type - 该模型的3种类型('A', 'B', 'C')
% 输出: pl - 路径损耗[dB]
d0 = 100;
lamda = 3e8 / fc;
if nargin < 5, type = 'A';end
type = upper(type);
switch (type)
case 'A',
a = 4.6, b = 0.0075, c = 12.6;
Crx = -10.8 * log10(hrx / 2);
case 'B',
a = 4, b = 0.0065, c = 17.1;
Crx = -10.8 * log10(hrx / 2);
case 'C',
a = 3.6, b = 0.005, c = 20;
Crx = -20 * log10(hrx / 2);
otherwise
return ;
end
Cf = 6 * log10(fc / 2e9); % (1.13)式中的频率为[MHz]
% gama = a - b * htx + c / htx
gamma = a - b * htx + c / htx;
d0_bk = d0 * 10 ^(-(Cf + Crx) / (10 * gamma));
for k = 1:length(d)
if d(k) > d0_bk
pl(k) = 20 * log10(4 * pi * d0_bk / lamda) + 10 * gamma * log10(d(k) / d0) + ...
Cf + Crx;
else
pl(k) = 20 * log10(4 * pi * d(k) / lamda);
end
end
end
plot_pl_IEEE80216d.m
% plot_pl_IEEE80216d.m
clear, clf
fc = 2e9;
htx = 30;
hrx = 10;
dist = [1:2:33].^2;
pl_IEEEA = pl_IEEE80216d( dist, fc, htx, hrx, 'A');
pl_IEEEB = pl_IEEE80216d( dist, fc, htx, hrx, 'B');
pl_IEEEC = pl_IEEE80216d( dist, fc, htx, hrx, 'C');
semilogx( dist, pl_IEEEA, 'k-o',...
dist, pl_IEEEB, 'r-^',...
dist, pl_IEEEC, 'g-s'),
grid on,
title(['IEEE模型路径损耗, fc=', num2str(fc / 1e6), 'MHz']);
xlabel('距离[m]'), ylabel('路径损耗[dB]'),
legend('A', 'B', 'C', 2)
plot_pl_IEEE80216d试运结果:
Figure 3. IEEE 80216.d路径损耗模型试运结果
[2016.03.28 - 22:38]