原创 细说GNSS模拟器的RTK功能(二)应用实例01 — 硬件和软件设置

2023-9-4 11:49 956 3 3 分类: 通信 文集: 车辆无线通信

在之前的文章中,我们介绍了什么是RTK,接下来我们将为大家展示RTK使用实例,可以通过两种不同的方法来模拟RTCM的使用,一种是基于RTCM插件,另一种是基于多实例来模拟两个同步的射频信号。

RTK插件方法可以帮助没有基础接收机而想模拟RTCM校正的用户,而第二种方式适用于那些希望将基本接收器纳入循环的用户,本期文章我们将先介绍第一种方法。

使用RTCM插件硬件设置

可用于测试RTK插件的虹科Safran GSG-8硬件模型有:

GSG-811GSG-821GSG-831GSG-842
1 RF Output

1 GPU/SDR
2 RF Outputs

1 GPU/2个SDR
3 RF Outputs

1 GPU/3个SDR
4 RF Outputs

2 GPU/4个SDR

在这个应用实例中,我们将展示一个简单的场景,将RTCM插件与虹科Safran Skydel搭配使用。


​在系统配置图中可以看到,RF0和RF1使用一个合路器、隔直器和20dB衰减器进行组合。Skydel的主实例和从实例都在同一个虹科Safran GSG-8单元上运行。在本文中,配置的是L1/L2信号,但对于RTK来说,并不强制要求是双频的,用户可以只使用GSG-811选择L1频率。

软件设置

需要两个Skydel应用程序的实例来模拟参考站和流动站的GNSS星座。流动站实例使用连接到被测流动站接收器的射频输出,用于虚拟参考站模拟的实例可以被配置为使用 "NoneRT "输出。

基准站配置

打开一个Skydel实例,新建配置,选择“Settings(设置)”→“Output(输出)”:

信号选择

在“Settings(设置)”→“Output(输出)”中,选择“NoneRT”输出,然后单击 “Add(添加)”两次,在输出设置中选择要为参考站模拟的信号。

与基准站进行时间同步

允许参考站模拟器与流动站模拟器同步:

  • 进入“Settings(设置)”→“Global(全局)”→ “Synchronize simulators(同步模拟器)”
  • 设置复选框“Sync Time (Slave)(同步时间(从属))” ,这将允许两个实例在同一时间启动。

车辆运行轨迹

在“Settings(设置)”→“Vehicle(车辆)”→“Body(车身)”中选择参考站位置。将轨迹类型设置为“Fixed(固定)”,并输入如图所示的坐标:


RTCM配置

将RTCM插件加载到配置中。进入“Settings(设置)”→“Plug-ins(插件)”,选择“Add Plug-in(添加插件)”。设置插件实例的名称和类型,并选择 "OK":

​选择新的插件实例:


插件UI菜单显示插件的界面:


“Stream RTCM to port”行允许选择用于广播RTCM数据的串口,PC串口必须物理连接到接收器。确保通信参数(在“Configure(配置)”按钮下方)与接收器端的串口参数匹配。选定的波特率应足以实时广播所有选定的消息,通常选择115200。

在RTCM Messages菜单中,本方案中选择的消息包括:

  • 1006(参考站位置)
  • 073(MSM3 GPS)

流动站配置

打开一个Skydel实例,新建配置。

  • 信号选择

点击Radio 1的RF-A输出的编辑按钮,并为Radio 2选择GPS L1 C/A和GPS L2C。

  • 与流动站的时间同步

允许流动站模拟器与参考站模拟器同步。进入“Settings(设置)”→“Global(全局)”→“Synchronize simulators(同步模拟器)”,设置复选框“Sync Time (Master)(同步时间(主))”,这将允许参考站模拟与流动站模拟同步开始。

设置复选框 "Automatically broadcast configuration on simulation start"。在“Exclude”一栏,勾选“Radios”、“Outputs and Radios”、“Vehicle motion”、“Vehicle antenna”、“Interference”和“Plug-in”。

  • 车辆运行轨迹

在“Settings(设置)”→“Vehicle(车辆)”→“Body(车身)”中选择流动站轨迹,将轨迹类型设置为 "Circle(圆形)",并按照图片中的描述输入坐标:

​本文使用Novatel OEM7700接收器演示该功能,如果接收器不同,请根据使用说明安装和配置接收器。

NOVATEL接收机
  • 安装 Novatel 应用套件

在Windows® 10计算机上运行NovAtel应用套件,并通过串行、USB或以太网连接与Novatel接收机进行通信。按照安装指引安装NovAtel应用套件。

  • 启动 Novatel 应用套件

打开应用程序,点击设置监控(S&M)图标。

  • 添加一个设备 - USB连接

在启动接收机的设置与监控会话之前,必须在设备窗口为接收机添加一个设备:

​单击“Add Device(添加设备)”按钮,打开新连接的对话框:

​键入一个设备的名称,点击“USB”按钮。新连接对话框展开,显示USB设置:

​点击这个接收器使用的虚拟COM端口上的按钮,点击“Add”按钮,添加新设备到设备窗口中。

  • 状态与配置窗口

当与接收机的连接被打开时,将显示状态与配置窗口。接收机的所有状态和配置窗口都可以从此进入:

​要将 Novatel 接收器设置为 RTK 模式,需要进入配置菜单并选择定位窗口,勾选“Receive(Rover)”并点击下一步:

在定位菜单中,启用RTK并选择AUTO作为输入格式,在输入端口中选择COM1:

​点击COM1配置,选择波特率值为115200:

​也可以对Novatel的NMEA信息进行配置,以便能够在虹科Safran Skydel接收器窗口中观察到它们:


要做到这一点,需要进入应用程序的端口部分,在其中一个USB虚拟端口上添加以下信息:

  • GPGGA
  • GPGSA
  • GPGSV
  • GPRMC

进入“Logging(日志)”菜单,在自定义信息部分输入“BESTPOS”,然后点击 “Next”:

在弹出的窗口中选择编辑,将BESTPOS信息的格式改为ASCII,以文本格式保存Novatel接收器的原始数据,单击“Start”按钮:

​在菜单“Tools(工具)” → “Terminal.(终端)”中输入“reset”。

​为了分析模拟的准确性,可以查看日志文件中捕获的数据,可以创建一个接收器记录的海拔高度随时间变化的图:


使用GitHub repo上的python脚本main_rtcm.py来绘制海拔高度,可以从Skydel的GitHub上访问该脚本。确保使用3.8版本及以上的python,把文件路径放到python脚本中,然后运行该脚本:

# importing csv module import ... # csv file name filename = "your_file.gps" # initializing the titles and rows list fields = [] rows = [] # reading csv file with open(filename, 'r') as csvfile: # creating a csv reader object csvreader = csv.reader(csvfile) # extracting field names through first row

得到结果如下:

本次测试定义的高度是2米,图中显示误差小于3厘米,相比之下,如果在“Settings(设置)”→“Plug-ins(插件)”→“RTCM plugin(RTCM插件)”→“Remove(删除)”中删除参考站配置中的RTCM插件,将得到如下结果:


​通过比较上述两种结果可以看到RTCM插件所提供的稳定性和修正。

上述是基于RTCM插件进行模拟的硬件与软件设置步骤,在下期文章中,我们将展示这一方式的运行与分析模拟结果。

作者: 虹科测试测量TM, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3989649.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 3
赞赏0

文章评论0条评论)

登录后参与讨论
我要评论
0
3
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /4 下一条