• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 文学百科 > 正文

    如何进行GPS数据预处理 基于小波分析的GPS数据预处理研究及程序实现

    时间:2019-05-26 03:26:31 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

      摘要:采用小波分析对GPS信号进行预处理,消除或削弱多路径效应和观测噪声,进一步提高GPS定位精度和可靠性。本文开发一种基于VB/MATLAB的GPS数据预处理程序,对GPS观测信号进行小波分析,使分析处理更直观方便。
      关键词:小波分析;GPS;VB;MATLAB
      Abstract: the application of wavelet analysis on GPS signal pretreatment, eliminate or weaken the multipath effect and observation noise, further improve GPS location accuracy and reliability. This paper developed a based on VB/MATLAB GPS data pretreatment program, on GPS observation signal wavelet analysis, make analysis more intuitive convenient.
      Keywords: wavelet analysis; GPS; VB; MATLAB
      
      
      中图分类号:P228.4文献标识码:A 文章编号:
      1前言
       自20世纪70年代至今,GPS定位技术在应用基础研究、新应用领域的开拓、接收机技术、数据处理理论等方面迅速发展。GPS定位技术已经广泛地渗透到了经济建设和科学技术的许多领域,目前GPS技术在大范围测量控制网、城市控制网、测图控制网中发挥了越来越重要的作用。但由于观测条件的复杂多样性,GPS接收信号受到多种误差的影响, 其中一些误差为系统误差,如电离层和对流层折射、卫星钟差、接收机钟差等,可以通过模型改正或作业模式等方法加以削弱或消除,另外一些误差为随机误差,如多路径效应、接收机随机噪声和测区周围电磁波的干扰等,无法通过模型化的方法加以削弱或消除,这些误差过大必将严重影响GPS观测成果的精度,使测量成果难以达到预估及规定的精度要求[1]。
       小波分析是一种窗口大小固定但其形状、时间窗和频率窗都可改变的时域局部化分析。因此,可通过小波变换对GPS信号进行分解,更深层次认识GPS信号特征,消除信号中的噪声,进而提高GPS定位的精度[2]。根据小波分析理论,针对GPS数据预处理问题,本文开发基于小波分析的GPS数据预处理程序,程序集成VB良好的用户界面和Matlab7.0强大的小波函数数值计算及图形显示等功能,是一个对RENIX格式的GPS观测数据进行“净化”的软件系统,可对复杂观测条件下的观测数据进行预处理,以提高数据处理的精度。
      2基于小波的GPS数据预处理方法
      2.1小波去噪原理
       小波变换作为一种新的信号处理工具,近年来在信号去噪领域的应用日渐增多,由于小波分析的良好时频局部性,通过小波变换可对信号的不同频率成分进行分解,为信号滤波、信噪分离和去噪提供了有效途径[3]。
      设有如下观测信号
      
       式中,为原始信号,为噪声信号。去噪的主要任务就是最大可能地将有用信号和噪声信号分离,保留真实的信号,去除噪声信号,以达到去噪的目的。直接从观测信号中提取和处理有用信号是很困难的,必须借助于其它变换方法。将噪声看成是一个普通的信号,如果它是一个平稳、零均值的白噪声,则其小波分解系数是不相关的,高频系数的幅值随着分解层数的增加而快速地衰减,高频系数的方差也很快的衰减。如果它是一个高斯噪声,则它的小波分解系数是独立的,也是高斯分布。当对噪声进行小波分解时,同样会产生高频系数,所以含噪声信号的小波变换等于信号的小波变换与噪声的小波变换之和。根据噪声和信号的不同小波变换特性,就可以对信号进行去噪处理。基于这一变换特点,小波去噪的基本方法是:首先对含噪声信号进行多尺度小波变换,然后在尺度下尽可能提取信号的小波系数而去除属于噪声的小波系数,最后用逆小波变换重构信号,从而达到去噪的目的。这一过程的关键是用什么准则来去除属于噪声的小波系数,增强属于信号的部分[4]。
      2.2含噪GPS信号的降噪处理
       在GPS原始相位观测值中,如果从纯频率的角度看,观测数据序列中的有用信号和各种观测噪声都有不同的频率范围,它们的时频特性通常是不一样的。有用信号时频域上是局部化的,表现为低频特性或平稳的信号,而观测噪声和多路径效应在时频空间中的分布是全局性的,在频域上表现为高频信号。由于小波分析良好的时频局部性,通过小波变换对GPS信号的不同频率进行分解,为信号滤波和信噪分离提供了有效方法。基于小波分析的GPS数据预处理的基本思想是:以RINEX原始观测数据为输入文件,经过不同方法、不同策略处理,最终还原为RINEX格式的观测文件。根据小波分析处理信号的方式不同,本文研究了基于小波分析的GPS数据预处理的两种模式,即基于原始观测信号和基于双差观测信号的预处理模式。无论采用何种方法,最终得到的数据却还原为原始观测数据的形式。
       (1)基于原始观测值预处理
      直接对原始观测数据进行小波分析是比较简单的预处理方法,它直接对每颗卫星的载波观测值进行小波分析,然后把经过处理后的观测值还原为RINEX格式的观测文件。前面已述,GPS接收机观测过程中除了接收真实的信号外,同时还受到卫星钟差、大气折射、接收机钟差、多路径效应等因素影响,因此接收到的信号是一个含有噪声的混频信号,从受到多种误差影响的观测值中提取有用的观测信号是有一定困难的。
       基于原始观测值预处理方法的流程见图1,从图中可以看出,该处理方法主要由载波信号提取、小波分解、小波去噪、新文件合成几个步骤,可以不断地调整小波分析策略进行小波分析与去噪。在整个过程中对处理后的载波信号生成新的RINEX格式观测文件。
       (2)基于双差观测值预处理
       采用载波相位双差观测值来解算基线,除了消除卫星钟差、接收机钟差、还减弱了空间相关性强的大气折射误差。但由于多路径效应等非模型化误差的影响,这些不能通过差分方法消除,也不能被观测模型吸收的误差在信号中将表现为高频信号,采用小波去噪方法将这些误差消除,得到“净化”的GPS观测数据,达到提高基线解算精度的目的。
       基于双差观测信号的处理方法的流程如图2,从图中可以看出,该模式与基于原始观测值信号的预处理模式相比,不同之处在于小波分析的是双差观测值信号,因此在小波分析前需先形成双差观测值,在小波分析和去噪之后并不能直接合成新的RINEX格式观测文件,需要根据双差观测值信号小波分析前后的偏差来改正双差观测值对应的原始观测文件,最后再合成新的RINEX格式观测文件。通过对双差观测值进行小波分析和去噪达到消除或削弱原始观测值中的非模型化误差。
      
      
       图1 原始观测值处理模式流程图图2 双差观测值处理模式流程图
      3程序的设计与实现
       目前,利用VB与Matlab相互连接的常用方法有:借助ActiveX部件、借助DDE技术、借助编译M文件、引入MatrixVB等[5]。根据本程序的特点,利用ActiveX技术实现在VB中调用Matlab。ActiveX技术是以组件对象模型(COM)技术为基础的一种应用程序开发技术和体系结构的总称,它是Microsoft提供的一种用于模块集成的新协议,它允许应用程序或组件控制另一个应用程序或组件的运行。ActiveX部件是一些遵循ActiveX规范编写的可执行代码。在程序中加入ActiveX部件后,它将成为开发和运行环境的一部分,并为应用程序提供新的功能。ActiveX部件特有的方法和属性大大地增强了程序设计的能力和灵活性,自动化是大多数ActiveX技术的基础,它可使解释性的宏语言能够在不了解应用程序实现细节的情况下控制自动化对象。
      3.1程序设计中关键问题的解决方法
       利用ActiveX进行VB与Matlab的交互通信时,所采用的Matlab语句是直接使用Matlab提供的小波函数和图形库命令,具有较高自动化程度和效率、数据交换能力强等优点,但也存在与Matlab 共享工作空间的变量较为麻烦、对Matlab系统的控制相对复杂、无法充分利用Matlab强大的矩阵运算和图形显示等功能的缺点[6]。
       (1)通过创建m文件可以缩短程序的开发时间,充分利用Matlab自身语法结构和数值计算的优势,提高系统运行的效率。在Matlab环境下,Matlab自身的许多命令都是以M文件的形式存在的。因此,可以创建系统功能所需要的M文件,VB就可以利用Execute方法调用Matlab执行该M文件,从而发挥Matlab自身语法结构优势。
      (2)利用Matlab 作为ActiveX 部件时,VB应用程序将自行启动Matlab 的ActiveX自动化服务程序,并且在程序完成用户指定的任务后将自行关闭ActiveX自动化服务程序。但是,如果待完成的任务复杂时,VB应用程序需要反复启动ActiveX部件,这样不但降低了系统处理效率,而且不能达到实时处理的目的,若能事先加载Matlab.exe进程和Matlabserver.exe进程,则驻留内存的进程可随时响应VB应用程序的服务请求,当所有服务请求响应完毕再卸载服务进程。另外,Matlab系统集成环境窗口的出现容易干扰用户的操作,可以添加相应的程序隐藏它,使Matlab更象后台服务程序。
       (3)为了在VB应用程序中获取Matlab中所生成的图像,并将图像显示在界面上,可以使用先将Matlab生成的图像以图片格式存入剪贴板或文件中,然后再将图像从剪贴板或文件中读出。利用Matlab作为ActiveX自动化服务器时,通常会产生一些多余的Matlab本身生成窗口(如显示图像的窗口),若不需要这些窗口,采用相应的命令即可将其自动关闭。
       (4)当有多个VB应用程序同时使用Matlab作为ActiveX自动化服务器时,存在VB应用程序与Matlab共享工作空间变量的问题,采用PutFullMatrixh和GetFullMatrix方法则可以有效地解决。
      3.2程序功能的实现
       直接对原始观测数据进行小波分析是比较简单的预处理方法,它直接对每颗卫星的载波观测值进行小波分析,然后把经过处理后的观测值还原为RINEX格式的观测文件。
       运行主程序,然后打开RINEX格式的观测文件,提取并分离观测文件中不同类型的观测数据。如图3,在程序窗体左上部分可以选择小波函数和分解尺度;在左下部分中可以选定的卫星号是GPS观测文件中所观测到的卫星的PRN号码;窗体右边的窗口显示原始载波信号和小波分解的高频系数,选择不同的卫星号码,窗口显示不同的卫星信号分解后的图形,可以反复试验选择小波函数和分解尺度,从而查看和比较其小波分解后的效果。选定窗体左上部分的阈值策略进行小波去噪后,窗口显示信号去噪前后的图形,选择不同的卫星号码,窗口显示不同的卫星信号去噪前后的图形,同时输出该信号的信噪比,比较不同阈值策略下的去噪效果。最后将去噪后的数据与其它类型的数据合成新的RINEX格式观测文件。
      
      图3 原始载波信号小波分解与去噪
       打开第二个观测文件,进入双差观测信号小波分解与去噪的界面,它与原始观测信号分解与去噪界面类似,对双差观测信号进行小波分析与去噪。对双差信号分解和去噪后,通过双差信号去噪前后的偏差来改正两个站的原始载波观测值,再与其它类型观测数据合成两个新的RINEX观测文件。
      4结论
       (1)在GPS相位观测数据序列中的有用信号和噪声的时频特性通常是不一样的,通过小波分析技术,可有效的分离有用信号和噪声,对信号重构后,可以有效地消除或削弱许多观测噪声的影响,提高在恶劣条件下GPS观测成果的精度及可靠性。
       (2)利用ActiveX技术,在VB应用程序中调用Matlab,利用VB良好的界面和Matlab强大的小波分析函数、数值计算和图形显示功能,实现基于小波分析的GPS数据预处理软件,大大提高了数据处理的速度和准确度。
      参考文献:
      [1]黄丁发,熊永良,袁林果.全球定位系统—理论与实践[M].成都:西南交大出版社,2006
       [2]熊永良,黄丁发,张献州.一种基于小波变换的GPS基线求解算法[J].测绘学院学报 2000
      [3]葛哲学,沙威.小波分析理论与MATLABR2007实现[M].北京:电子工业出版社,2007
      [4] 孙延奎.小波分析及其应用[M].北京:机械工业出版社,2005
       [5]朱宝训,金松河,李亚岗.在VB中调用MATLAB的方法及其在测量数据处理中的应用[J].平顶山师专学院,2004,10
       [6]胡智文,陈连运,余増亮.利用AcitiveX技术的VB与Matlab间的无缝集成[J].计算机工程,2004
      注:文章内所有公式及图表请以PDF形式查看。

    相关热词搜索: 预处理 小波 程序 分析

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章