?? dcd.m
字號:
%dcd.m
% 大尺度損耗模型
% 參數設置
% distance : T-R距離
% frequency : 載波頻率
% n : 路徑損耗指數
% sigma : (0均值)正態隨機變量(即高斯變量)的標準偏差
% d0 : 近地參考距離
% m : 預測樣本數目
% gt : 發射天線的增益
% gr : 接收天線的增益
hold off;
clear;
c=3*10^8;
disp('** Please enter para **');
disp('** Attention: d0 must <= distance **');
d0=input('d0=');
distance=input('distance=');
frequency=input('frequency=');
n=input('n=');
sigma=input('sigma=');
m=input('m=');
gt=input('gt=');
gr=input('gr=');
%這里按照課本要求僅僅對distance和d0之間的關系作檢查,當然我們還可以添加檢查程序對其它數據作檢查。
while distance<d0|d0<=0
disp('錯誤:近地參考距離必須小于等于T-R距離!');
disp(' d0 must <= distance, 請重新輸入參數!');
d0=input('d0=');
distance=input('distance=');
end;
%自取附加測試點distancex,步長100m,從d0到distance
%每100米步長內每隔10m取1個測試點distancexx,每點作平均損耗計算(不考慮對數正態陰影),連成線
xstep=100;
xxstep=10;
for distancex=d0:xstep:distance;
%不考慮對數正態陰影
pathlossv = -10*log10(gt*gr*(c/frequency/4/pi)^2/d0^n) + 10*n*log10(distancex/d0);
%產生1×m階0均值sigma標準偏差的隨機正態分布矩陣,m為預測樣本數目
R=normrnd(0,sigma,1,m);
for i=1:m;
%考慮對數正態陰影
pathloss = pathlossv + R(i);
%從d0到T-R距離上每100米取為附加測試點,畫出其含對數陰影的損耗
plot(distancex,pathloss,'b.');
hold on;
end;
%每100米步長內每隔10m取1個測試點distancexx,每點作平均損耗計算(不考慮對數正態陰影),連線
if distancex<distance
for distancexx=distancex:xxstep:100+distancex;
pathlossvv = -10*log10(gt*gr*(c/frequency/4/pi)^2/d0^n) + 10*n*log10(distancexx/d0);
%防止打印文檔看不出此線,特設為星形,顯示為一條很粗的紅線
plot(distancexx,pathlossvv,'r*');
hold on;
end;
end;
end;
title('大尺度路徑損耗(對數正態陰影)與T-R距離的關系');
xlabel('T-R距離(m)');
ylabel('路徑損耗(dB)');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -