👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
本文介绍了UGPL,一种用于无人驾驶飞行器(UAV)通信通道的MATLAB工具。UGPL 用于计算无人机对地 (U2G) 路径损耗。它是基于考虑不同环境类型的模型开发的。UGPL允许将天线损耗添加到计算中。此外,它还考虑了仰角对路径损耗和覆盖范围计算的影响。该工具由两个应用程序组成。第一个应用在一定的最大允许路径损耗下进行计算,以找到最大覆盖半径的最佳仰角。第二个应用计算特定无人机高度下的路径损耗与仰角的关系。最佳仰角、路径损耗和覆盖半径的UGPL输出被认为是无人机网络部署和规划的重要输入。
📚2 运行结果
部分代码:
function [path,Seta_A2G_opt,R_A2G,h_UAV]= A2G_model2_R_h(env,f,h_ms,A,Go,seta_3db,Ptx,Prx)
eta_LOSx={1.6,1,.1,.1};
eta_NLOSx={23,20,21,21};
ax={15,11,5,5};
bx={.16,.18,.3,.3};
eta_LOS=eta_LOSx{env};
eta_NLOS=eta_NLOSx{env};
a=ax{env};
b=bx{env};
% %parameter A
% A=eta_LOS-eta_NLOS;
% %parameter B
% B=-147.55+20*log10(f)+eta_NLOS;
%pathloss
PL=Ptx-Prx;
v=1;
w=89;
for i=v:1:w
seta=i;
R=10^(-(-PL+(-147.5+20*log10(f)-...
20*log10(cos(pi()/180*seta)))-...
A*(2*Go-(12*((seta)/seta_3db)^2)-(12*((seta)/seta_3db)^2))+...
20*log10((10^(eta_NLOS/20)*...
(1-(1/(a*exp(-b*(seta-a))+1))))+...
(eta_LOS*(1/(a*exp(-b*(seta-a))+1)))))/20);
% eqn_0=-PL+(A/(a*exp(-b*(seta-a))+1))+...
% 20*log10(R/cos(pi()/180*seta))+B;
path(i+1,1)=R*tan(pi()/180*seta)+h_ms;
path(i+1,2)=R;
path(i+1,3)=seta;
end
% %========calculate seta optm==============================================%
% %==== dR/d(seta) =0====================%
% syms eqn_1 seta_A2G
% eqn_1=pi()*tan(pi()/180*seta_A2G)/(9*2.3)+ (a*b*A*exp(-b*(seta_A2G-a)))/...
% (a*exp(-b*(seta_A2G-a))+1)^2;
% %======optm elvation angle=============%
% Seta_A2G_opt=vpasolve(eqn_1,seta_A2G,[89 10]);
% %=========================================================================%
% %====calculate pathloss at seta-optm======================================%
% seta_A2G_C=Seta_A2G_opt;
% syms eqn_2 R
% %===PL equation==========================%
% eqn_2=-PL+(A/(a*exp(-b*(seta_A2G_C-a))+1))+...
% 20*log10(R/cos(pi()/180*seta_A2G_C))+B;
% %======coverage Raduis===================%
% R_A2G=vpasolve(eqn_2==0,R);
% %======UAV height========================%
% h_UAV=R_A2G*tan(3.14/180*seta_A2G_C)+h_ms;\
R_A2G=max(path(:,2));
h_UAV=path(find(path(:,2)==max(path(:,2))),1);
Seta_A2G_opt=path(find(path(:,2)==max(path(:,2))),3);
%=========================================================================%
% COLR={'-r','--b',':k','-.g'};
% plot(path(v+1:w,1+0*3),path(v+1:w,2+0*3),COLR{1+1},double(h_UAV),double(R_A2G),'xr','LineWidth',2);
% title('Ground Distance V.s. UAV Height');
% ylabel('Ground Distance Between ms and UAV [m]');
% xlabel('UAV Height h [m]');
🌈3 Matlab代码实现
🎉4 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]Nour El-Din Safwat , Fatma Newagy , I. M. Hafez (2022) UGPL: A MATLAB tool for UAV-to-Ground path loss calculations