主要内容

光线跟踪

绘制或计算站点之间的传播路径

描述

例子

光线跟踪(tx处方从发射机站点绘制传播路径(tx)传送至接收地点(处方).传播路径是通过使用由定义的表面几何体的射线追踪来找到的地图财产。每个传播路径都是根据路径上的接收功率(dBm)或路径损耗(dB)用颜色编码的,假设是非偏振射线。

请注意

  • 光线追踪分析包括表面反射,但不包括折射、衍射或散射的影响。

  • 此功能的操作频率从100 MHz到100 GHz。

光线跟踪(tx处方propmodel从发射机站点绘制传播路径(tx)传送至接收地点(处方),基于指定的传播模型。要输入建筑和地形材料来计算路径损失,创建射线追踪的使用propagationModel功能,并设置属性以指定建筑材料。

光线跟踪(___名称,值用一个或多个名称-值对指定的附加选项绘制传播路径。

射线= raytrace(___返回传入的传播路径射线

例子

全部折叠

启动网站查看器与芝加哥的建筑物。有关osm文件的更多信息,请参见[1]

观众= siteviewer (“建筑”“chicago.osm”);

在建筑物上创建一个发射机站点。

tx = txsite (“纬度”,41.8800,...“经”, -87.6295,...'发射机罚款', 2.5 e9);

在另一个建筑物附近创建一个接收器站点。

rx = rxsite (“纬度”, 41.881352,...“经”, -87.629771,...'antennaheight', 30);

通过使用光线跟踪传播模型计算信号强度。默认情况下,光线跟踪模型使用图像方法并执行视线和单反反射分析。

点= propagationModel (“raytracing”);ssOneReflection = sigstrength (rx, tx, pm)
SONEREFLETETE = -54.0915.

计算信号强度,分析到两个反射,其中总接收功率是所有传播路径的累积功率

pm.maxnumreflections = 2;sstworeflections = sigstrength(Rx,Tx,PM)
ssTwoReflections = -52.3890

用完美反射器取代默认混凝土材料来观察材料的效果。

点。BuildingsMaterial =“perfect-reflector”;ssPerfect = sigstrength (rx, tx, pm)
ssPerfect = -41.9927

绘制传播路径。

Raytrace(TX,RX,PM)

附录

[1] osm文件下载路径https://www.openstreetmap.org该网站提供了世界各地的众包地图数据。数据是在开放数据共享开放数据库许可证(ODbL)下许可的,https://opendatacommons.org/licenses/odbl/

在香港的发射场观看建筑物。有关osm文件的更多信息,请参见[1]

观众= siteviewer (“建筑”“hongkong.osm”);

定义发射机和接收机位置,以模拟高密度城市环境中的小小区场景。

tx = txsite (“名称”“小细胞发射机”...“纬度”,22.2789,...“经”, 114.1625,...“antennaheight”10...“TransmitterPower”,5,...“TransmitterFrequency”, 28日e9);rx = rxsite (“名称”“小细胞接收器”...“纬度”,22.2799,...“经”, 114.1617,...“antennaheight”1);

创建一个完美反射的光线追踪传播模型。指定光线追踪方法为拍摄和反射光线(SBR)。

点= propagationModel (“raytracing”...“方法”“sbr”...“BuildingsMaterial”“perfect-reflector”...“TerrainMaterial”“perfect-reflector”);

可视化传播路径并计算相应的路径损耗。

Raytrace(TX,RX,PM,“类型”“pathloss”) rayperfect=raytrace (tx,rx,pm,“类型”“pathloss”);plPerfect = [raysPerfect{1}。PathLoss]
plPerfect =1×3104.2656 104.2744 112.0094

通过在传播模型上设置材料类型,重新计算材料反射损耗。第一个值不变,因为它对应于视线传播路径。

点。BuildingsMaterial =“玻璃”;点。TerrainMaterial =“具体”;Raytrace(TX,RX,PM,“类型”“pathloss”raysMtrls = raytrace(tx,rx,pm,“类型”“pathloss”);plmtrls = [raysmtrls {1} .pathloss]
plmtrls =1×3104.2656 106.2236 119.3577

附录

[1] osm文件下载路径https://www.openstreetmap.org该网站提供了世界各地的众包地图数据。数据是在开放数据共享开放数据库许可证(ODbL)下许可的,https://opendatacommons.org/licenses/odbl/

定义一个有一张桌子和四把椅子的会议室的3d地图。

mapfilename =.“conferenceroom.stl”

可视化3-D映射。

图;视图(3);trisurf (stlread (mapFileName),“FaceAlpha”, 0.3,“EdgeColor”“没有”);持有;轴平等;网格;Xlabel(“x”);ylabel (“y”);zlabel (“z”);

定义靠近墙壁的发射器站点和表格下的接收器站点。

tx = txsite (“笛卡儿”“AntennaPosition”, (-1.45;-1.45;1.5),“TransmitterFrequency”, 2.8 e9);rx = rxsite (“笛卡儿”“AntennaPosition”[。3;2;5));

用红色和蓝色标出发射位置和接收位置。

: scatter3 (tx.AntennaPosition (1), tx.AntennaPosition (2:), tx.AntennaPosition (3:)“老”“填充”);: scatter3 (rx.AntennaPosition (1), rx.AntennaPosition (2:), rx.AntennaPosition (3:)“某人”“填充”);

为笛卡尔坐标创建光线跟踪传播模型。指定光线追踪方法为拍摄和反射光线(SBR)。将表面材料设置为木材。

点= propagationModel (“raytracing”“coordinateystem”“笛卡儿”...“方法”“sbr”“MaxNumReflections”2,“surfacematerial”“木”);

执行Ray跟踪并使用Comm.Ray对象保存计算的光线

Rays = Raytrace(TX,RX,PM,“地图”, mapFileName);光线= {1};

在3D地图中可视化射线。

i = 1:长度(光线)如果光(我)。lineOfSight propPath = [rays(i).TransmitterLocation,...光线(i).ReceiverLocation];其他的proppath = [光线(i).transmitterlocation,...光(我)。ReflectionLocations,...光线(i).ReceiverLocation];结束行(proppath(1,:),proppath(2,:),proppath(3,:),'颜色'“青色”);结束

图中包含一个坐标轴。坐标轴包含12个类型为patch, scatter, line的对象。

输入参数

全部折叠

接收器位置,指定为rxsite.对象或数组rxsite.对象。如果将发射器站点指定为阵列,则传播路径将从每个发送器绘制到每个接收器站点。

变送器站点,指定为aTXSITE.对象或数组TXSITE.对象。如果将接收站点指定为阵列,则绘制从每个发射机到每个接收站点的传播路径。

传播模型,指定为字符向量,字符串或使用的射线跟踪传播模型propagationModel函数。默认的传播模型是射线追踪的,一种采用图像法的光线追踪传播模型。

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

示例:“类型”、“力量”

要绘制的数量的类型,指定为逗号分隔的对,由'类型'“权力”dBm或“pathloss”在dB中。

当你指定“权力”,每个路径根据路径的接收功率进行颜色编码。当你指定“pathloss”,每个路径根据路径的路径损耗进行颜色编码。

采用Friis方程计算接收功率:

P r x P t x + G t x + G r x l l t x l r x

地点:

  • P处方是路径的接收力。

  • Ptx是tx.TransmitterPower中定义的发射功率。

  • Gtx为tx在偏离角(AoD)方向的天线增益。

  • G处方为rx在到达角方向上的天线增益。

  • l为沿路径计算的路径损耗。

  • ltx是tx.SystemLoss中定义的发射机系统损失。

  • l处方是rx.SystemLoss中定义的接收机的系统损失。

数据类型:char

射线追踪分析的传播模型类型,指定为逗号分隔对,由“PropagationModel”射线追踪的或者一个射线追踪传播模型propagationModel函数。如果您指定射线追踪的,那么光线跟踪函数使用图像方法计算传播路径。

使用拍摄和弹跳射线(SBR)方法执行射线跟踪分析,请指定使用的传播模型propagationModel函数。这段代码展示了如何创建使用SBR方法的传播模型。

点= propagationModel (射线追踪的“方法”'SBR');

有关图像与SBR方法之间的差异的信息,请参阅选择传播模型

数据类型:char

使用射线追踪在传播路径中搜索的反射数,指定为逗号分隔对,由“NumReflections”和一个数字行向量,其元素是01,或2

默认值将搜索视线传播路径和单反射传播路径。

此参数仅支持使用图像方法的光线追踪传播模型。金宝app对于使用SBR方法的射线追踪传播模型,指定maxnumreflections.属性替换为传播模型。有关更多信息,请参见propagationModel函数。

数据类型:双人间

用于着色传播路径的彩色图,指定为包括的逗号分隔对'colormap'和一个预定义的颜色地图名称或-3阵列的RGB(红色,蓝色,绿色)三胞胎定义个人色彩。

数据类型:char|双人间

颜色映射的颜色限制,指定为逗号分隔对,由“ColorLimits”以及形式为[min max]的两元素数字行向量。颜色限制的单位和默认值取决于'类型'参数:

  • “权力”—单位为“dBm”,默认值为-120年[5]

  • “pathloss”—单位为dB,默认值为[45 160]

颜色限制指示映射到颜色映射中的第一个和最后一个颜色的值。不绘制值低于最小颜色限制的传播路径。

数据类型:双人间

在地图上显示颜色图例,指定为逗号分隔对,由“ShowLegend”真正的

数据类型:逻辑

用于可视化或表面数据的Map,指定为逗号分隔的对,由'地图根据坐标系的不同,有以下几种情况:

坐标系 有效地图值 默认映射值
“地理”
  • siteviewer一个

  • 如果使用输出参数调用函数,则可以指定地形名称。有效的地形名称是“没有”'GMTED2010',或自定义地形数据的名称addcustomterrain

  • 当前siteviewer或新的siteviewer,如果没有打开。

  • 'GMTED2010'如果使用输出调用。

笛卡儿的 “没有”,三角剖分对象或STL文件名称。 “没有”

一个边界和区域标签的对齐是数据供应商提供的功能的演示,并且不暗示MathWorks的认可®

数据类型:char|字符串

输出参数

全部折叠

射线配置,返回为-N单元阵列,发射点的数量是多少N为接收站点的数量。每个单元格元素是的行向量comm.Ray对象表示在相应的发射端和接收端之间发现的所有射线。数组中。在每个行向量中comm.Ray物体通过增加反射次数来排序,当反射次数相等时,它们通过增加传播距离来排序。

另请参阅

|

介绍了R2019b