主要内容

gpsSensor

GPS接收机仿真模型

描述

gpsSensor系统对象™模型数据输出从全球定位系统(GPS)接收机。

GPS接收机模型:

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

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

全球定位系统(GPS)= gpsSensor返回一个gpsSensor系统对象,计算一个全球定位系统接收器阅读基于本地输入信号的位置和速度。默认的参考位置在大地坐标系

  • 纬度:0oN

  • 经度:0oE

  • 高度:0米

全球定位系统(GPS)= gpsSensor (“ReferenceFrame”,射频)返回一个gpsSensor系统对象,计算一个全球定位系统接收器阅读相对于参考系射频。指定射频作为NED的(North-East-Down)或“ENU表示”(East-North-Up)。默认值是NED的

例子

全球定位系统(GPS) = gpsSensor (___,名称,值)每个属性集的名字到指定的价值。未指定的属性有默认值。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

指定的接收者在赫兹,更新率是一个积极的真正的标量。

数据类型:|

参考位置,转换指定为一个行向量在大地坐标系(纬度、经度和海拔高度)。海拔高度高于参考椭球体模型,WGS84。参考位置(度度米)。格式是十进制度程度(DD)。

数据类型:|

位置坐标输入格式,指定为“本地”“大地”

  • 如果你设置的属性“本地”,那么你需要指定truePosition笛卡尔坐标作为输入对当地的导航坐标系的原点是固定的和定义的ReferenceLcation财产。此外,当你指定trueVelocity输入,您需要指定它对这个局部导航框架。

  • 如果你设置的属性“大地”,那么你需要指定truePosition输入大地坐标的纬度、经度和海拔。此外,当你指定trueVelocity输入,您需要指定它的导航框架(NED或ENU表示),其对应的起源truePosition输入。当设置的属性“大地”,gpsSensor忽略了对象ReferenceLocation财产。

数据类型:特征向量

水平位置精度在米,指定为一个非负实数。水平位置精度指定了标准偏差的噪音水平位置测量。

可调:是的

数据类型:|

在米,垂直位置精度指定为一个非负实数。垂直位置精度指定的标准差在垂直位置测量噪声。

可调:是的

数据类型:|

在米每秒的速度精度,指定为一个非负实数。速度精度指定速度测量中的噪声的标准差。

可调:是的

数据类型:|

全球地位噪音衰减系数,指定为一个标量在[0,1]。

全球地位的衰减系数为0模型噪声为白噪声过程。1模型全球地位噪声的衰减系数作为随机游走过程。

可调:是的

数据类型:|

随机数的来源,指定为一个特征向量或字符串:

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

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

数据类型:字符|字符串

初始种子的mt19937ar随机数发生器算法,指定为一个非负整数标量。

依赖关系

要启用这个特性,设置RandomStream“与种子mt19937ar”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

使用

描述

例子

(位置,速度,水平速度,课程]= GPS (truePosition,trueVelocity)计算全球导航卫星系统接收机读数的位置和速度输入。

输入参数

全部展开

GPS接收器的位置在导航坐标系,指定为一个真正的有限N3矩阵。N在当前帧的样本数量。

  • PositionInputFormat财产被指定为“本地”,指定turePosition笛卡尔坐标对当地导航坐标系的原点是固定的ReferenceLocation

  • PositionInputFormat财产被指定为“大地”,指定turePosition作为大地坐标(经度、纬度、海拔)纬度经度在米。高度是米的高度WGS84椭球模型。

数据类型:|

速度的GPS接收器在导航坐标系在米每秒,指定为一个真正的有限N3矩阵。N在当前帧的样本数量。

  • PositionInputFormat财产被指定为“本地”,指定trueVelocity对当地的导航框架(NED或ENU表示)的起源是固定的ReferenceLocation

  • PositionInputFormat财产被指定为“大地”,指定trueVelocity对导航框架(NED或ENU表示),其对应的起源truePosition输入。

数据类型:|

输出参数

全部展开

GPS接收器的位置在大地纬度,经度,和高度(LLA)坐标系统,作为一个真正的返回有限的N3数组。纬度和经度与北部和东部度是积极的。高度是米。

N在当前帧的样本数量。

数据类型:|

GPS接收器的速度在当地导航坐标系在米每秒,作为一个真正的返回有限的N3数组。N在当前帧的样本数量。

  • PositionInputFormat财产被指定为“本地”,返回的速度是对当地的导航坐标系的原点是固定的ReferenceLocation

  • PositionInputFormat财产被指定为“大地”返回的速度是对导航框架(NED或ENU表示),其对应的起源位置输出。

数据类型:|

级水平速度的GPS接收器在当地导航坐标系在米每秒,作为一个真正的返回有限的N1列向量。

N在当前帧的样本数量。

数据类型:|

方向的水平速度的GPS接收器本地导航坐标系度,作为一个真正的返回有限的N1列的值在0到360之间。北对应于360度,东对应于90度。

N在当前帧的样本数量。

数据类型:|

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

创建一个gpsSensor™系统对象模型的GPS接收器的数据。假设一个典型赫兹采样率和1000秒的模拟时间。定义的引用位置的经度,纬度,海拔(LLA)的纳蒂克,MA(美国)。传感器定义为固定与0通过指定的位置和速度。

fs = 1;时间= 1000;numSamples = * fs持续时间;refLoc = (42.2825 -71.343 53.0352);truePosition = 0 (numSamples, 3);trueVelocity = 0 (numSamples, 3);全球定位系统(gps) = gpsSensor (“SampleRate”fs,“ReferenceLocation”,refLoc);

调用全球定位系统(gps)与指定的truePositiontrueVelocity模拟接收GPS数据为一个固定的平台。

位置= gps (truePosition trueVelocity);

阴谋的真正位置和GPS传感器读数的位置。

t = (0: (numSamples-1)) / fs;次要情节(1,1)情节(t)的位置(:1),t的(numSamples) * refLoc(1)标题(“GPS传感器读数”)ylabel (的纬度(度)次要情节(3、1、2)情节(t,位置(:,2),t的(numSamples) * refLoc (2)) ylabel (的经度(度)次要情节(3,1,3)情节(t,位置(:,3),t的(numSamples) * refLoc (3)) ylabel (的高度(米))包含(“时间(s)”)

图包含3轴对象。坐标轴对象1标题GPS传感器读数包含1001行类型的对象。坐标轴对象2包含1001行类型的对象。坐标轴对象3包含1001行类型的对象。

位置读数噪音控制HorizontalPositionAccuracy,VerticalPositionAccuracy,VelocityAccuracy,DecayFactor。的DecayFactor属性控制漂移噪声模型。默认情况下,DecayFactor被设置为0.999方法一个随机游走过程。观察的效果DecayFactor属性:

  1. 重置全球定位系统(gps)对象。

  2. DecayFactor0.5

  3. 调用全球定位系统(gps)与变量指定一个固定位置。

  4. 策划的结果。

全球定位系统(GPS)现在位置读数振荡在正确的位置。

重置(gps) gps。DecayFactor= 0.5; position = gps(truePosition,trueVelocity); subplot(3, 1, 1) plot(t, position(:,1),t的(numSamples) * refLoc(1)标题(“GPS传感器读数,衰减系数= 0.5”)ylabel (的纬度(度)次要情节(3、1、2)情节(t,位置(:,2),t的(numSamples) * refLoc (2)) ylabel (的经度(度)次要情节(3,1,3)情节(t,位置(:,3),t的(numSamples) * refLoc (3)) ylabel (的高度(米))包含(“时间(s)”)

图包含3轴对象。轴与标题GPS传感器读数对象1——衰减系数= 0.5包含1001行类型的对象。坐标轴对象2包含1001行类型的对象。坐标轴对象3包含1001行类型的对象。

GPS接收器实现更大的准确性随着水平增加。在本例中,您创建一个GPS接收机仿真对象和模拟接收到的数据从一个平台,加速从一个固定的位置。

创建一个默认的gpsSensor系统对象™模型数据返回的GPS接收器。

全球定位系统(GPS) = gpsSensor
GPS与属性= gpsSensor: SampleRate: 1 Hz PositionInputFormat:“当地”ReferenceLocation:[0 0 0][度度m] HorizontalPositionAccuracy: 1.6 m VerticalPositionAccuracy: 3 m VelocityAccuracy: 0.1 m / s RandomStream:“全球流”DecayFactor: 0.999

创建矩阵来描述一个平台的位置和速度NED坐标系统。平台从静止开始位置和加速到60 m / s东北部60秒,然后有一个垂直加速度2 m / s / 2秒,紧随其后的是一个2米/秒的速度爬8秒。假设一个恒定的速度,这样的速度是简单的导数的位置。

时间= 70;numSamples = * GPS.SampleRate持续时间;课程= 45 *的(持续时间,1);水平速度=[(一60);60 * 1 (1)];Nvelocity =水平。*信德(课程);Evelocity =水平。* cosd(课程);Dvelocity = [0 (60, 1); 1; 2 * 1 (9,1)];NEDvelocity = [Nvelocity、Evelocity Dvelocity];Ndistance = cumsum (Nvelocity);Edistance = cumsum (Evelocity); Ddistance = cumsum(Dvelocity); NEDposition = [Ndistance,Edistance,Ddistance];

通过调用模型的GPS测量数据全球定位系统(GPS)对象和你的速度和位置矩阵。

[~,~,groundspeedMeasurement courseMeasurement] = GPS (NEDposition NEDvelocity);

策划水平和区别真正的课程和课程返回的GPS模拟器。

随着水平增加,增加过程的准确性。注意,速度增加在最后10秒没有影响,因为额外的速度不是在地上飞机。

t = (0: numSamples-1) / GPS.SampleRate;次要情节(2,1,1)情节(t,水平速度);ylabel (“速度(米/秒)”)标题(“课程水平速度和精度之间的关系”次要情节(2,1,2)courseAccuracy = courseMeasurement -课程;情节(t, courseAccuracy)包含(“时间(s)”);ylabel (“当然精度(度)”)

图包含2轴对象。坐标轴对象1与标题课程水平速度和精度之间的关系包含一个类型的对象。坐标轴对象2包含一个类型的对象。

模拟过程中接收到的GPS数据轨迹从纳蒂克,妈,波士顿,MA。

定义了十进制度经度和纬度的纳马美国、美国波士顿,MA。为简单起见,高度的位置设置为零。

NatickLLA = (42.27752809999999, -71.34680909999997, 0);BostonLLA = (42.3600825, -71.05888010000001, 0);

定义一个运动,可以在20分钟内从纳蒂克到波士顿的一个平台。设置本地NED坐标系统的起源是纳蒂克。创建一个waypointTrajectory对象输出轨迹10个样本。

fs = 1;时间= 60 * 20;轴承= 68;%度距离= 25.39 e3;%米distanceEast =距离*信德(轴承);distanceNorth =距离* cosd(轴承);NatickNED = (0, 0, 0);波士顿= (distanceNorth distanceEast 0);轨迹= waypointTrajectory (“锚点”(NatickNED;波士顿),“TimeOfArrival”(0;持续时间),“SamplesPerFrame”10“SampleRate”fs);

创建一个gpsSensor对象模型接收GPS数据的平台。设置HorizontalPositionalAccuracy25DecayFactor0.25强调了噪音。设置ReferenceLocation在LLA纳蒂克坐标。

全球定位系统(GPS) = gpsSensor (“HorizontalPositionAccuracy”25岁的“DecayFactor”,0.25,“SampleRate”fs,“ReferenceLocation”,NatickLLA);

打开一个图,图的位置在LLA纳蒂克和波士顿。忽略海拔为简单起见。

在一个循环中,调用gpsSensor对象的真实轨迹模拟接收到的GPS数据。情节真实轨迹和接收GPS数据的模型。

图(1)情节(NatickLLA (1) NatickLLA (2),“柯”,BostonLLA BostonLLA (1) (2),“kx”)包含(的纬度(度))ylabel (的经度(度))标题(“纳蒂克到波士顿GPS传感器数据轨迹”)举行~ ~结束(轨迹)[truePositionNED, trueVelocityNED] =轨迹();reportedPositionLLA = GPS (truePositionNED trueVelocityNED);图(1)情节(reportedPositionLLA (: 1), reportedPositionLLA (:, 2),“r”。)结束

图包含一个坐标轴对象。纳蒂克的坐标轴对象与标题GPS传感器数据到波士顿轨迹包含122行类型的对象。

作为一项最佳实践,完成时释放系统对象。

发布(GPS)发布(轨迹)

扩展功能

另请参阅

对象

介绍了R2018b