前期实际北斗模块定位误差统计分析中得出了北斗模块的定位误差分布服从正态分布,根据北斗模块定位误差分布的规律,利用在同一块电路板上的双天线模块接收北斗定位信号,将定位信息传给TMS320F28335DSP芯片,DSP对北斗模块给出的定位信息做实时算法处理,并将处理后的定位信息传给嵌入式ARM芯片,ARM芯片在TFT液晶屏上更新定位信息,同时根据用户要求来设置北斗模块的工作模式。在接收不到北斗定位信息时DSP利用UKF滤波算法,将预测定位信息发送给ARM芯片,并标记为预测信息,且显示在TFT液晶屏上。

  北斗定位系统是我国自主开发的全球定位系统,目前北斗定位系统在轨运行卫星已达16颗,截止2012年12月27日,我国的北斗定位系统空间信号接口控制文件正式版已公布,北斗定位导航业务正式对亚太地区提供无源定位、导航及授时服务。该系统可为汽车、客机和轮船等常用交通工具提供定位服务,为精确制导武器提供定位导航服务,其对我国军事国防事业摆脱对国外GPS系统依赖有着重要意义,另外对农牧业、渔业生产也有着重要意义。

  在众多实际应用背景下,如何提高卫星定位导航系统的定位精度就显得尤为重要。本文提出一种基于双天线结构的构想,以提高北斗定位模块的定位精度为目的,在嵌入式ARM+DSP系统上实现北斗定位系统。

1 系统设计思想

  在卫星定位系统众多应用中,常用于描述卫星定位精度的参数主要有水乎均方根误差(Distance Root-Mean-Square,DRMS)、圆概率误差(Circular Error Probable,CEP)和球概率误差(Spherical Error Probable,SEP)等,这些参数被广泛用于测量和各种定位系统中,其计算和准确性与定位误差的三维分布特征密切相关。文献证明在一般情况下,定位误差的三维分布呈椭球状,被称为误差椭球。其几何特征主要包括椭球的轴方向、轴长和轴比。轴方向是椭球的3个主轴所在的方向,轴长是定位误差在椭球轴方向上的标准差,轴比是椭球3个轴长之间的比值。误差椭球的轴比决定了真实位置落在DRMS圆上的概率。

  在对文献分析后,进行单点100组连续北斗模块定位测试,统计误差分布规律,经实际测试、统计分析得出北斗模块的实际定位误差近似服从正态分布,北斗定位模块的水平定位误差依91%的概率收敛于8~10 m之间,其中9 m处的分布概率为82%,如图1所示。

图1 北斗模块测试统计情况

  DRMS值为9.0 m,记作R,在实际测量中北斗模块给出一组定位数据(a1,b1),记作A,a1、b1分别表示经度和纬度信息,则以(a1,b1)为圆心的DRMS圆如图2所示。

图2 北斗定位二维DRMS圆示意图

  在同一块电路板上使用双天线模块接收北斗定位导航信息,由于将两个天线并排安放,所以在任意时刻两个北斗定位模块相对于北斗卫星的通信链路相同,两个北斗定位模块可见星情况和接收到的前端卫星定位信息也相同。假定某一时刻两个模块接收到的定位信息分别为(a1,b1)和(a2,b2),以(a1,b1)和(a2,b2)为圆心,R为半径的DRMS圆,两圆记为A、B,则真实点依大概率收敛于两个圆交点中(a3,b3)、(a4,b4)。根据前一时刻的位置信息和速度信息可排除其中一个交点(a3,b3)或(a4,b4),则剩下的点就为真实位置的最大概率分布点。

图3 北斗双天线真实点分布示意图

2 系统硬件设计

  系统使用DSP+ARM双芯片结构,DSP主要负责接收北斗模块的定位信息和算法处理功能,ARM芯片负责与DSP芯片通信、控制TFT液晶屏的显示功能。硬件设计主要包括电源部分、ARM部分、DSP部分、网络部分、TFT液晶屏部分以及北斗模块多部分的设计。

  2.1 系统硬件结构框图

图4 系统硬件框图

  2.2 电源部分

  系统使用较为常见的12 V电压作为总的电源输入,经LM2596芯片得到5 V电压作为DSP模块和TFT液晶屏的电源,5 V电压经ASM1117得到3.3 V电压作为ARM模块和网络部分以及TF卡的电源。

  2.3 ARM部分设计

  ARM芯片使用意法半导体公司的STM32F103VET6芯片,该芯片为32位Cortex-M3内核微处理器,主频最高可达72 MHz,封装为LQFP100,减小了PCB板的面积。另外,还支持IO管脚的重映射配置,降低了PCB布线的难度,且支持JTAG、SWD两种调试/下载模式,方便用户使用市面上较为常见的调试工具J-LINK调试/下载程序,因此使用方便。

  2.4 DSP部分说明

  DSP部分使用的芯片为TI公司的新型数字信号处理器TMS320F28335,该款芯片最高主频达150 MHz,采用哈佛流水线结构,并具有片内硬件乘法器,完成一次浮点数的乘加运算只需10个机器周期,故可进行高速数据运算。

  2.5 网络部分说明

  网络部分主要提供了一个可选功能,当条件满足时可将系统的定位信息发送到以太网上,供远端的用户访问、查询。

  系统使用美国微星公司的ENC28J60网络芯片,该芯片为IEEE802.3兼容的以太网控制器,支持全/半双工模式,工作电压兼容TTL电平和CMOS电平,可编程会在发生冲突时自动重发,可编程填充和CRC生成,用于快速发送数据的内部FIFO、DMA以及硬件支持的IP校验和计算。其封装为SSOP28,与微处理器的链接方式为SPI总线,因此控制方便,最高速度可达10 Mbit·s-1。

  2.6 TFT液晶屏部分说明

  TFT液晶屏的每个像点均是由集成在像素点后面的薄膜晶体管来驱动的,从而可做到高速度、高亮度、高对比度显示屏幕信息,是目前最佳的LCD彩色显示设备之一,其效果接近CRT显示器,是现在笔记本电脑和台式机上的主流显示设备。

  系统使用16 bit真彩色,320×240分辨率TFT液晶屏。STM32F103ARM芯片负责TFT液晶屏的驱动,STM32F103ARM芯片与TFT液晶屏之间使用FSMC总线通信,以完成对该液晶屏的初始化和显示控制。

  2.7 北斗模块部分说明

  北斗模块部分使用北京和芯星通公司的UM220北斗定位芯片,其可同时支持BD2 B1、GPS L1两个频点,输出数据方式为USART,数据协议为NMEA 0183,默认通信波特率为9 600 bit·s-1,并可根据用户需要自行设定最高支持波特率为230 400 bit·s-1,其输入/输出信号类型均为LVTTL电平。

  UM220通过串口与DSP连接,DSP通过串口完成对北斗模块的配置,并接收其定位信息。

3 系统工作流程

  3.1 系统总体工作流程

  系统采用DSP+ARM双核结构,DSP与ARM各司其职。在系统上电后,DSP、ARM芯片完成上电复位,DSP通过USART接收北斗定位模块的定位信息,在不失星的情况下进行北斗双天线定位算法计算。而DSP在进行北斗双天线定位算法计算后,通过串口将计算后的北斗定位信息发送给ARM芯片。若处于失星的情况下,进行UKF算法轨迹预测,并将得到的预测结果通过串口发送给ARM芯片,ARM芯片接收到北斗定位信息后,通过FSMC总线将定位信息更新到TFT液晶屏上,如图5所示。

图5 系统程序流程图

  3.2 轨迹预测算法设计

  系统采用无迹卡尔曼滤波(UKF)做为失星情况下的轨迹预测算法。无迹卡尔曼滤波(UKF)是一种基于最小方差估计准则的非线性状态估计器,其以非线性最优高斯滤波器作为基本理论框架。UKF采用UT变换技术,即采用确定的样本点(Sigma点)来完成状态变量统计特性沿时间的传播,改进了扩展卡尔曼滤波(EKF)不能求解雅可比矩阵以及泰勒级数线性化只具有一阶的低精度问题,其逼近精度可达二阶或二阶以上。U KF算法实现过程如下

  Step1

(1)

  式中,x为未失星前时刻北斗双天线定位所得定位经、纬度信息;px是x的协方差;n表示系统状态维数;北斗应用中n取值为2;λ是微调参数,其可控制样本点到均值的距离。

  step2 根据系统状态方程求样本点传递值

(2)

  Step3 求系统定位误差均值和方差的一步预测

(3)

  Step4 根据系统量测方程求取定位误差状态一步预测的传递值

(4)

  Step5 获得定位误差均值和协方差

两个点 定位_基于双天线的北斗定位系统设计与实现相关推荐

  1. Halcon实战项目讲解,定位,基于汽车离合片精密定位尝试。

    Halcon实战项目讲解,定位,基于汽车离合片精密定位尝试. 在离合片的凸出齿部任意的一个齿下刻蚀一个23mm的数字字符.单齿的空间为34mm. 所需要完成内容,定位到齿靠下部分的位置,并传输坐标和角 ...

  2. 三维点云可以导航吗_基于视觉高精定位的“室内AR导航”技术点解析

    自1967年卫星导航技术开放民用以来,经过50多年发展,导航定位已广泛应用于交通物流.地理信息.高精度测量等多种行业中,提升了现代社会的运营效率,也为个人生活和出行都带来巨大便利. 不过,尽管导航定位 ...

  3. 蒙特卡洛粒子滤波定位算法_蒙特卡罗定位算法(基于粒子滤波的定位算法) ——原理、理解与仿真...

    1 算法原理 1.1 机器人定位问题 关于机器人定位,有三大问题,它们分别是: (1)"全局定位":指初始位置未知,机器人靠自身运动确定自己在地图中的位姿. (2)"位姿 ...

  4. 液压支架销轴力学计算分析研究_基于RFID射频精准定位的智能开采研究与应用...

    一.项目背景 近年来随着智能开采技术的不断发展,装备和新工艺不断更新换代,在智能开采中,对采煤机位置的精准定位是能否实现智能开采的关键,只有准确无误地获取煤机的准确位置,才能实现工作面的智能化开采,进 ...

  5. 无人机寻迹要两个单片机吗_基于OpenMV的循迹无人机设计

    基于OpenMV的循迹无人机设计 发表时间:2020-08-24 基于OpenMV机器视觉模块进行目标识别算法的研究.利用图像的滤波.二值化等算法对摄像头采集的图像进行预处理;利用边缘检测和形状识别算 ...

  6. 基于单片机的北斗定位无人机救火系统(两种程序:单片机与android系统app程序源码)

    功能: 本次设计是一个基于北斗定位的无人机灭火系统,本次设计主要通过北斗系统定位,能够将获取到的位置信息通过无线通讯技术传输到无人机上,进行火灾救援.本次设计需求主要为一下几点: 北斗定位获取火灾位置 ...

  7. python卡尔曼滤波室内定位_基于核函数与卡尔曼滤波的室内定位方法

    随着当今社会的发展,基于位置的服务变得越来越重要.室外定位技术以全球定位系统为基础,包括美国的GPS定位系统,俄罗斯的GLONASS定位系统以及我国自主研制的北斗卫星导航定位系统,利用这些定位系统可以 ...

  8. java wifi定位原理_基于wifi的室内定位方法深度分析.doc

    大连理工大学本科毕业设计(论文) 基于WiFi信号的室内定位方法 Indoor localization method based on the WiFi signal 学 院(系): 软件学院 专 ...

  9. python卡尔曼滤波室内定位_基于扩展卡尔曼滤波算法的室内定位跟踪系统

    基于扩展卡尔曼滤波算法的室内定位跟踪系统 凌海波,周先存 [摘 要] 摘要:为了解决无线室内定位系统实时跟踪位置坐标误差较大问题, 提出一种基于扩展卡尔曼滤波 (EKF) 算法的室内定位方法.系统采用 ...

最新文章

  1. linux(ubuntu) 查看系统设备信息 命令
  2. Java设计模式 创建模式-单态模式(Singleton)
  3. 手把手教你部署一个最小化的 Kubernetes 集群
  4. 【文章】论文写作知识积累
  5. 【无人驾驶】基于毫米波雷达的自动紧急刹车系统设计
  6. linux查看系统版本_Win8系统查看directx版本的操作方法是什么?
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的家乡美管理系统
  8. python pdb调试多进程_Python使用pdb进行调试
  9. 20200926:(leetcode207周周赛题解(上))
  10. TeamViewer中一些按钮的功能
  11. 微软小冰迎来了一个新姐妹:“欣小然”
  12. MSDEV.EXE 版本
  13. python 生成nc文件_如何python写nc文件
  14. python爬虫——中文编码
  15. 流量计算机标准,-流量计执行标准
  16. 显示虚拟按钮Menu键
  17. 训练赛 Discrete Logarithm Problem
  18. python实现基于KNN算法的手写数字识别系统 非常详细!!!!
  19. word生成目录右对齐
  20. 解决表格的Drag a column header here to group by that column

热门文章

  1. Spring学习(1)之IoC和Di
  2. Vue2实现仿小米商城练手项目前端篇(2-首页实现)
  3. 学生党蓝牙耳机有什么推荐?学生党好用蓝牙耳机推荐
  4. CloudStack 4.1.0 安装详解
  5. DevOps工具链学习——什么是DevOps
  6. 超级实用地道美式口语(1)
  7. UMU支持微软从今天开始使用 XPS 格式,逐渐放弃 PDF 格式
  8. Dictionary的基本用法
  9. UI自动化测试用例的编写
  10. linux格式化磁盘命令(磁盘分区及格式化)