主要内容

gnssSensor

模拟GNSS生成位置和速度读数

描述

gnssSensor系统对象™模拟全球导航卫星系统(GNSS),根据本地位置和速度数据生成位置和速度读数。该对象基于指定卫星的传感器时间和数据计算卫星位置和速度轨道参数.该对象仅使用全球定位系统(GPS)星座进行计算。要设置卫星的起始位置,请设置InitialTime财产。

生成GNSS位置和速度读数:

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

  2. 调用带有参数的对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

调用对象会增加传感器的时间,并根据轨道参数传播卫星位置和速度。

创建

描述

GNSS= gnssSensor返回一个gnssSensor系统对象GNSS它根据当地的位置和速度输入计算全球导航卫星系统接收器的读数。

GNSS= gnssSensor (ReferenceFrame,框架)指定报告GNSS读数的参考系。指定框架作为NED的(north-east-down)或“ENU表示”(east-north-up)。默认值为NED的

例子

GNSS= gnssSensor (___、名称、值)使用一个或多个名值对设置属性。例如,gnssSensor (SampleRate, 2)创建一个采样率为2赫兹的模拟GNSS。将每个属性名用引号括起来。

属性

全部展开

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

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

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

GNSS接收器的采样率,指定为Hz的正标量。

数据类型:|

GNSS接收器的初始时间,用datetime对象。该对象在UTC和GNSS时间的转换中占闰秒。

本地导航参考系的原点,指定为测量坐标中标量的三元素行向量(纬度以度为单位,经度以度为单位,高度以米为单位)。高度是指参考椭球模型WGS84之上的高度。

数据类型:|

仰角掩模角,指定为一个标量,范围为[0,90],单位为度。在视野内但低于掩模角度的卫星不用于估计接收器的位置。

可调:是的

数据类型:|

伪距测量噪声的标准偏差,指定为非负标量,单位为米。

可调:是的

数据类型:|

伪伪速率测量噪声的标准偏差,指定为非负标量,单位为米/秒。

可调:是的

数据类型:|

随机数字源,指定为以下选项之一::

  • “全球流”——使用当前全局随机数流生成随机数。

  • “与种子mt19937ar”-使用mt19937ar算法和指定的种子生成随机数种子财产。

数据类型:字符|字符串

mt19937ar随机数生成器算法的初始种子,指定为非负整数。

依赖关系

若要启用此属性,请设置RandomStream“与种子mt19937ar”

数据类型:整数

使用

描述

positionReadingsvelocityReadings状态) = GNSS (位置速度从位置和速度输入计算全球导航卫星系统接收器读数。

输入参数

全部展开

GNSS接收器在本地导航坐标系中的笛卡尔位置,表示为N- x3的标量矩阵,单位为米。N是样本的数量。

缺省参考系为NED(东北向下)。对于ENU(东-北-上),设置ReferenceFrame名称-值参数“ENU表示”在创造。

数据类型:|

GNSS接收器在本地导航坐标系中的速度,用N-by-3矩阵,单位是米每秒。N是样本的数量。

数据类型:|

缺省参考系为NED(东北向下)。对于ENU(东-北-上),设置ReferenceFrame名称-值参数“ENU表示”在创造。

输出参数

全部展开

GNSS接收器在大地纬度、经度和高度(LLA)坐标系中的位置读数,返回为N- x3矩阵的标量。高度是参考椭球模型WGS84之上的高度。N输入参数中的样本数。纬度和经度用度数表示。海拔以米为单位。

数据类型:|

GNSS接收器在当地导航坐标系中的速度读数,单位为米/秒,返回为N- x3矩阵的标量。N是输入参数中的样本数。

数据类型:|

可见卫星的状态信息,返回为N-element数组的结构。N是输入参数中的样本数。每个结构都包含以下四个字段:

字段名 描述
SatelliteAzimuth 可见卫星的方位角,返回为-标量的元素向量,单位为度。可见卫星的数量。
SatelliteElevation 可见卫星的仰角,返回为-标量的元素向量,单位为度。可见卫星的数量。
HDOP 精度的水平稀释,作为一个标量返回。
VDOP 精度的垂直稀释,作为一个标量返回。

要绘制卫星位置,请参阅skyplot函数。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

克隆 创建重复的系统对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 的内部状态重置系统对象
结束 资料终端状态

例子

全部折叠

根据航路点轨迹生成目标位置和速度。

rng (2020)%用于可重复的结果fs = 0.1;tArrival = 50;tspan = 0:1 / fs: tArrival;创建一个路径点轨迹。轨迹= waypointTrajectory([0, 0, 0, 1, 1, 1] * 500年,[0,tArrival]);(职位,~,速度)= lookupPose(轨迹,tspan)
位置=6×3000 100.000 100.000 100.000 200.0000 200.0000 200.0000 300.0000 300.0000 300.0000 400.0000 400.0000 500.0000 500.0000 500.0000 500.0000
速度=6×3万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万万

创建一个GNSS System对象。以Natick的LLA位置,MA作为轨迹的局部参考坐标系原点。

refLocNatick = [42.2825 -71.343 53.0352];gnss = gnssSensor (“SampleRate”fs,...“ReferenceLocation”, refLocNatick);

根据GNSS对象生成位置和速度读数。

[llaReadings、velocityReadings、状态]= gnss(位置,速度)
llaReadings =6×342.2825 -71.3430 49.8995 42.2834 -71.3418 -46.0445 42.2843 -71.3406 -148.6707 42.2852 -71.3394 -247.1066 42.2861 -71.3382 -344.8691 42.2870 -71.3369 -446.6790
velocityReadings =6×310.0115 9.9901 10.0079 10.0124 10.0130 9.9060 10.0025 10.0087 9.9618 10.0120 9.9941 9.9994 9.9617 9.9872 10.0303 9.9991 9.9930 9.9888
状态=6×1带字段的struct数组:卫星方位角卫星仰角

更多关于

全部展开

参考文献

[1]保罗·格罗夫斯。GNSS、惯性和多传感器组合导航系统原理.第二版,Artech House, 2013年。

扩展功能

版本历史

介绍了R2020b

Baidu
map