主要内容

comm.RayTracingChannel

通过传播射线定义的多径衰落信道对信号进行滤波

描述

comm.RayTracingChannel系统对象™通过由传播射线定义的多径衰落信道对信号进行滤波。有关更多信息,请参见通道脉冲响应部分。

通过传播射线定义的衰落信道对输入信号进行滤波:

  1. 创建comm.RayTracingChannel对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

rtchan= comm.RayTracingChannel创建射线跟踪衰落通道系统对象,该对象使用一组传播射线定义多路径环境。

rtchan= comm.RayTracingChannel (的名字价值使用一个或多个名称-值参数设置属性。例如,“SampleRate”,1 e6设置采样速率为1mhz。

例子

rtchan= comm.RayTracingChannel (射线tx处方创建给定输入的光线跟踪衰落通道系统对象射线tx,处方

使用此语法时,要配置其他属性,请在创建System对象后设置它们的值。例如,请参见配置光线跟踪通道的采样速率

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

输入信号采样率(以赫兹为单位),指定为正标量。的配置光线跟踪通道的采样速率示例显示设置采样率的工作流程。

数据类型:

传播射线,用a表示comm.Ray对象的行向量comm.Ray对象的行单元格数组comm.Ray对象。此属性指定发射和接收天线阵列之间的传播射线。所有指定的comm.Ray对象必须具有相同的属性频率属性设置。任何指定的comm.Ray对象的PathSpecification属性设置为“位置”必须有相同的CoordinateSystemTransmitterLocation,ReceiverLocation属性设置。

对于代码生成,使用PropagationRays属性的单元格数组comm.Ray对象。

数据类型:对象|细胞

选项,强制最小传播延迟为零,指定为逻辑1真正的)或0).将此属性设置为真正的用射线的所有传播延迟减去最小传播延迟,使最小延迟为零。有关更多信息,请参见提示部分。

数据类型:逻辑|

发射天线阵列,指定为这些选项之一。

  • 当你设置TransmitArray到一个arrayConfig对象,可以调整大小的属性arrayConfig对象,使发射阵列表示均匀矩形阵列(URA)、均匀线性阵列(ULA)或单个分阶段。IsotropicAntennaElement系统对象。的默认配置arrayConfig对象是一个2乘2的URA,元素间距为0.5米。

  • 在配置TransmitArray要使用相控阵天线系统对象,必须具备相控阵系统工具箱产品。有关这些额外受支持值的列表,请参见金宝app相控阵天线选项部分。

发射天线阵列的方向轴,指定为3 × 3单位矩阵,表示从局部坐标系(LCS)到全局坐标系(GCS)的旋转。如果comm.Ray中定义的对象PropagationRays属性设置为CoordinateSystem财产“地理”, GCS是发射机的东-北-上(ENU)坐标系。

数据类型:

接收天线阵列,指定为这些选项之一。

  • 当你设置ReceiveArray到一个arrayConfig对象,可以调整大小的属性arrayConfig对象,使接收数组表示均匀矩形阵列(URA)、均匀线性阵列(ULA)或单个分阶段。IsotropicAntennaElement系统对象。的默认配置arrayConfig对象是一个2乘2的URA,元素间距为0.5米。

  • 当你设置ReceiveArray对于相控阵天线系统的对象配置,必须具备相控阵系统工具箱产品。有关这些额外受支持值的列表,请参见金宝app相控阵天线选项部分。

接收天线阵列的方向轴,指定为3 × 3单位矩阵,指示从LCS到GCS的旋转。如果comm.Ray中定义的对象PropagationRays属性设置为CoordinateSystem财产“地理”, GCS为接收器处的东-北-上(ENU)坐标系。

数据类型:

接收天线阵列在GCS中的瞬时速度,单位为m/s,指定为形式为[xyz].这个向量中的三个元素指定了x- - - - - -,y- - - - - -,z分别速度。如果comm.Ray中定义的对象PropagationRays属性设置为CoordinateSystem财产“地理”, GCS为接收器处的东-北-上(ENU)坐标系。

数据类型:

规正化通道脉冲响应的选项,以逻辑方式指定1真正的)或0).将此属性设置为真正的将从每个发射数组元素到每个接收数组元素的cir增益归一为0 dB。

数据类型:逻辑

选项,按接收元素的数量规范通道输出,作为逻辑元素指定1真正的)或0).将此属性设置为真正的按接收数组元素的数量规范化通道输出。

数据类型:逻辑

通道过滤,指定为以下逻辑值之一:

  • 1真正的通道接受一个输入信号并产生一个经过过滤的输出信号。

  • 0-该对象不接受输入信号,不产生滤波输出信号,只输出通道脉冲响应。属性指定衰落过程的持续时间NumSamples财产。

数据类型:逻辑|

用于通道脉冲响应持续时间的采样数,指定为非负整数。

可调:是的

依赖关系

属性可启用此属性ChannelFiltering财产

数据类型:

通道脉冲响应输出数据类型,指定为“双”“单一”

依赖关系

属性可启用此属性ChannelFiltering财产

数据类型:字符|字符串

使用

描述

例子

y= rtchan (x通过由一组传播射线定义的多径衰落信道对输入信号进行滤波,并返回结果y

y= rtchan (x开始时间指定输入信号的开始时间。当最后一帧和当前帧在时间上不是连续的时,System对象将重置通道过滤器状态。

y圆形的= rtchan(___还使用前面任何一种语法的输入参数组合返回通道脉冲响应。

圆形的= rtchan ()返回通道脉冲响应。要启用此语法,请设置ChannelFiltering财产

圆形的= rtchan (开始时间指定通道脉冲响应生成的开始时间。要启用此语法,请设置ChannelFiltering财产

输入参数

全部展开

输入信号,指定为N年代——- - - - - -NT矩阵。

  • N年代是样本的数量。

  • NT发送数组元素的个数。

数据类型:|
复数支持:金宝app是的

输入信号的开始时间(以秒为单位),指定为非负标量。

国防部开始时间/SampleRate为非零,则开始时间四舍五入到最近的样本位置。起始时间必须大于通道处理的最后一帧的结束时间。您可以使用信息函数获取最后处理帧的结束时间。

数据类型:

输出参数

全部展开

输出信号,返回为N年代——- - - - - -NR矩阵。

  • N年代是样本的数量。

  • NR接收数组元素的个数。

y输入的数据类型是否相同x

通道脉冲响应,返回为anN年代——- - - - - -NP——- - - - - -NT——- - - - - -NR数组中。

  • N年代是样本的数量。当你设置ChannelFiltering财产真正的N年代是输入的长度。当你设置ChannelFilteringN年代NumSamples财产。

  • NP路径的数量(具体地说,射线的数量是由PropagationRays属性)。

  • NT发送数组元素的个数。

  • NR接收数组元素的个数。

当你设置ChannelFiltering真正的,此输出的数据类型与输入的数据类型相同x.当你设置ChannelFiltering时,此输出的数据类型由OutputDataType财产。

有关更多信息,请参见通道脉冲响应部分。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

信息 射线跟踪通道的特征信息
showProfile 绘制射线追踪通道的时空剖面图
克隆 创建重复的系统对象
isLocked 确定系统对象正在使用中
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

显示不强制多路径信道模型的最小传播延迟为零的影响。透过中国香港两地间的多径射线追踪通道过滤讯号。利用射线追踪的结果,建立了两个多径通道模型。对于第一个射线跟踪通道模型,强制最小传播延迟为零。对于第二射线跟踪通道模型,不要将最小传播延迟强制为零。

创建香港建筑物的Site Viewer地图显示。有关OSM文件的详细信息,请参见[1]

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

Tx = txsite(...“人肉搜索”, 22.2789,...“经”, 114.1625,...“AntennaAngle”30岁的...方位角“AntennaHeight”10...“TransmitterFrequency”, 28日e9);Rx = rxsite(...“人肉搜索”, 22.2799,...“经”, 114.1617,...“AntennaAngle”, 120,...方位角“AntennaHeight”1);

使用图像方法创建带有最多两个反射的射线跟踪传播模型。使用传播模型执行射线跟踪以查找射线。

pm =传播模型(“射线”...“方法”“图像”...“MaxNumReflections”2);射线= raytrace(tx,rx,pm);

使用在发射机和接收机之间的计算射线创建一个通道模型。默认配置强制最小传播延迟为零。显示通道的时间和空间轮廓。

rtchan = com . raytracingchannel(射线{1},tx,rx);rtchan。年代ampleRate = 50e6; showProfile(rtchan);

创建光线跟踪通道模型的克隆,并重新配置它,使其不强制最小传播延迟为零。显示通道的时间和空间轮廓。起飞角和到达角图没有改变,但当最小延迟曲线不强制为零时,功率延迟曲线图显示了更新后的延迟曲线结果。

rtchandelayed =克隆(rtchan);rtchandelayed。MinimizePropagationDelay = false;showProfile (rtchandelayed);

通过信道模型对随机产生的16-QAM信号进行滤波。的前15个元素y而且ydelayedm,由光线跟踪通道对象输出rtchan而且rtchandelayed,分别。延迟信号y中的领先样本延迟,都是零。在建模通信系统时,必须考虑到这种信号延迟,以避免丢失尾随信号数据。

M = 16;调制阶数frmLen = 1e3;帧长%numTx = rtchan.info.NumTransmitElements;x = qammod(randi([0,M-1],frmLen,numTx),M);Y = rtchan(x);numTxdelayed = rtchandelayed.info.NumTransmitElements;x = qammod(randi([0,M-1],frmLen,numTxdelayed),M);Ydelayed = rtchandelayed(x);y (1:15)
ans =15×1复杂-0.0000 -0.0000 i -0.0000 -0.0000 i 0.0000 + 0.0000i -0.0000 -0.0000 i 0.0003 + 0.0011i -0.0021 - 0.0110i 1.0170 - 0.0080i -1.0599 - 2.0081i -3.0953 + 0.0620i
ydelayed (1:15)
ans =15×10 0 0 0 0 0 0 0 0 0 0 0 ` `

附录

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

通过会议室中两个站点之间的多路径射线跟踪通道模型对信号进行滤波。利用射线追踪结果建立多径通道模型。

使用标准镶嵌语言(STL)数据文件为一个有一张桌子和四把椅子的会议室定义一个3d地图。定义一个靠近墙壁的发射点和一个桌子上方的接收点。

mapFileName =“conferenceroom.stl”;Tx = txsite(笛卡儿的...“AntennaPosition”, (-1.45;-1.4;2.3),...“TransmitterFrequency”, 2.8 e9);Rx = rxsite(笛卡儿的...“AntennaPosition”, (6;2;1.0]);

使用siteviewer对象和显示对象函数来可视化三维场景。发射器和接收器分别用红色和蓝色表示。

siteviewer (SceneModel = mapFileName);显示(tx,“ShowAntennaHeight”、假);显示(rx,“ShowAntennaHeight”、假);

使用射击-反弹-射线(SBR)方法创建一个包含最多三个反射的射线跟踪传播模型。使用传播模型执行射线跟踪以查找射线。

pm =传播模型(射线追踪的...“CoordinateSystem”笛卡儿的...“方法”“sbr”...“MaxNumReflections”3);射线= raytrace(tx,rx,pm,“地图”, mapFileName);

从返回的单元格数组中提取计算出的射线,然后绘制这些射线。每条射线都根据其路径损耗值进行着色。

射线=射线{1,1};情节(射线)

使用在发射机和接收机之间的计算射线创建一个通道模型。显示通道的时间和空间轮廓。

rtchan = com . raytracingchannel(射线,tx,rx);showProfile (rtchan);

图中包含3个轴对象。标题为Power Delay Profile的Axes对象1包含一个类型为stem的对象。轴对象2与标题角度出发包含7对象类型颤抖,文本。轴对象3与标题角度的到达包含7对象类型颤抖,文本。

通过信道对随机产生的16-QAM信号进行滤波。默认采样率为10e6时,信道频率响应是平坦的。将采样率提高到1e9会产生频率选择通道。在星座图中显示平面频率响应信道和频率选择信道的滤波信号。

M = 16;调制阶数frmLen = 1e3;帧长%numTx = rtchan.info.NumTransmitElements;x = qammod(randi([0,M-1],frmLen,numTx),M);Y_samprate10e6 = rtchan(x);释放(rtchan);rtchan。年代ampleRate = 1e9; y_samprate1e9 = rtchan(x); constellationdiag = comm.ConstellationDiagram(...NumInputPorts = 2,...ChannelNames = {...“平坦频率响应通道”“频率选择通道”},...XLimits = 5 [5],...YLimits = 5 [5],...ReferenceConstellation = qammod (0: M - 1 M));constellationdiag (y_samprate10e6 (:), y_samprate1e9);

如果要修改光线跟踪通道的采样率,可以设置SampleRate属性创建对象时使用名称-值参数,也可以使用射线和站点创建通道模型并设置SampleRate属性。

创建光线跟踪通道对象时设置采样率

创建一个光线跟踪通道模型,指定采样率为20 MHz。

rtchan1 = com . raytracingchannel (SampleRate=2e7)
rtchan1 = com . raytracingchannel with properties: SampleRate: 20000000 PropagationRays: [1x1 comm.Ray] MinimizePropagationDelay: true TransmitArray: [1x1 arrayConfig] TransmitArrayOrientationAxes: [3x3 double] ReceiveArray: [1x1 arrayConfig] ReceiveArrayOrientationAxes: [3x3 double] ReceiverVirtualVelocity: [3x1 double] normalizesuppresserespses: true NormalizeChannelOutputs: true ChannelFiltering: true

创建光线跟踪通道对象后设置采样率

通过使用发射机站点、接收机站点和站点之间的计算射线来创建通道模型。创建对象后,将采样速率设置为20 MHz。

Tx = txsite(...“人肉搜索”, 22.2789,...“经”, 114.1625,...“AntennaAngle”30岁的...方位角“AntennaHeight”10...“TransmitterFrequency”, 28日e9);Rx = rxsite(...“人肉搜索”, 22.2799,...“经”, 114.1617,...“AntennaAngle”, 120,...方位角“AntennaHeight”1);pm =传播模型(“射线”...“方法”“sbr”...“MaxNumReflections”3);射线= raytrace(tx,rx,pm);rtchan2 = com . raytracingchannel(射线{1},tx,rx);rtchan2。年代ampleRate = 2e7
rtchan2 = com . raytracingchannel with properties: SampleRate: 20000000 PropagationRays: [1x2 comm.Ray] MinimizePropagationDelay: true TransmitArray: [1x1 arrayConfig] TransmitArrayOrientationAxes: [3x3 double] ReceiveArray: [1x1 arrayConfig] ReceiveArrayOrientationAxes: [3x3 double] ReceiverVirtualVelocity: [3x1 double] normalizesuppresserespses: true NormalizeChannelOutputs: true ChannelFiltering: true

在配置信道对象之后,您通常会通过信道对调制信号进行过滤。在这里,一个16-QAM信号通过rtchan2光线追踪通道。

modOrd = 16;frmLen = 1e3;numTx = rtchan2.info.NumTransmitElements;x = qammod(randi([0,modOrd-1],frmLen,numTx),modOrd);Y = rtchan2(x);

更多关于

全部展开

提示

  • 当你设置MinimizePropagationDelay财产真正的,系统对象移动所有传播延迟路径,以删除与最小传播延迟路径相关的延迟量。移动路径消除了通道输出中潜在的前导零,并消除了考虑接收跟踪信号样本的延迟的需要。

扩展功能

另请参阅

对象

功能

R2020b中介绍