主要内容

光线跟踪

显示或计算射频传播射线

描述

光线跟踪函数绘制或计算传播路径,方法定义的曲面几何图形使用射线跟踪“地图”财产。每个绘制的传播路径根据路径上的接收功率(dBm)或路径损耗(dB)进行颜色编码。射线追踪分析包括表面反射,但不包括衍射、折射或散射的影响。该功能的工作频率为100mhz ~ 100ghz。有关更多信息,请参见选择一个传播模型

例子

光线跟踪(tx处方显示发射机站点的传播路径(tx)传送至接收地点(处方)在当前站点查看器中使用射击和反射射线(SBR)方法,最多可反射两次。

例子

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

光线跟踪(___名称,值除以前语法中的输入参数外,还使用一个或多个名称-值参数指定选项。

射线=光线跟踪(___返回传播路径射线

例子

全部折叠

使用带有SBR方法的射线跟踪分析显示芝加哥的反射传播路径

发射场观众与建筑物在芝加哥。有关osm文件的详细信息,请参见[1]

查看器= siteviewer(“建筑”“chicago.osm”);

在一个建筑物上创建一个发射机站点,在另一个建筑物附近创建一个接收机站点。

Tx = txsite(“人肉搜索”, 41.8800,...“经”, -87.6295,...“TransmitterFrequency”, 2.5 e9);显示(tx) rx = rxsite“人肉搜索”, 41.8813452,...“经”, -87.629771,...“AntennaHeight”, 30);显示(rx)

显示视线有障碍。

洛杉矶(tx, rx)

显示反射传播路径使用射线追踪最多两个反射。

光线跟踪(tx, rx)

附录

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

发射场观众与建筑物在芝加哥。有关osm文件的详细信息,请参见[1]

查看器= siteviewer(“建筑”“chicago.osm”);

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

Tx = txsite(“人肉搜索”, 41.8800,...“经”, -87.6295,...“TransmitterFrequency”, 2.5 e9);

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

Rx = rxsite(“人肉搜索”, 41.881352,...“经”, -87.629771,...“AntennaHeight”, 30);

利用射线跟踪传播模型计算信号强度。光线跟踪模型默认使用SBR方法,并进行视线分析和二次反射分析。

pm =传播模型(“射线”);sstwreflflections = sigstrength(rx,tx,pm)
sstwreflections = -54.3015

绘制带有两个反射的SBR的传播路径。

光线跟踪(tx, rx点)

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

点。米一个xNumReflections=5; ssFiveReflections = sigstrength(rx,tx,pm)
ssfireflflections = -53.3889

用完美反射镜替换默认的混凝土材质,观察材质效果。

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

绘制带有5个反射的SBR的传播路径。

光线跟踪(tx, rx点)

附录

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

计算香港物质反射和大气造成的路径损失。配置一个光线跟踪模型,使用射击和反射射线(SBR)方法,最多5个反射。

发射场查看器与香港的建筑物。有关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);

创建一个射线追踪传播模型,以实现最多5个反射的完美反射。指定射线跟踪方法为射击和反弹射线(SBR)。

pm =传播模型(“射线”...“方法”“sbr”...“AngularSeparation”“低”...“MaxNumReflections”5,...“BuildingsMaterial”“perfect-reflector”...“TerrainMaterial”“perfect-reflector”);

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

光线跟踪(tx, rx,点,“类型”“pathloss”) raysPerfect = raytrace(tx,rx,pm,“类型”“pathloss”);plPerfect = [raysPerfect{1}.]PathLoss]
plPerfect =1×13104.2656 103.5720 112.0095 109.3152 111.2814 112.0011 112.4436 108.1516 111.2827 111.3898 117.7513 116.5894 117.7638

通过在传播模型中设置建筑和地形材料类型,配置材料反射损失后,重新计算和可视化传播路径。第一个值保持不变,因为它对应于视线传播路径。

点。BuildingsMaterial =“玻璃”;点。TerrainMaterial =“具体”;光线跟踪(tx, rx,点,“类型”“pathloss”) raysMtrls = raytrace(tx,rx,pm,“类型”“pathloss”);plMtrls = [raysMtrls{1}.]PathLoss]
plMtrls =1×13104.2656 106.1294 119.2408 121.2477 122.4096 121.5561 126.9482 124.1615 122.8182 127.5476 139.0676 140.5833 153.3285

通过增加大气传播模型,重新计算和可视化了有大气损失的传播路径。

pm = pm +传播模型(“雨”+ propagationModel(“气”);光线跟踪(tx, rx,点,“类型”“pathloss”) raysatmosphere = raytrace(tx,rx,pm,“类型”“pathloss”);plAtmospheric = [raysAtmospheric{1}.]PathLoss]
plAtmospheric =1×13105.3245 107.1891 121.8260 123.1432 124.9966 124.1453 129.6661 126.0578 125.4086 130.2655 143.0507 144.5666 157.3145

附录

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

这个例子展示了如何:

  • 缩放STL文件,使模型使用米为单位。

  • 在站点查看器中查看缩放模型。

  • 使用射线跟踪来计算和显示从发射机到接收机的传播路径。

当笛卡儿txsite而且rxsite对象需要米为单位的位置坐标,STL文件可能使用其他单位。如果STL文件不使用度量,则必须在将模型导入Site Viewer之前缩放它。

读取STL文件作为三角测量对象。该文件模拟了一个有一张桌子和四把椅子的小会议室。

TR = stlread(“conferenceroom.stl”);

缩放坐标并创建一个新的三角测量对象。在本例中,假设从STL单位到米的转换系数为0.9

量表= 0.9;scaledPts = TR.Points * scale;TR_scaled =三角测量(TR.ConnectivityList,scaledPts);

查看新三角测量对象使用站点查看器。或者,您可以保存新的三角测量对象作为STL文件stlwrite函数。

查看器= siteviewer(“SceneModel”, TR_scaled);

创建并显示一个靠近墙壁的发送站点和一个桌子下面的接收站点。使用以米为单位的笛卡尔坐标指定位置。

Tx = txsite(“笛卡儿”...“AntennaPosition”, (-1.25;-1.25;1.9),...“TransmitterFrequency”, 2.8 e9);显示(tx,“ShowAntennaHeight”rx = rxsite(“笛卡儿”...“AntennaPosition”, (0.3;0.2;0.5]);显示(rx,“ShowAntennaHeight”假)

通过左键单击进行平移,通过右键单击或使用滚轮进行缩放,通过单击中间按钮并拖动或按下来旋转可视化Ctrl左键点击和拖动。

创建笛卡尔坐标下的射线跟踪传播模型。指定射线跟踪方法为射击和反弹射线(SBR)。计算到的射线2反射。设置表面材质为木头。

pm =传播模型(“射线”...“CoordinateSystem”“笛卡儿”...“方法”“sbr”...“MaxNumReflections”2,...“SurfaceMaterial”“木”);

计算传播路径并将结果返回为comm.Ray对象。提取并绘制射线。

R = raytrace(tx,rx,pm);R = R {1};图(右)

单击某条射线,查看该射线的信息。

输入参数

全部折叠

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

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

类型创建的传播模型,指定为字符向量、字符串或光线跟踪传播模型propagationModel函数。默认为射线追踪的,一个使用SBR方法的光线跟踪传播模型,最大反射数设置为2

若要指定计算不同反射数的光线跟踪传播模型,请创建射线追踪对象,使用propagationModel函数,并设置MaxNumReflections财产。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

要绘制的数量类型,指定为逗号分隔的对,由“类型”而且“权力”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在离角方向上的天线增益。

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

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

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

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

数据类型:字符

用于射线跟踪分析的传播模型类型,指定为由逗号分隔的对组成“PropagationModel”而且射线追踪的或创建的射线跟踪传播模型propagationModel函数。如果你指定射线追踪的,则光线跟踪函数通过使用最多2个反射的SBR方法计算传播路径,用于光线跟踪传播模型对象配置

方法创建的传播模型,可改为使用图像方法执行射线跟踪分析propagationModel函数。这段代码展示了如何创建使用图像方法的传播模型。

pm =传播模型(射线追踪的“方法”“图像”);

有关图像和SBR方法之间差异的信息,请参见选择一个传播模型

数据类型:字符

颜色映射的颜色限制,指定为由逗号分隔的对组成“ColorLimits”和一个形式为[min max]的两元素数值行向量。属性的值决定颜色限制的单位和默认值“类型”参数:

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

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

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

数据类型:

用于着色传播路径的Colormap,指定为由逗号分隔的对组成“Colormap”和一个预定义的彩色地图名称或定义的RGB(红、蓝、绿)三元组的-by-3数组个人色彩。

数据类型:字符|

在地图上显示颜色图例,由逗号分隔的对组成“ShowLegend”而且真正的

数据类型:逻辑

用于可视化或表面数据的地图,指定为siteviewer对象,三角测量对象、字符串标量或字符向量。有效值和默认值取决于坐标系统。

坐标系统 有效的映射值 默认映射值
“地理”
  • 一个siteviewer对象一个

  • 如果使用输出参数调用函数,则为地形名称。有效的地形名称为“没有”“gmted2010”,或添加的自定义地形数据的名称addCustomTerrain

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

  • “gmted2010”,如果使用输出调用该函数。

“笛卡儿”
  • “没有”

  • 一个siteviewer对象。

  • STL文件的名称。

  • 一个三角测量对象。

  • “没有”

一个边界和区域标签的对齐是数据供应商提供的特性的表示,并不意味着得到MathWorks的认可®

数据类型:字符|字符串

输出参数

全部折叠

Ray配置,返回为a——- - - - - -N单元格数组是发射点的数量和N是接收站点的数量。每个单元格元素都是的行向量comm.Ray表示在相应的发射点和接收点之间发现的所有射线的对象。在每个行向量中comm.Ray具有相同发射机到接收机交互类型的对象被分组在一起,分组按字母顺序排序,然后按反射的升序排序。在每一组中,射线按传播距离的增加排列。

版本历史

R2019b引入

全部展开