nmeaParser
从海洋电子设备发送的标准和制造商特定的NMEA语句中解析数据
描述
的nmeaParser
系统对象™解析来自任何NMEA(国家海洋电子协会)句子的数据。需要解析数据的句子可以是符合NMEA 0183的任何标准句子®规范(由GNSS(全球导航卫星系统)接收器发送),或由NMEA批准的其他制造商特定语句(由其他海上电子设备发送)。
的nmeaParser
系统对象提供:
内置支持解析从GN金宝appSS接收器发送的数据,并由这9种NMEA消息类型识别:RMC, GGA, GSA, VTG, GLL, GST, ZDA, GSV和HDT
使用
CustomSentence
名称-值对来解析来自多个设备类别的NMEA数据,包括来自不同硬件制造商的特定制造商语句
从NMEA句子中解析数据:
创建
nmeaParser
对象并设置其属性。使用参数调用对象,就像调用函数一样。
有关系统对象如何工作的详细信息,请参见什么是系统对象?
的nmeaParser
系统对象输出一个结构数组,对应于从指定的NMEA语句中提取的值。
创建
语法
描述
返回一个pnmea
= nmeaParsernmeaParser
系统对象,pnmea
,具有默认属性,从这些标准NMEA消息中提取数据:RMC、GGA和GSA。在提取的输出数据中,结构数组的顺序也是:RMC、GGA和GSA。
返回一个pnmea
= nmeaParser("MessageIDs", " msgID ")nmeaParser
系统对象,pnmea
,它从内置支持的九个标准NMEA消息之一提取数据,使用Message id指定。金宝app指定是否
作为“RMC”
,“GGA”
,“GSA”
,“GSV”
,“VTG”
,“房地产”
,“消费税”
,“ZDA”
,“热变形”
,或这些id的组合(例如:[" VTG”、“房地产”、“热变形”)
).指定Message id的顺序决定了提取的输出数据中结构数组的顺序。默认值为[" RMC”、“GGA”、“GSA”)
.
设置属性。pnmea
= nmeaParser("CustomSentence", {['CustomMessageId1','parserFunctionName1'],['CustomMessageId2','parserFunctionName2']})CustomSentence
名称-值对返回nmeaParser
系统对象,pnmea
,它从任何自定义NMEA消息(标准NMEA消息或特定于制造商的NMEA消息)中提取数据,使用消息id指定。
的CustomSentence
名称-值对接受一个嵌套的单元格数组,其中每个元素都是一对消息ID名称(标准NMEA消息ID名称或特定于制造商的消息ID)和相应的用户定义解析器函数,该函数通过包含extractNMEASentence
函数文件中的函数。指定消息id的顺序决定了提取的输出数据中结构数组的顺序。
返回一个pnmea
= nmeaParser("MessageIDs", {'msgID1','msgID2'},"CustomSentence", {['CustomMessageId1','parserFunctionName1'],['CustomMessageId2','parserFunctionName2']})nmeaParser
系统对象,pnmea
,它可以从内置支持的九个标准NMEA消息中的两个消息提取数据,也可以从您使用金宝appCustomSentence
名称-值对。
输入参数
指定可选参数对为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是内置支持数据解析的9个句子之一。金宝app
数据类型:字符
|字符串
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
功能解锁它们。
如果属性为可调,您可以随时更改其值。
有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计.
消息id
- - - - - -九个标准NMEA句子的消息id,内置支持提取数据金宝app
[" RMC”、“GGA”、“GSA”)
(默认)|RMC
|GGA
|GSA
|GSV
|VTG
|GLL
|销售税
|ZDA
|热变形
内置支持的九个NMEA句子的消息id,符合NMEA 0183标准,从中提取数据。金宝app您可以将多个消息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对象指定为第一个输入参数。例如,释放system对象的系统资源obj
,使用这种语法:
发行版(obj)
例子
使用MessageID属性从NMEA句子中提取数据
使用MessageID属性从9个标准NMEA句子中提取数据作为内置支持的一部分。金宝appNMEA数据来自GNSS接收机。
从RMC语句中提取数据
创建一个nmeaParser系统对象,指定Message ID为“RMC”。
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,020620,000.0,W*44'
但是,考虑到您只需要从GGA和GSA句子中提取数据。因此,创建nmeaParser系统对象'pnmea',并指定'GGA'和'GSA'消息id作为字符串数组。
pnmea = nmeaParser (“消息id”, (“GGA”,“GSA”]);
为所有三个句子指定输出参数,以将数据提取为结构。
[ggaData, gsata] = pnmea(rawNMEAData)
ggaData =带字段的结构:TalkerID: "GP" MessageID: "GGA" UTCTime: 11:13:57.771纬度:52.5227经度:13.4040 QualityIndicator: 1 numsatellite itesinuse: 12 HDOP: 1海拔:0 GeoidSeparation: 0 ageofdifferaldata: NaN differalreferencestationid: 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, gsata] = pnmea(rawNMEAData)
ggaData =2×1包含字段的struct数组:TalkerID MessageID UTCTime纬度经度QualityIndicator numsatellite itesinuse HDOP高度GeoidSeparation ageofdifferaldata 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 satellite itesinview: 10 satellite iteid: [32 46] Elevation:[69 47]方位角:[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),换行符];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 satellite itesinview satellite iteid仰角方位信噪比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纬度经度地速TrueCourseAngle UTCDateTime磁变ModeIndicator NavigationStatus状态
ggaStruct =9×1包含字段的struct数组:TalkerID MessageID UTCTime纬度经度QualityIndicator numsatellite itesinuse HDOP高度GeoidSeparation ageofdifferaldata differalreferencestationid状态
使用CustomSentence名称-值对提取数据
方法可以从任何NMEA句子中提取数据CustomSentence
名称-值对。要解析的NMEA数据是从海洋电子设备中获得的。
识别NMEA句子结构并创建解析函数
您需要识别规范中定义的NMEA语句的结构,并使用该信息定义将在nmeaParser System对象中使用的输出数据的结构。
例如,让我们考虑一个带有Message ID的示例句子,瑞士
.
在确定结构之后,创建一个定义解析器函数的函数文件,fsssParser。在函数文件中,将输出数据定义为结构数组,其字段与规范中出现的序列匹配。
导航工具箱™提供了一个可选的预配置功能,extractNMEASentence
,它检查句子是否有效,并将句子中的字段转换为字符串数组。你可以打电话extractNMEASentence
在函数文件中。您还可以使用任何其他函数(从未解析的数据输出字符串数组),然后在函数文件中调用它。
下图显示了包含代码的函数文件,并假设字段可用瑞士
语句是TalkerID, MessageID, UTC和LatitudeError。有关详细信息,请参阅附加注释。
在上面的示例文件中,定义了结构数组中的字段和字符串数组的元素之间的映射。对于某些字段(例如UTC时间),您可能需要定义一个字符数组来映射这些字段。
在包含上面提到的MATLAB代码后,保存函数文件(fsssParser.m),以便您可以调用它来获取解析后的数据CustomSentence
nmeaParser系统对象的name-value pair。
下载另一个示例函数文件parserRMB.m本例中使用,单击打开实时脚本.这是一个针对人民币句子字段的函数文件(在NMEA标准4.1版中提到)。
从人民币句子中提取数据
使用CustomSentence名-值对创建一个nmeaParser系统对象,并指定消息ID为“RMB”,函数为“parserRMB”(在上一步中下载)。
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 DestinationWaypointID: NaN destinationwaypointl纬度:'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 '];
创建一个包含这两个句子的字符数组
rawnmedata = [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 destinationwaypointlatilatitude DestinationWaypointLongitude RangeToDestination BearingToDestination DestinationClosingVelocity ArrivalStatus ModeIndicator状态
利用内置支持(RMC)和RMB语句从句子中提取数据金宝app
通过使用MessageID属性(用内置的RMC支持解析一个句子)和CustomSentence名-值对(指定消息ID为“RMB”,函数为“parserRMB”(在前一步中创建))创建一个nmeaParse金宝appr系统对象。
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 '];
创建一个包含这两个句子的字符串数组
rawnmedata = [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 DestinationWaypointID: NaN destinationwaypointl纬度:'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
更多关于
状态字段
在每个输出结构中显示的状态字段以及提取的值可以用来确定解析状态:
状态:0
-句子有效(校验和验证成功,提取的数据与请求的Message ID一致)状态:1
—待解析句的校验和无效现状:2
—输入的数据中没有请求的句子
请注意
如果输入语句中没有值,则对应的输出值显示为字符串值“NA”,数字值“NaN”。
RMC的句子
解析完成后,输出结构中显示的字段名称 | 描述 |
---|---|
TalkerID | 确定传输数据的设备类型。例如,对于GPS接收器,TalkerID为 数据类型: |
消息id | NMEA消息类型- 数据类型: |
FixStatus | 可能的值:
数据类型: |
纬度 | 以度数表示的纬度。北被认为是正面的。 数据类型: |
经度 | 以度数表示的经度。东方被认为是正面的。 数据类型: |
水平速度 | 地面速度(米/秒) 数据类型: |
TrueCourseAngle | 以度为单位的地面航线。 数据类型: |
UTCDateTime | UTC日期和时间 数据类型: |
磁性变化 | 磁变值。W方向为负 数据类型: |
ModeIndicator | 可能的值:
数据类型: |
NavigationStatus | 可能的值:
数据类型: |
GGA句子
解析完成后,输出结构中显示的字段名称 | 描述 |
---|---|
TalkerID | 确定传输数据的设备类型。例如,对于GPS接收器,TalkerID为 数据类型: |
消息id | NMEA消息类型- 数据类型: |
UTCTime | UTC时间( 数据类型: |
纬度 | 以度数表示的纬度。北被认为是正面的。 数据类型: |
经度 | 以度数表示的经度。东方被认为是正面的。 数据类型: |
QualityIndicator | 可能的值:
数据类型: |
NumSatellitesInUse | 使用的卫星数量。这可能与观测卫星的数量不同。 数据类型: |
HDOP | 水平精度因子 数据类型: |
高度 | 高于平均海平面的高度(以米为单位) 数据类型: |
GeoidSeparation | 椭球与平均海平面之差,以米为单位 数据类型: |
AgeOfDifferentialData | 差别校正年龄 数据类型: |
DifferentialReferenceStationID | 提供差动校正的站号 数据类型: |
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 | 卫星ID编号指定为大小为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和对应的Signal Channel的可能值。
系统 | 解析数据中显示的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 | 范围的标准偏差的RMS值,单位为米。 数据类型: |
StdDeviationSemiMajorAxis | 半长轴的标准偏差(米) 数据类型: |
StdDeviationSemiMinorAxis | 半小轴的标准偏差(米) 数据类型: |
OrientationSemiMajorAxis | 半长轴方向,以度为单位 数据类型: |
StdDeviationLatitudeError | 纬度误差标准偏差,以米为单位 数据类型: |
StdDeviationLongitudeError | 经度误差的标准偏差,以米为单位 数据类型: |
StdDeviationAltitudeError | 高度误差的标准偏差(米) 数据类型: |
热变形的句子
解析完成后,输出结构中显示的字段名称 | 描述 |
---|---|
TalkerID | 确定传输数据的设备类型。例如,对于GPS接收器,TalkerID为 数据类型: |
消息id | NMEA消息类型- 数据类型: |
TrueHeadingAngle | 按正北方向的度数前进 数据类型: |
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。