光线跟踪
显示或计算射频传播射线
描述
例子
使用光线追踪的障碍物和反射路径
使用带有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};图(右)
单击某条射线,查看该射线的信息。
输入参数
tx
- - - - - -发射机的网站
txsite
对象|的数组txsite
对象
发射机站点,指定为txsite
对象的数组txsite
对象。如果将接收站点指定为数组,则将绘制从每个发送器到每个接收站点的传播路径。
处方
- - - - - -接收机的网站
rxsite
对象|的数组rxsite
对象
接收站点,指定为rxsite
对象的数组rxsite
对象。如果将发射机站点指定为阵列,则将绘制从每个发射机到每个接收机站点的传播路径。
propmodel
- - - - - -传播模型
特征向量|字符串|创建的射线跟踪传播模型propagationModel
类型创建的传播模型,指定为字符向量、字符串或光线跟踪传播模型propagationModel
函数。默认为射线追踪的
,一个使用SBR方法的光线跟踪传播模型,最大反射数设置为2
.
若要指定计算不同反射数的光线跟踪传播模型,请创建射线追踪
对象,使用propagationModel
函数,并设置MaxNumReflections
财产。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“类型”、“力量”
类型
- - - - - -要绘制的数量类型
“权力”
(默认)|“pathloss”
要绘制的数量类型,指定为逗号分隔的对,由“类型”
而且“权力”
dBm或“pathloss”
在dB。
当你指定“权力”
,每条路径根据路径上接收到的功率进行颜色编码。当你指定“pathloss”
,根据路径上的路径损耗对每条路径进行颜色编码。
采用Friis方程计算接收功率:
地点:
P处方
是沿路径接收的功率。Ptx
为tx.TransmitterPower中定义的发射功率。Gtx
为tx在离角方向上的天线增益。G处方
为rx在到达角(AoA)方向上的天线增益。l
是沿路径计算的路径损耗。ltx
为tx.SystemLoss中定义的发射机系统损耗。l处方
是rx.SystemLoss中定义的接收机的系统损耗。
数据类型:字符
PropagationModel
- - - - - -用于射线追踪分析的传播模型类型
射线追踪的
(默认)|创建的射线跟踪传播模型propagationModel
用于射线跟踪分析的传播模型类型,指定为由逗号分隔的对组成“PropagationModel”
而且射线追踪的
或创建的射线跟踪传播模型propagationModel
函数。如果你指定射线追踪的
,则光线跟踪
函数通过使用最多2个反射的SBR方法计算传播路径,用于光线跟踪传播模型对象配置
方法创建的传播模型,可改为使用图像方法执行射线跟踪分析propagationModel
函数。这段代码展示了如何创建使用图像方法的传播模型。
pm =传播模型(射线追踪的,“方法”,“图像”);
有关图像和SBR方法之间差异的信息,请参见选择一个传播模型.
数据类型:字符
ColorLimits
- - - - - -颜色地图的颜色限制
二元数字行向量
颜色映射的颜色限制,指定为由逗号分隔的对组成“ColorLimits”
和一个形式为[min max]的两元素数值行向量。属性的值决定颜色限制的单位和默认值“类型”
参数:
“权力”
—单位为dBm,默认值为-120年[5]
.“pathloss”
—单位为dB,默认值为[45 160]
.
颜色限制指示映射到颜色图中第一个和最后一个颜色的值。值低于最小颜色限制的传播路径不会被绘制。
数据类型:双
Colormap
- - - - - -用于着色传播路径的色图
“喷气机”
(默认)|预定义的颜色映射名称|米RGB的-by-3数组
用于着色传播路径的Colormap,指定为由逗号分隔的对组成“Colormap”
和一个预定义的彩色地图名称或米定义的RGB(红、蓝、绿)三元组的-by-3数组米个人色彩。
数据类型:字符
|双
ShowLegend
- - - - - -在地图上显示颜色图例
真正的
(默认)|假
在地图上显示颜色图例,由逗号分隔的对组成“ShowLegend”
而且真正的
或假
.
数据类型:逻辑
地图
- - - - - -用于可视化或地表数据的地图
siteviewer
对象|三角测量
对象|字符串标量|特征向量
用于可视化或表面数据的地图,指定为siteviewer
对象,三角测量
对象、字符串标量或字符向量。有效值和默认值取决于坐标系统。
坐标系统 | 有效的映射值 | 默认映射值 |
---|---|---|
“地理” |
|
|
“笛卡儿” |
|
|
一个边界和区域标签的对齐是数据供应商提供的特性的表示,并不意味着得到MathWorks的认可®. |
数据类型:字符
|字符串
输出参数
版本历史
R2019b引入R2022b:SBR方法具有精确的几何精度
当你用SBR方法找到传播路径时,MATLAB®使用单精度浮点计算修正结果,使每个路径的几何精度精确。在以前的版本中,路径具有近似的几何精度。
例如,这段代码通过使用默认的SBR方法查找发射器和接收器之间的传播路径,并将路径返回为comm.Ray
对象。在R2022b中,光线跟踪
函数找到7条传播路径。在早期版本中,该函数近似于8条传播路径,其中一条是重复路径。
(建筑=“hongkong.osm”);tx = txsite(纬度=22.2789,经度=114.1625,天线高度=10,...TransmitterPower = 5, TransmitterFrequency = 28 e9);rx = rxsite(纬度=22.2799,经度=114.1617,天线高度=1);rSBR = raytrace(tx,rx)
R2022b | R2022a |
---|---|
rSBR = 1×1单元阵列{1×7 com . ray} |
rSBR = 1×1单元阵列{1×8 com . ray} |
R2022b中使用SBR方法计算的路径与使用图像方法计算的路径更接近。图像方法以精确的几何精度找到所有可能的路径。例如,这段代码使用图像方法来查找同一发射机和接收机之间的传播路径。
(建筑=“hongkong.osm”);tx = txsite(纬度=22.2789,经度=114.1625,...AntennaHeight = 10, TransmitterPower = 5,...TransmitterFrequency = 28 e9);rx = rxsite(纬度=22.2799,经度=114.1617,...AntennaHeight = 1);pm =传播模型(“射线”方法=“图像”, MaxNumReflections = 2);rmage = raytrace(tx,rx,pm)
图像= 1×1单元阵列{1×7 com . 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 1
路径损耗在规定的公差范围内是相同的。
结果,光线跟踪
函数可以在R2022b中返回与以前版本不同的结果。
该函数可以返回不同数量的
comm.Ray
对象,因为它会丢弃无效或重复的路径。函数可以返回不同的值
comm.Ray
对象,因为它计算精确路径而不是近似路径。
R2022a:NumReflections
名称-值参数将被删除
的NumReflections
名称-值参数将在未来的版本中删除。的NumReflections
名称-值参数现在只适用于图像射线跟踪方法。方法创建传播模型propagationModel
使用其函数MaxNumReflections
名称-值参数。然后,使用光线跟踪
使用传播模型作为输入的函数。这个例子显示了推荐的工作流。
pm = propagationModel('光线追踪',…“方法”、“形象”、“MaxNumReflections ", 2);射线= raytrace(tx,rx,pm);
R2021b:光线跟踪
函数采用SBR方法
从R2021b开始,光线跟踪
函数使用射击和反射射线(SBR)方法,默认情况下最多计算两次反射。在以前的版本中,光线跟踪
函数使用图像方法并计算最多一个反射。
若要使用图像方法显示或计算RF传播射线,请使用propagationModel
函数。然后,使用光线跟踪
使用传播模型作为输入的函数。这个例子展示了如何更新代码。
pm =传播模型(射线追踪的,“方法”,“图像”);光线跟踪(tx, rx点)
有关SBR和图像方法的信息,请参见选择一个传播模型.
从R2021b开始,所有RF传播函数默认使用SBR方法并计算最多两次反射。有关更多信息,请参见默认的建模方法是射击和反射射线方法.
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。