光线跟踪
描述
例子
阻塞和反射路径使用光线追踪
显示反射传播路径在芝加哥使用光线追踪传播模型。
在芝加哥发射场观众与建筑。关于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)
显示与反射传播路径。默认情况下,光线跟踪
函数使用SBR法和计算与两反射传播路径。
光线跟踪(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);
创建一个传播射线跟踪模型,用MATLAB®代表使用射线追踪
对象。默认情况下,传播模型使用了SBR法,发现传播路径与两表面反射。
点= propagationModel (“射线”);
计算信号强度使用接收方网站,发射机的网站,传播模型。
ssTwoReflections = sigstrength (rx, tx, pm)
ssTwoReflections = -54.3015
情节的传播路径。
光线跟踪(tx, rx点)
改变射线追踪
对象找到路径5
反射。然后,重新计算信号强度。
点。米一个xNumReflections=5;ssFiveReflections = sigstrength (rx, tx, pm)
ssFiveReflections = -53.3889
默认情况下,射线追踪
对象假设混凝土建筑和地形资料。改变建筑和地形模型完美的电导体材料类型。
点。BuildingsMaterial =“perfect-reflector”;ssPerfect = sigstrength (rx, tx, pm)
ssPerfect = -39.6711
情节的传播路径更新传播模型。
光线跟踪(tx, rx点)
附录
[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);
创建一个传播射线跟踪模型,用MATLAB代表使用射线追踪
对象。配置模型使用一个较低的平均数量的发射射线之间的度,找到路径5路径反射,和使用建筑和地形模型完美的电导体的材料类型。默认情况下,模型使用SBR法。
点= propagationModel (“射线”,…“MaxNumReflections”5,…“AngularSeparation”,“低”,…“BuildingsMaterial”,“perfect-reflector”,…“TerrainMaterial”,“perfect-reflector”);
形象化的传播路径和计算相应的路径损失。
光线跟踪(tx, rx,点,“类型”,“pathloss”rx) raysPerfect =光线跟踪(tx,点,“类型”,“pathloss”);plPerfect = [raysPerfect {1} .PathLoss]
plPerfect =1×13104.2656 103.5699 112.0092 109.3137 111.2840 111.9979 112.4416 108.1505 111.2825 111.3904 117.7506 116.5906 117.7638
设置建筑和地形玻璃和混凝土材料类型,分别。然后,revisualize传播路径和重新计算相应的路径损失。因为模型发现少一个路径,默认情况下,模型丢弃路径超过40分贝弱于最强的路径。第一个路径损耗值不会改变,因为它对应于视距传播路径。
点。BuildingsMaterial =“玻璃”;点。TerrainMaterial =“具体”;光线跟踪(tx, rx,点,“类型”,“pathloss”rx) raysMtrls =光线跟踪(tx,点,“类型”,“pathloss”);plMtrls = [raysMtrls {1} .PathLoss]
plMtrls =1×12104.2656 106.1290 119.2409 121.2488 122.4103 121.5566 126.9462 124.1624 122.8190 127.5473 139.0664 140.5822
结合大气损失增加雨水和气体传播模型射线追踪模型。然后,revisualize传播路径和重新计算相应的路径损失。
点=点+ propagationModel (“雨”)+ propagationModel (“气”);光线跟踪(tx, rx,点,“类型”,“pathloss”rx) raysAtmospheric =光线跟踪(tx,点,“类型”,“pathloss”);plAtmospheric = [raysAtmospheric {1} .PathLoss]
plAtmospheric =1×12105.3245 107.1887 121.8261 123.1442 124.9972 124.1457 129.6641 126.0587 125.4094 130.2653 143.0496 144.5656
附录
[1]osm文件下载https://www.openstreetmap.org,它提供了访问世界各地的众包地图数据。数据开放数据共享开放数据库许可下的(ODbL),https://opendatacommons.org/licenses/odbl/。
可视化在会议室光线追踪
这个例子展示了如何:
规模一个STL文件的模型使用单位米。
在网站查看器查看按比例缩小的模型。
使用射线追踪计算和显示传播路径从发射机到接收机。
当笛卡儿txsite
和rxsite
对象需要位置坐标以米、STL文件可能使用其他单位。如果您的STL文件不使用米,您之前必须规模模型导入到网站查看器。
读一个STL文件作为一个三角测量
对象。文件模型的一个小会议室里有一个桌子和四把椅子。
TR = stlread (“conferenceroom.stl”);
坐标和创建一个新的规模三角测量
对象。对于这个示例,假设的转换因子STL单位是米0.9
。
规模= 0.9;scaledPts = TR.Points *规模;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左击并拖动。
创建一个笛卡尔坐标系,射线跟踪传播模型的MATLAB代表使用射线追踪
对象。计算到的射线1
反射和1
衍射。集木材的表面材料。默认情况下,模型使用SBR法。
点= propagationModel (“射线”,…“CoordinateSystem”,“笛卡儿”,…。“MaxNumReflections”,1…“MaxNumDiffractions”,1…“SurfaceMaterial”,“木”);
计算并返回结果的传播路径的单元阵列comm.Ray
对象。提取和情节的射线。
r =光线跟踪(tx, rx点);r = {1};图(右)
视图信息射线通过点击它。
输入参数
tx
- - - - - -发射机的网站
txsite
对象|的数组txsite
对象
发射机的网站,作为一个指定txsite
对象或数组txsite
对象。如果您指定一个数组,然后从每个功能块传播路径发射机接收机的网站。
处方
- - - - - -接收机的网站
rxsite
对象|的数组rxsite
对象
接收机的网站,作为一个指定rxsite
对象或数组rxsite
对象。如果您指定一个数组,然后从每个功能块传播路径发射机接收机的网站。
propmodel
- - - - - -射线跟踪传播模型
“射线”
(默认)|射线追踪
对象
射线跟踪传播模型,指定为“射线”
或作为一个射线追踪
对象。默认值是“射线”
使用SBR法,发现路径两反射和衍射为零,和丢弃路径超过40 dB弱于最强的路径。
创建一个射线追踪
通过使用对象propagationModel
函数。射线追踪
对象允许您指定属性,如射线追踪方法,反射和衍射的最大数量,路径损耗的门槛,建筑和地形资料。
射线追踪方法之间的差异,信息选择一个传播模型。
数据类型:字符
|字符串
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
例子:光线跟踪(tx, rx,类型=“pathloss”)
基于路径损耗的颜色代码路径。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:光线跟踪(tx, rx,“类型”,“pathloss”)
基于路径损耗的颜色代码路径。
类型
- - - - - -类型的量
“权力”
(默认)|“pathloss”
情节类型的数量,指定为这些选项之一:
“权力”
——基于dBm的接收功率经过的路径。“pathloss”
基于路径损耗在dB -路径区分颜色。
的函数使用一个修改版本Friis传输方程来计算接收功率(对数单位):
地点:
P处方在接收机的接收功率。
Ptx指定的传输能量吗
TransmitterPower
发射机站点的属性。Gtx是绝对的发射机天线增益网站的方向离去角(AoD)。
G处方网站是绝对接收机的天线增益的方向的着陆角度(AoA)。
l是网站发射机和接收机之间的路径损耗。
ltx指定的系统损失吗
SystemLoss
发射机站点的属性。l处方指定的系统损失吗
SystemLoss
接收站点的属性。
数据类型:字符
|字符串
PropagationModel
- - - - - -类型的传播模型进行射线追踪分析
“射线”
(默认)|射线追踪
对象
传播模型,指定为“射线”
或作为一个射线追踪
对象。默认值是“射线”
使用SBR法,发现路径两反射和衍射为零,和丢弃路径超过40 dB弱于最强的路径。
创建一个射线追踪
通过使用对象propagationModel
函数。射线追踪
对象允许您指定属性,如射线追踪方法,反射和衍射的最大数量,路径损耗的门槛,建筑和地形资料。
射线追踪方法之间的差异,信息选择一个传播模型。
数据类型:字符
|字符串
ColorLimits
- - - - - -颜色限制colormap
双元素数字行向量
colormap颜色限制,双元素数值指定为一个行向量的形式(最小最大)
。
的单位和默认值依赖的价值类型
:
“权力”
在dBm -单位,默认值是-120年[5]
。“pathloss”
在dB -单位,默认值是[45 160]
。
颜色限制显示的值映射到colormap第一个和最后一个颜色。函数不阴谋传播路径值低于最低颜色限制。
数据类型:双
Colormap
- - - - - -Colormap着色传播路径
“喷气机”
(默认)|colormap名字|米3 RGB的数组
Colormap着色的传播路径,指定为Colormap名称或作为米3 RGB三胞胎定义的数组米个人色彩。colormap名称的更多信息,请参阅colormap
。
数据类型:字符
|字符串
|双
ShowLegend
- - - - - -在网站查看器显示颜色的传说
真正的
或1
(默认)|假
或0
显示颜色的传奇网站查看器,指定为一个数字或逻辑1
(真正的
)或0
(假
)。
地图
- - - - - -地图可视化或表面数据
siteviewer
对象|三角测量
对象|字符串标量|特征向量
地图可视化或表面数据,指定为一个siteviewer
对象,三角测量
对象、字符串标量或一个特征向量。有效和默认值取决于坐标系统。
坐标系统 | 有效的映射值 | 默认映射值 |
---|---|---|
“地理” |
|
|
“笛卡儿” |
|
|
一个对齐的边界和区域标签功能的演示数据提供的供应商,不意味着MathWorks背书®。 |
数据类型:字符
|字符串
输出参数
射线
——雷配置
米——- - - - - -N单元阵列的comm.Ray
对象
光线的配置,作为一个返回米——- - - - - -N单元阵列的comm.Ray
对象,米是发射机的数量网站和N是接收站点的数量。每个单元的元素是一个行向量comm.Ray
对象代表之间的传播路径(射线)发现相应的发射机接收机网站和网站。
在每一个行向量,该函数comm.Ray
对象按字母顺序由第一个互动类型。当第一个交互类型多个射线是相同的,函数根据第二交互类型和重复这个行为成功重复交互类型。当多个comm.Ray
对象有相同的数量和类型的交互顺序相同,通过增加传播距离的函数对象。如果视距路径,功能包括第一个元素。
版本历史
介绍了R2019bR2023a:射线跟踪模型基于路径损耗丢弃路径
射线跟踪传播模型丢弃传播路径基于路径损耗的阈值。默认情况下,当你指定propmodel
输入参数为“射线”
或者一个射线追踪
对象,传播模型丢弃路径超过40 dB弱于最强的路径。
结果,光线跟踪
函数可以返回不同的值在R2023a与以前版本相比。为了避免丢弃路径相对路径损耗阈值的基础上,创建一个射线追踪
对象(通过使用propagationModel
函数)和设置它MaxRelativePathLoss
财产正
。然后,使用对象作为输入光线跟踪
函数。
R2023a:与SBR法射线追踪计算路径使用增加精度
当你发现通过使用传播路径光线跟踪
函数与一个射线跟踪模型,使用射击和弹跳射线(SBR)方法,MATLAB®使用双精度浮点计算。计算结果在以前的版本中,这个函数使用单精度浮点计算。
结果,光线跟踪
函数可以返回不同的comm.Ray
与以前的版本相比,R2023a对象。
R2023a:NumReflections
名称-值参数已被删除
的NumReflections
名称-值参数已被删除。
相反,通过创建一个传播模型propagationModel
功能和指定MaxNumReflections
名称-值参数。然后,使用光线跟踪
函数与传播模型作为输入。这个代码显示了推荐的工作流。
点= propagationModel (“射线”MaxNumReflections = 3);射线=光线跟踪(tx, rx点);
R2022b:SBR法发现路径与精确的几何精度
当你发现传播路径采用SBR法,MATLAB纠正结果以便每条路径的几何精度准确,使用单精度浮点计算。在以前的版本中,路径近似几何精度。
例如,此代码发现发射机和接收机之间的传播路径通过使用默认SBR方法并返回路径comm.Ray
对象。在R2022b,光线跟踪
函数发现七传播路径。在更早的版本中,函数接近八传播路径,其中一个是重复的路径。
观众= = siteviewer(建筑“hongkong.osm”);tx = txsite(经度纬度= 22.2789 = 114.1625,AntennaHeight = 10,…TransmitterPower = 5, TransmitterFrequency = 28 e9);rx = rxsite(经度纬度= 22.2799 = 114.1617,AntennaHeight = 1);rx rSBR =光线跟踪(tx)光线跟踪(tx, rx)
R2022b | R2022a |
---|---|
rSBR = 1×1单元阵列{1×7 comm.Ray} |
rSBR = 1×1单元阵列{1×8 comm.Ray} |
路径计算采用SBR法在R2022b更紧密地与路径计算图像对齐方法。图像方法找到所有可能的路径与精确的几何精度。例如,这个代码使用图像方法找到相同的发射机和接收机之间的传播路径。
观众= = siteviewer(建筑“hongkong.osm”);tx = txsite(经度纬度= 22.2789 = 114.1625,…AntennaHeight = 10, TransmitterPower = 5,…TransmitterFrequency = 28 e9);rx = rxsite(经度纬度= 22.2799 = 114.1617,…AntennaHeight = 1);点= propagationModel (“射线”方法=“图像”,MaxNumReflections = 2);rImage =光线跟踪(tx, rx, pm)
rImage = 1×1单元阵列{1×7 comm.Ray}
在这种情况下,SBR法发现相同数量的传播路径图像的方法。在一般情况下,SBR法发现的一个子集路径发现图像的方法。当图像和SBR方法找到相同的路径,路径上的点是相同的机器精度的公差内单精度浮点值。
这段代码比较的路径损失,在宽容的0.0001
SBR和图像计算的方法。
abs ([rSBR {1} .PathLoss] - [rImage {1} .PathLoss]) < 0.0001
ans = 1×7逻辑数组1 1 1 1 1 1 1
指定的公差内的路径损失是一样的。
结果,光线跟踪
函数可以返回不同的结果与以前的版本相比,R2022b。
函数可以返回一个不同的数量的
comm.Ray
因为它丢弃对象无效或重复的路径。函数可以返回不同
comm.Ray
对象,因为它计算精确的路径,而不是近似路径。
R2022a:NumReflections
名称-值参数将被删除
的NumReflections
名称-值参数发出警告称,它将在未来的版本中被删除。
R2021b:光线跟踪
函数使用SBR法
从R2021b,光线跟踪
函数使用射击和弹跳射线(SBR)默认方法和计算两个倒影。在以前的版本中,光线跟踪
函数使用图像方法和计算一个反射。
显示或计算射频传播射线使用图像方法相反,通过创建一个传播模型propagationModel
函数。然后,使用光线跟踪
函数与传播模型作为输入。这个例子展示了如何更新你的代码。
点= propagationModel (射线追踪的,“方法”,“图像”);光线跟踪(tx, rx点)
SBR和图像信息的方法,请参阅选择一个传播模型。
从R2021b开始,所有射频传播功能默认使用SBR方法,计算两个倒影。有关更多信息,请参见默认的建模方法是射击和弹跳射线法。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。