使用Matlab的GPS Log二进制文件

时间:2013-12-26 16:27:49

标签: matlab gps

我有一个二进制文件,但是采用“txt”格式,我想用Matlab提取这个文件的值,但实际上我不知道怎么做。 通常我使用一些软件将数据转换为可读的数据,但现在它不能使用此文件。 所以,任何人都知道如何做到这一点? 请一步一步来。 这是我的档案: GPS binary log file 消息的描述如下:

Header
Field #  Field Name    Field Type    Desc                 Bytes    Offset
1        Sync          char          Hex 0xAA             1        0
2        Sync          char          Hex 0x44             1        1
3        Sync          char          Hex 0x12             1        2
4        Header Lgth   uchar         Length of header     1        3
5        Message ID    ushort        Message ID of log    2        4
8        Message Lgth  ushort        length of message    2        8
11       Time Status   enum          Quality of GPS time  1        13
12       Week          ushort        GPS week number      2        14
13       Milliseconds  GPSec         Time in ms           4        16

您也可以在此链接中查看有关说明的完整文档: Description document by NOVAtel

这是我的简单代码:

fileID = fopen('test.txt');
A = fscanf(fileID,'%x');
fileID = fopen('dec.txt','w');
fprintf(fileID,'%6.2f %12.8f\n',A);
fclose(fileID);

我在matlab中使用这段代码解决了这个问题:

fileID = fopen('test.txt');
A = fscanf(fileID,'%x');
fid = fopen('binary1.bin', 'w');
fwrite(fid, A)
fclose(fid);

然后使用软件NovAtel converter4将二进制文件转换为ASCII文件和Rinex。 非常感谢Mr.aDonda

0 个答案:

没有答案