nmeaParser
解析从海洋电子设备发送的标准和特定于制造商的NMEA语句中的数据
描述
的nmeaParser
系统对象™解析来自任何NMEA(国家海洋电子协会)句子的数据。需要解析数据的句子可以是任何符合NMEA 0183的标准句子®规格(由GNSS(全球导航卫星系统)接收器发送),或由NMEA批准的其他特定于制造商的句子(由其他海洋电子设备发送)。
的nmeaParser
系统对象提供:
内置支持解析从GNSS接收器发送的数据,并通过以下九种NMEA消息类型进行识别:RMC, GGA, GSA, VTG, GLL, GST, ZDA, GSV和HDT
使用
CustomSentence
名称-值对用于解析来自多个设备类别的NMEA数据,包括来自不同硬件制造商的特定于制造商的句子
解析NMEA句子中的数据:
创建
nmeaParser
对象并设置其属性。调用带有参数的对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?
的nmeaParser
系统对象输出一个结构数组,对应于从指定的NMEA句子中提取的值。
创建
语法
描述
返回一个pnmea
= nmeaParsernmeaParser
系统对象,pnmea
,它从这些标准NMEA消息:RMC、GGA和GSA中提取数据。在提取的输出数据中结构数组的顺序也是:RMC, GGA,和GSA。
返回一个pnmea
= nmeaParser("MessageIDs", 'msgID')nmeaParser
系统对象,pnmea
,它从内置支持的九个标准NMEA消息之一提取数据,使用消息id指定。指定是否
作为“RMC”
,“GGA”
,“GSA”
,“GSV”
,“VTG”
,“房地产”
,“消费税”
,“ZDA”
,“热变形”
,或这些编号的组合(例如:[" VTG”、“房地产”、“热变形”)
).指定Message id的顺序决定了提取的输出数据中结构数组的顺序。默认值为[" RMC”、“GGA”、“GSA”)
.
设置属性。pnmea
= nmeaParser("CustomSentence", {['CustomMessageId1','parserFunctionName1'],['CustomMessageId2','parserFunctionName2']})CustomSentence
名称-值对并返回一个nmeaParser
系统对象,pnmea
,它从任何使用消息id指定的自定义NMEA消息(标准NMEA消息或特定于制造商的NMEA消息)中提取数据。
的CustomSentence
名称-值对接受一个嵌套的单元格数组,其中每个元素是一对消息ID名称(标准NMEA消息ID名称或特定于制造商的消息ID)和相应的用户定义解析器函数,该函数是通过包含extractNMEASentence
函数文件中的函数。指定消息id的顺序决定了提取的输出数据中结构数组的顺序。
返回一个pnmea
= nmeaParser("MessageIDs", {'msgID1','msgID2'},"CustomSentence", {['CustomMessageId1','parserFunctionName1'],['CustomMessageId2','parserFunctionName2']})nmeaParser
系统对象,pnmea
的九个内置支持的标准NMEA消息中的两个提取数据,还从您使用CustomSentence
名称-值对。
输入参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:pnmea = nmeaParser("CustomSentence", {['CustomMessageId1','parserFunctionName1'],['CustomMessageId2','parserFunctionName2']});
CustomSentence
- - - - - -指定任何句子的消息ID及其解析器函数的名称
字符向量的单元格数组
指定要从中提取数据的任何NMEA句子的消息ID和解析器函数的名称。可以将多个消息id和解析器函数指定为字符向量的单元格数组。解析器函数定义在函数文件中,该文件可以选择包含extractNMEASentence
函数。
请注意
解析器函数的函数文件必须存在于当前目录或MATLAB路径中。
CustomSentence
接受函数名或函数句柄。例如,这两种格式都是有效的:
-
pnmea = nmeaParser(“CustomSentence”, {“standardnmeaMessageId1”,“parserFunctionName1”]}
-
parserFunctionHandle=@parserFunctionName1 pnmea = nmeaParser(“CustomSentence”, {“standardnmeaMessageId1”parserFunctionHandle]}
请注意
使用CustomSentence
使用名称-值对来解析数据,而不是内置解析器函数,结果是在解析数据时覆盖默认字段。例如,nmeaParser (CustomSentence,{}(“RMC”、“parserRMC”))
覆盖解析数据的默认格式,因为RMC是内置支持解析数据的九个句子之一。
数据类型:字符
|字符串
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
函数解锁它们。
如果属性是可调,您可以随时更改其值。
有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统.
消息id
- - - - - -九个标准NMEA句子的消息id,内置支持提取数据
[" RMC”、“GGA”、“GSA”)
(默认)|RMC
|GGA
|GSA
|GSV
|VTG
|GLL
|销售税
|ZDA
|热变形
具有内置支持的9个NMEA句子的消息id,它们符合NMEA 0183标准,您希望从中提取数据。您可以指定多个消息id作为字符串数组,以便从NMEA语句中提取数据。
数据类型:字符
|字符串
使用
语法
描述
[
解析来自两个自定义NMEA句子(标准NMEA句子或特定于制造商的NMEA句子)的数据,并返回一个结构数组,其中每个结构对应一个Message ID。为输出参数指定的序列必须与在customNmeaData1
,customNmeaData2
= pnmea(rawData
)CustomSentence
类时的名称-值对nmeaParser
系统对象。
输入参数
rawData
- - - - - -NMEA数据从海洋电子设备获得
字符串数组
符合NMEA标准的NMEA数据,从船舶电子设备中获得。
数据类型:字符串
|字符
输出参数
rmcData
-从RMC语句中提取数据
结构
从RMC语句中提取的数据。输出结构包含从RMC句子中解析的信息以及解析状态。如果在输入数据中发现多个RMC句子,则返回一个结构数组。有关更多细节,请参见RMC的句子.
ggaData
-数据从GGA句子中提取
结构
数据从GGA句子中提取。输出结构包含从GGA句子中解析的信息以及解析状态。如果在输入数据中发现多个GGA句子,则返回一个结构数组。有关更多细节,请参见GGA句子.
gsaData
-数据提取自GSA句子
结构
从GSA句子中提取的数据。输出结构包含从GSA句子中解析的信息以及解析状态。如果在输入数据中发现多个GSA句子,则返回一个结构数组。有关更多细节,请参见GSA的句子.
vtgData
-数据从VTG句子中提取
结构
数据提取自VTG句子。输出结构包含从VTG句子中解析的信息以及解析状态。如果在输入数据中发现多个VTG句子,则返回一个结构数组。有关更多细节,请参见VTG句子.
gllData
-从GLL语句中提取的数据
结构
从一个GLL句子中提取的数据。输出结构包含从GLL句子中解析的信息以及解析状态。如果在输入数据中发现多个GLL句子,则返回一个结构数组。有关更多细节,请参见GLL句子.
gstData
-数据提取自GST语句
结构
从GST句子中提取的数据。输出结构包含从GST句子解析的信息以及解析状态。如果在输入数据中发现多个GST句子,则返回一个结构数组。有关更多细节,请参见销售税的句子.
gsvData
-数据提取自GSV句子
结构
数据从一个GSV句子中提取。输出结构包含从GSV句子中解析的信息以及解析状态。完整的卫星信息可以在多个gsvData结构中获得。每个gsvData结构最多可以包含4个卫星信息。有关更多细节,请参见GSV句子.
zdaData
-数据提取自ZDA语句
结构
数据提取自ZDA语句。输出结构包含从ZDA句子中解析的信息以及解析状态。如果在输入数据中发现多个ZDA句子,则返回一个结构数组。有关更多细节,请参见ZDA句子.
hdtData
-从HDT语句中提取数据
结构
从一个HDT句子中提取的数据。输出结构包含从HDT句子解析的信息以及解析状态。如果在输入数据中发现多个HDT句子,则返回一个结构数组。有关更多细节,请参见热变形的句子.
customNmeaData1
-从任何标准或特定于制造商的NMEA语句中提取的数据
结构
从任何标准或特定于制造商的NMEA语句中提取的数据。输出结构包含从自定义句子解析的信息以及解析状态。如果在输入数据中发现多个具有相同NMEA消息类型的句子,则返回一个结构数组。
对象的功能
要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj
,使用以下语法:
发行版(obj)
例子
使用MessageID属性从NMEA语句中提取数据
使用MessageID属性从9个标准NMEA语句中提取数据,作为内置支持的一部分。NMEA数据来自GNSS接收器。
从RMC语句中提取数据
通过指定消息ID为“RMC”来创建一个nmeaParser系统对象。
pnmea = nmeaParser(“消息id”,“RMC”);
提供从GNSS接收器获得的RMC语句作为输入和提取数据。
unparsedRMCLine =GNRMC美元,143909.00,,5107.0020216,N, 11402.3294835 W, 0.036,348.3, 210307年0.0,E, A * 31的;rmcData = pnmea(unparsedRMCLine)
rmcData =带有字段的结构:TalkerID: "GN" MessageID: "RMC" FixStatus: 'A'纬度:51.1167经度:-114.0388 GroundSpeed: 0.0185 TrueCourseAngle: 348.3000 UTCDateTime: 21 mar -2007 14:39:09.000 MagneticVariation: 0 ModeIndicator: 'A' NavigationStatus: "NA" Status: 0
从多种NMEA消息类型中提取数据
提供GGA、GSA和RMC语句作为输入。
unparsedGGALine = [GPGGA美元,111357.771、5231.364 N, 01324.240, E, 1, 12日,1.0,0.0米,0.0米,,* 69的];unparsedGSALine = [“GPGSA美元,3、01、02、03、04、05、06、07、08、09、10、11、12日,1.0,1.0,1.0 * 30];unparsedRMCLine = [GPRMC美元,111357.771,,5231.364,N, 01324.240, E, 10903, 221.5, 020620年000.0 W * 44的];
创建一个包含这三个句子的字符串数组
rawNMEAData = [unparsedGGALine,newline, unparsedGSALine,newline, unparsedRMCLine]
rawNMEAData = '$GPGGA,111357.771,5231.364,N,01324.240,E,1,12,1.0,0.0,M,0.0,M, *69 $GPGSA,A,3,01,02,03,04,05,06,07,08,09,10,11,12,1.0,1.0,1.0*30 $GPRMC,111357.771,A,5231.364,N,01324.240,E,10903,221.5, 0206620,000,W*44'
但是,考虑到您只需要从GGA和GSA句子中提取数据。因此,创建nmeaParser系统对象'pnmea',并指定'GGA'和'GSA'消息id作为字符串数组。
pnmea = nmeaParser (“消息id”,[“GGA”,“GSA”]);
指定所有三个句子的输出参数,以将数据提取为结构。
[ggaData,gsaData] = pnmea(rawNMEAData)
ggaData =带有字段的结构:TalkerID: "GP" MessageID: "GGA" UTCTime: 11:13:57.771纬度:52.5227经度:13.4040 QualityIndicator: 1 numsatitesinuse: 12 HDOP: 1 Altitude: 0 GeoidSeparation: 0 AgeOfDifferentialData: NaN DifferentialReferenceStationID: NaN Status: 0
gsaData =带有字段的结构:TalkerID: "GP" MessageID: "GSA" Mode: "A" FixType: 3 satellite itesidnumber: [1 2 3 4 5 6 7 8 9 10 11 12] PDOP: 1 VDOP: 1 HDOP: 1 SystemID: NaN Status: 0
上面的输出显示,仅根据指定为输入的Message id提取GGA和GSA句子。
提供另一个GGA句子作为附加输入,并提取数据。在这种情况下,您不需要修改System对象,因为Message ID没有更改。
unparsedGGALine1 =GNGGA美元,001043.00、4404.14036 N, 12118.85961 W, 1, 12日,0.98,1113.0米,-21.3米,,* 47的
unparsedGGALine1 = '$GNGGA,001043.00,4404.14036,N,12118.85961,W,1,12,0.98,1113.0,M,-21.3,M,,*47'
rawNMEAData = [unparsedGGALine,newline, unparsedGSALine,newline, unparsedGGALine1]
rawNMEAData = ' GPGGA美元,111357.771、5231.364 N, 01324.240, E, 1, 12日,1.0,0.0米,0.0米,,* GPGSA(69美元),A, 3, 01、02、03、04、05、06、07、08、09、10、11、12日,1.0,1.0,1.0 * GNGGA(30美元),001043.00,4404.14036,N, 12118.85961 W, 1, 12日,0.98,1113.0米,-21.3米,,* 47的
[ggaData,gsaData] = pnmea(rawNMEAData)
ggaData =2×1带字段的struct数组:TalkerID MessageID UTCTime纬度经度质量指标numsatitesinuse HDOP高度GeoidSeparation AgeOfDifferentialData differalreferencestationid状态
gsaData =带有字段的结构:TalkerID: "GP" MessageID: "GSA" Mode: "A" FixType: 3 satellite itesidnumber: [1 2 3 4 5 6 7 8 9 10 11 12] PDOP: 1 VDOP: 1 HDOP: 1 SystemID: NaN Status: 0
的地位0指示数据已成功解析。
从GSV句子中提取数据
通过指定消息ID为“GSV”来创建一个nmeaParser系统对象。
pnmea = nmeaParser(“消息id”,“GSV”);
提供从GNSS接收器获得的GSV句子作为输入和提取数据。
unparsedGSVLine =GPGSV美元,3,3,10,32岁,69205年,41岁,46岁,47215年,39 * 79的;gsvData = pnmea(unparsedGSVLine)
gsvData =带有字段的结构:TalkerID: "GP" MessageID: "GSV" numsentence: 3 SentenceNumber: 3 satitesinview: 10 satiteid: [32 46] Elevation: [69 47] Azimuth: [205 215] SNR: [41 39] SignalID: NaN Status: 0
从多个GSV句子中提取数据
提供多个GSV语句作为输入。
unparsedGSVLine1 =' GPGSV美元3 1 10 01…31日03年,28325年,40岁,10…33,12日,20047年,30 * 70;unparsedGSVLine2 =GPGSV美元3 2,10日,14日,88028年,42岁,22岁,39299年,48岁的25…25日31日79289年46 * 49的;unparsedGSVLine3 =GPGSV美元,3,3,10,32岁,69205年,41岁,46岁,47215年,39 * 79的;
创建一个包含这三个句子的字符串数组。
CRLF = [char(13),newline];unparsedGSVLines = [unparsedGSVLine1,CRLF, unparsedGSVLine2, CRLF, unparsedGSVLine3];
创建nmeaParser系统对象“pnmea”,指定“GSV”消息ID,并提取数据。
pnmea = nmeaParser(“消息id”,“GSV”);gsvData = pnmea(unparsedGSVLines)
gsvData =3×1带字段的struct数组:TalkerID MessageID numsentence SentenceNumber cartoitesinview cartoiteid仰角方位角SNR SignalID状态
从NMEA日志读取数据
从示例NMEA日志中读取数据,以便使用nmeaParser系统对象解析数据。
示例日志文件是nmeaLog.nmea
,它包含在本例中。
F = fopen(“nmeaLog.nmea”);unParsedNMEAdata = fread(f);pnmea = nmeaParser(“消息id”,[“RMC”,“GGA”]);[rmcStruct, ggaStruct] = pnmea(unParsedNMEAdata)
rmcStruct =9×1带字段的struct数组:TalkerID MessageID FixStatus Latitude Longitude GroundSpeed TrueCourseAngle UTCDateTime MagneticVariation ModeIndicator NavigationStatus状态
ggaStruct =9×1带字段的struct数组:TalkerID MessageID UTCTime纬度经度质量指标numsatitesinuse HDOP高度GeoidSeparation AgeOfDifferentialData differalreferencestationid状态
使用CustomSentence名称-值对提取数据
方法可以从任何NMEA句子中提取数据CustomSentence
名称-值对。待解析的NMEA数据来自海洋电子设备。
识别NMEA句子结构并创建解析函数
您需要确定NMEA语句的结构(如规范中定义的那样),并使用该信息定义nmeaParser System对象中使用的输出数据的结构。
例如,让我们考虑一个带有Message ID的例句,瑞士
.
识别结构之后,创建一个定义解析器函数的函数文件,fsssParser。在函数文件中,将输出数据定义为结构数组,其字段与规范中出现的序列匹配。
导航工具箱™提供了一个可选的预配置功能,extractNMEASentence
,它检查句子是否有效,并将句子中的字段转换为字符串数组。你可以打电话extractNMEASentence
在函数文件中。您也可以使用任何其他函数(从未解析的数据输出字符串数组),然后在函数文件中调用它。
下面的图像显示了带有代码的函数文件,假设字段可用瑞士
TalkerID、MessageID、UTC和LatitudeError。有关详细信息,请参阅附加注释。
在上面的示例文件中,定义了结构数组中的字段和字符串数组的元素之间的映射。对于某些字段(例如UTC时间),您可能需要定义一个字符数组来映射这些字段。
在包含上面提到的MATLAB代码之后,保存函数文件(fsssParser.m),以便您可以调用它来获取解析后的数据CustomSentence
nmeaParser系统对象的名称-值对。
下载另一个示例函数文件parserRMB.m在本例中使用的,单击打开实时脚本.这是一个特定于人民币句子字段的函数文件(在NMEA标准4.1版中提到)。
从人民币句子中提取数据
通过使用CustomSentence名称-值对并指定消息ID为“RMB”和函数为“parserRMB”(在上一步中下载),创建一个nmeaParser系统对象。
pnmea = nmeaParser(“CustomSentence”, {“元”,“parserRMB”]});
提供从GNSS接收器获得的人民币句子作为输入和提取数据。
unparsedRMBLine =, GPRMB美元,4.08 L, EGLL, EGLM, 5130.02 N, 00046.34 W, 004.6,213.9,122.9 * 3 d ';rmbData = pnmea(unparsedRMBLine)
rmbData =带有字段的结构:TalkerID: "GP" MessageID: "RMB" DataStatus: 'A' CrossTrackError: 4.0800 DirectionToSteer: NaN OriginWaypointID: NaN DestinationWaypointID: NaN destinationwaypointlatime: '5130.02 N' DestinationWaypointLongitude: '00046.34 W' RangeToDestination: 4.6000 BearingToDestination: 213.9000 DestinationClosingVelocity: 122.9000 ArrivalStatus: 'A' ModeIndicator: "NA" Status: 0
从多个人民币句子中提取数据
提供多个人民币句子作为输入。
unparsedRMBLine1 = [, GPRMB美元,0.66 L, 003004, 4917.24 N, 12309.57 W, 001.3,052.5,000.5 V * 20的];unparsedRMBLine2 = [, GPRMB美元,4.08 L, EGLL, EGLM, 5130.02 N, 00046.34 W, 004.6,213.9,122.9 * 3 d '];
创建包含这两个句子的字符数组
rawNMEAData = [unparsedRMBLine1,newline, unparsedRMBLine2]
rawNMEAData = '$GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20 $GPRMB,A,4.08,L,EGLL,EGLM,5130.02,N,00046.34,W,004.6,213.9,122.9,A*3D'
为提取数据的RMB语句指定输出参数。
[rmbData] = pnmea(rawNMEAData)
rmbData =2×1带字段的struct数组:TalkerID MessageID DataStatus CrossTrackError DirectionToSteer OriginWaypointID DestinationWaypointID destinationwaypoinlatitude DestinationWaypointLongitude RangeToDestination BearingToDestination DestinationClosingVelocity ArrivalStatus ModeIndicator状态
从一个带有内置支持(RMC)和人民币句中提取数据
通过使用MessageID属性(用于解析具有内置支持的句子——RMC)和使用CustomSentence名值对(指定消息ID为“RMB”,并指定函数为“parserRMB”(在上一步中创建)来创建nmeaParser系统对象。
pnmea = nmeaParser(“消息id”,“RMC”,“CustomSentence”, {“元”,“parserRMB”]});
提供RMC和RMB句子作为输入。
unparsedRMCLine1 = [GNRMC美元,143909.00,,5107.0020216,N, 11402.3294835 W, 0.036,348.3, 210307年0.0,E, A * 31的];unparsedRMBLine2 = [, GPRMB美元,4.08 L, EGLL, EGLM, 5130.02 N, 00046.34 W, 004.6,213.9,122.9 * 3 d '];
创建一个包含这两个句子的字符串数组
rawNMEAData = [unparsedRMCLine1,newline, unparsedRMBLine2]
rawNMEAData = '$GNRMC,143909.00,A,5107.0020216,N,11402.3294835,W,0.036,348.3,210307,0.0,E,A*31 $GPRMB,A,4.08,L,EGLL,EGLM,5130.02,N,00046.34,W,004.6,213.9,122.9,A*3D'
为提取数据的RMB语句指定输出参数。
[rmcdata,rmbData] = pnmea(rawNMEAData)
rmcdata =带有字段的结构:TalkerID: "GN" MessageID: "RMC" FixStatus: 'A'纬度:51.1167经度:-114.0388 GroundSpeed: 0.0185 TrueCourseAngle: 348.3000 UTCDateTime: 21 mar -2007 14:39:09.000 MagneticVariation: 0 ModeIndicator: 'A' NavigationStatus: "NA" Status: 0
rmbData =带有字段的结构:TalkerID: "GP" MessageID: "RMB" DataStatus: 'A' CrossTrackError: 4.0800 DirectionToSteer: NaN OriginWaypointID: NaN DestinationWaypointID: NaN destinationwaypointlatime: '5130.02 N' DestinationWaypointLongitude: '00046.34 W' RangeToDestination: 4.6000 BearingToDestination: 213.9000 DestinationClosingVelocity: 122.9000 ArrivalStatus: 'A' ModeIndicator: "NA" Status: 0
使用CustomSentence名称-值对从特定于制造商的句子中提取数据
识别制造商特定句子的结构,用解析函数创建函数文件
要解析的NMEA句子的结构在制造商提供的设备规格中有。您需要识别结构并使用这些信息来定义要在nmeaParser System对象中使用的输出数据的结构。
例如,来自硬件制造商的NMEA句子的结构可能是这样的:
$ PMMCZ hhmmss.ss纬度,N,经度,E, NavSatellite, *博士hh < CR > <如果>
这里,P表示句子是厂家专用的,MMC是厂家助记码,Z是句子类型。之后的每个字段都表示特定的数据(位置、速度、时间等)。有些制造商使用两个字符作为句子类型,后面是数据字段。
识别结构之后,创建解析器函数,
parserMMCZ
,使用可选的extractNMEASentence
函数,如下所示(您也可以使用其他函数将未解析的数据提取为字符串,而不是extractNMEASentence
).函数OutputData = parserMMCZ(unparsedData, MessageID)“消息id”消息id,...“UTC”,“NA”,...“人肉搜索”南,...“经”南,...“导航卫星”南,...“状态”, uint8 (1));[isValid, splitString] = extractNMEASentence(unparsedData, MessageID);如果(isValid) OutputData。消息id= splitString(1); temp = char(splitString(2)); utcOutput = [temp(1:2),':'临时(3:4),':'临时(6)];OutputData。UTC = utcOutput; OutputData.Latitude = str2double(splitString{3}); OutputData.Longitude = str2double(splitString{5}); OutputData.NavigationSatellites = str2double(splitString{7}); OutputData.Status = uint8(0);结束结束
保存
parserMMCZ.m
在MATLAB路径中。从制造商特定句子中提取数据
创建一个
nmeaParser
的系统对象CustomSentence
名称-值对,并将消息ID指定为“MMCZ”,将函数指定为“parserMMCZ”(在上一步中创建)。pnmea = nmeaParser(“CustomSentence”, {“MMCZ”,“parserMMCZ”]});
提供从设备获取的MMC语句作为输入和提取数据:
unparsedMMCLine =“PMMCZ 225444美元、4917.24 N, 00046.34, E, 3 * 7 c博士”;mmcData = pnmea(unparsedMMCLine)
mmcData = struct with fields: MessageID: "MMCZ" UTC: '22:54:44'纬度:4.9172e+03经度:46.3400导航卫星:3状态:0
更多关于
状态字段
status字段和每个输出结构中提取的值一起显示,可以用来确定解析状态:
状态:0
-语句有效(校验和验证成功,提取的数据与请求的Message ID一致)状态:1
—待解析句子的校验和无效现状:2
—在输入数据中找不到请求的句子
请注意
如果输入语句中没有值,则对应的输出值将显示为字符串值的" NA ",数字值的"NaN"。
RMC的句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
FixStatus | 可能的值:
数据类型: |
纬度 | 用度数表示纬度。北被认为是积极的。 数据类型: |
经度 | 用度数表示的经度。东方被认为是积极的。 数据类型: |
水平速度 | 地面速度(米/秒) 数据类型: |
TrueCourseAngle | 地面上的航线以度数为单位。 数据类型: |
UTCDateTime | 国际标准日期和时间 数据类型: |
磁性变化 | 磁变值。W方向被认为是负的 数据类型: |
ModeIndicator | 可能的值:
数据类型: |
NavigationStatus | 可能的值:
数据类型: |
GGA句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
UTCTime | UTC时间( 数据类型: |
纬度 | 用度数表示纬度。北被认为是积极的。 数据类型: |
经度 | 用度数表示的经度。东方被认为是积极的。 数据类型: |
QualityIndicator | 可能的值:
数据类型: |
NumSatellitesInUse | 使用的卫星数量。这可能与观测卫星的数量不同。 数据类型: |
HDOP | 水平精度因子 数据类型: |
高度 | 海拔高度,单位为米 数据类型: |
GeoidSeparation | 椭球面与平均海平面之差,单位为米 数据类型: |
AgeOfDifferentialData | 差异校正时代 数据类型: |
DifferentialReferenceStationID | 提供差分校正的站点ID 数据类型: |
GSA的句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
模式 | 可能的值:
数据类型: |
FixType | 可能的值:
数据类型: |
SatellitesIDNumber | 卫星号(12字节的数组)。空字段将显示为 数据类型: |
位置误差 | 位置精度因子 数据类型: |
VDOP | 垂直精度因子 数据类型: |
HDOP | 水平精度因子 数据类型: |
SystemID | NMEA定义了GNSS系统ID 数据类型: |
GSV句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
NumSentences | 句子总数。完整的卫星信息可以在多个GSV句子中获得。该字段表示的总数 数据类型: |
SentenceNumber | 当前解析的GSV行的句数 数据类型: |
SatellitesInView | 观察到的卫星总数 数据类型: |
SatelliteID | 卫星标识号指定为大小为1乘N的行向量,其中N是一个句子中可用的卫星信息的数量。N的最大值为4。 数据类型: |
海拔高度 | 仰角(以度为单位),指定为大小为1乘N的行向量,其中N是一句话中可用的卫星信息的数量。N的最大值为4。 仰角的最大值为90度。 数据类型: |
方位 | 方位角(以度为单位),指定为大小为1乘N的行向量,其中N是一个句子中可用的卫星信息的数量。N的最大值为4。 方位值的范围是[0-359]度。 数据类型: |
信噪比 | 信噪比,以dB-Hz为单位,指定为大小为1乘N的行向量,其中N是一个句子中可用的卫星信息的数量。N的最大值为4。 信噪比取值范围为[0,99]dB。 数据类型: |
SignalID | 与卫星ID对应的信号ID。 只有当句子符合NMEA 0183标准,4.1版本时,才显示此值。否则显示为 数据类型: |
SignalID和对应的信号通道的可能值在该表中列出。
系统 | 在解析数据中显示的TalkerID | SatelliteID | SignalID | 信号通道 |
---|---|---|---|---|
全球定位系统(GPS) | 全科医生 |
|
0 | 所有信号 |
1 | L1 C /一个 | |||
2 | L1 p (y) | |||
3. | L1米 | |||
4 | L2 p (y) | |||
5 | L2C-M | |||
6 | L2C-L | |||
7 | L5-I | |||
8 | L5-Q | |||
格洛纳斯 | GL |
|
0 | 所有信号 |
1 | G1 C /一个 | |||
2 | G1 P | |||
3. | G2 C /一个 | |||
4 | Glonass (m) g2 p | |||
伽利略 | 遗传算法 |
|
0 | 所有信号 |
1 | E5a | |||
2 | E5b | |||
3. | E5a和E5b | |||
4 | E6-A | |||
5 | E6-BC | |||
6 | L1-A | |||
7 | L1-BC |
ZDA句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
UTCTime | UTC时间 数据类型: |
UTCDay | UTC的一天 数据类型: |
UTCMonth | UTC月 数据类型: |
UTCYear | UTC的一年 数据类型: |
LocalZoneHours | 本地区域时间范围从 数据类型: |
LocalZoneMinutes | 本地区域分钟从 数据类型: |
GLL句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
纬度 | 用度数表示纬度。北被认为是积极的。 数据类型: |
经度 | 用度数表示的经度。东方被认为是积极的。 数据类型: |
UTCTime | UTC时间 数据类型: |
DataValidity | 数据有效性状态:
数据类型: |
PositioningMode | 可能的值:
数据类型: |
VTG句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
TrueCourseAngle | 地面上的航线(正确) 数据类型: |
MagneticCourseAngle | 经过地(磁)度 数据类型: |
水平速度 | 地面速度(米/秒) 数据类型: |
ModeIndicator | 可能的值:
数据类型: |
销售税的句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
UTCTime | UTC时间 数据类型: |
RMSStdDeviationOfRanges | 量程标准差的均方根值,单位为米。 数据类型: |
StdDeviationSemiMajorAxis | 半长轴的标准偏差(米) 数据类型: |
StdDeviationSemiMinorAxis | 半小轴的标准偏差(米) 数据类型: |
OrientationSemiMajorAxis | 半长轴的方向,以度数为单位 数据类型: |
StdDeviationLatitudeError | 纬度误差的标准偏差,单位为米 数据类型: |
StdDeviationLongitudeError | 经度误差的标准偏差,以米为单位 数据类型: |
StdDeviationAltitudeError | 海拔误差的标准偏差(米) 数据类型: |
热变形的句子
解析完成后输出结构中显示的字段名 | 描述 |
---|---|
TalkerID | 识别传输数据的设备类型。例如,对于一个GPS接收器,TalkerID是 数据类型: |
消息id | NMEA消息类型- 数据类型: |
TrueHeadingAngle | 按正北方向的度数前进 数据类型: |
版本历史
在R2020b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。