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

在之前的文章中,我们介绍了什么是rtk,接下来我们将为大家展示rtk使用实例,可以通过两种不同的方法来模拟rtcm的使用,一种是基于rtcm插件,另一种是基于多实例来模拟两个同步的射频信号。
rtk插件方法可以帮助没有基础接收机而想模拟rtcm校正的用户,而第二种方式适用于那些希望将基本接收器纳入循环的用户,本期文章我们将先介绍第一种方法。
使用rtcm插件硬件设置可用于测试rtk插件的虹科safran gsg-8硬件模型有:
gsg-811
gsg-821
gsg-831
gsg-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(参考站位置)1073(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 应用套件
在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虚拟端口上添加以下信息:
gpggagpgsagpgsvgprmc进入“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插件进行模拟的硬件与软件设置步骤,在下期文章中,我们将展示这一方式的运行与分析模拟结果。

华为突遭谷歌釜底抽薪 官方安卓不再支持华为手机
wowstick A1 锂电螺丝刀拆解评测:不止是价格感人
电源芯片PN8368功能特点
GPS防盗器的常见性能对比及选择注意事项
从芯片到测试,详细解析Type-C 产业链全部细节
细说GNSS模拟器的RTK功能(二)应用实例01 — 硬件和软件设置
大幅面扫描仪的扫描速度
d型空气开关和c型空气开关的区别
dfrobot树莓派UPS电源扩展板简介
智能门禁电源的注意事项你都知道吗!
基于区块链和物联网技术的分散经济模型Treechain树链介绍
电子品名构成规则
PCB电磁干扰5个重要属性考虑
如何使用CubeMx生成一个DFU工程
罗姆收购Solar Frontier碳化硅工厂 计划到2027碳化硅功率半导体业务达139亿
国产车规级MCU实现量产 打破国外企业垄断
太阳能电站成清洁机器人首个商用级目标市场
分享一个图形化PING测试工具
电流互感器的低频率补偿电路图
你知道什么是铁基板吗