首页 > 范文大全 > 正文

基于DSP的导航计算机数据处理

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于DSP的导航计算机数据处理范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 研究了以数字信号处理芯片作为数字硬件平台,实现捷联式惯性导航系统(SINS)数据处理的软件设计。分析了捷联式惯性导航系统的动力学方程,模拟了陀螺仪漂移的数据,并用系统辨识中的时间序列分析法对漂移数据建模,之后进行了卡尔曼滤波。最后,在CC环境下,运用C语言和汇编语言混合编程的方式,将位移解算和卡尔曼滤波程序移植到开发板上,利用CC环境自带的优化编译器,对所编写的数据处理程序进行优化,使运行速度达到最快。

关键词: 数字信号处理; 捷联式惯性导航; 卡尔曼滤波; 系统辨识

中图分类号: TN96?34; TM417 文献标识码: A 文章编号: 1004?373X(2016)07?0044?04

Abstract: DSP chip taken as the digital hardware platform is researched to realize the software design of SINS data proces?sing. The kinetic equation of SINS is analyzed. The gyroscope’s drift data was simulated, and modeled with the time series ana?lysis method in system identification. And then Kalman filtering was conducted for it. The hybrid programming method of C language and assembler language is utilized in CC environment to transplant the displacement solution and Kalman filtering programming on development board. The optimization compiler owned by CC environment itself is utilized to optimize the compiled data processing program, which can make the running speed fastest.

Keywords: DSP; strapdown inertial navigation; Kalman filtering; system identification

0 引 言

获取导弹的飞行姿态信息和位置信息对分析其飞行动力学特性具有重要意义。本文的研究内容是在火箭弹的3个轴向上安装3个速率陀螺和加速度计,获取火箭弹的角速度和线加速度信息,通过导航计算机对得到的信息进行解算,得到火箭弹在飞行过程中的姿态和位置信息。惯性测量元件存在随机误差,这种误差在工艺上是不可消除的,其中陀螺仪的漂移误差是导致系统精度下降的重要原因。不管在何种应用还是何种形式的陀螺仪,陀螺漂移始终是制约其应用系统精度的关键问题。因此,为了提高导航系统的精度,有必要建立陀螺漂移的数学模型,对其进行有效滤波,或在系统中进行补偿。

近些年来,导航计算机广泛应用的是Intel80x86系列芯片和MCS?51单片机,运算的实时性不容易满足,针对这一问题,研究了基于dsp导航计算机数据处理技术,包括仿真陀螺仪和加速度计的输出信号,对陀螺的漂移进行卡尔曼滤波后将数据送入以DSP 为处理芯片的导航计算机,选择合适的解算方法解算出火箭弹在飞行过程中的姿态和位置,并对程序进行优化,满足导航计算要求的实时性和准确性。

1 捷联惯导系统数据处理技术研究

1.1 捷联惯导系统的计算原理

系统第一步通过[Cbp](姿态矩阵)推演得到[apib](游移方位坐标系),第二步,根据加速度计测量的惯性空间相对机体坐标系在[abib]分量的比例(机体坐标系轴向上的分量),得出导航位置参数。进一步,通过补偿角加速度和重力加速度,对[apib]用速度方程进行积分运算得到速度分量[Vpep]。[Vpep](速度分量)不仅可以作位置速率计算的输入,同时也可以用作系统的输出,为了得到[ωpep](位置角速率),可以使用位置速率方程计算,一方面通过位置微分方程的积分去更新位置矩阵[Cpe,]以便由位置矩阵中的元素[Cij]按照导航位置参数计算公式,解算出任意时刻的导航位置参数[φ,λ,α;]另一方面又与地球角速率[ωpie]迭加,通过[ωbib](陀螺输出的角速率)变换后和[ωbpb](姿态矩阵)一起构成姿态角速率,并实时更新姿态矩阵[Cbp,]同时使用姿态微分方程的积分运算。[Cbp](姿态矩阵)不仅可以担负起整体运作的作用,同时还可以进行由机体坐标系到游移方位坐标系的坐标变换。

1.2 用四元数法进行位置解算

所需初始数据:积分计算时需要的初始数据包括初始速度[Vx0,Vy0,Vz0,]初始经度[φ0,]初始纬度[λ0,]初始游移方位角[α0,]采样时间,积分步长等。在计算时,由于积分误差的存在,破坏了四元数变换的正交性,使四元数范数[N≠1。]因此,需要对范数进行修正,将四元数归一化。四元数归一化后即可得到姿态矩阵[Tij]中的各个元素,在弹道仿真时,得到的是在机体坐标系下的加速度计信息,姿态矩阵得到后即可将机体坐标系下的加速度信息转换为平台坐标系下的加速度信息,在位置解算时直接使用。

2 卡尔曼滤波算法的实现

2.1 时间序列分析法建立陀螺仪漂移模型

确定模型信号具有零均值、平稳、正态分布的特性。陀螺仪随机漂移是去掉均值的陀螺漂移信号,因此具备了零均值特性。对于通过测试系统测量得到的陀螺随机漂移信号,这时候系统的正态性也可以得到进一步的保证。因为未知外部环境及内部因素存在各种干扰和不确定性,目前很难保证陀螺漂移信号的平稳性。因此在系统建模的时候,就应该通过统计检验的科学数学方法,评判随机陀螺漂移信号的平衡稳定性。

系统假设条件如下:漂移数据去除了线性趋势项、常值项、周期趋势项,系统以动力调协式陀螺仪漂移为对象,得到了零均值、平稳、正态分布的白噪声序列。这个序列主要是用来验证模型参数辨识和卡尔曼滤波方法的有效性。

2.2 卡尔曼滤波初始值的确定

初始误差协方差矩阵[P0]与初始估计[X0]要求在卡尔曼估计开始前决定,预先根据已确定信息得出,同样可以通过观测得出。如果卡尔曼滤波估计方法应用于结构系统的识别,[X0]和[P0]的初值设定其实不会对滤波误差产生影响。此处设初始估计[X0]为漂移序列的初始值,初始误差协方差矩阵[P0=0。]

2.3 卡尔曼滤波程序的实现

3 在DSP开发板上的数据程序优化过程

在编写程序时,必须首先实现程序应该完成的功能,在此基础上才可以使用优化工具。下面同样以对位置解算程序的优化过程为例。

在C32的开发环境中,使用Profiling(剖析)功能,可以设置断点进行执行周期数的测试。因为使用的C32芯片主频为40 MHz,所以clock setup如图2所示,操作为profiler>clock setup。对时钟使能,观察时钟运行情况。

C32编译优化器的选项分为Optimization Level和Inline Option两个大类,他们各自又分为不同的级别。Optimization Level包括前面所说的优化等级,即Disable,Level 0?Registers Only,Level 1? Local, Level 2? Global, Level 3?File;Inline Option包括Disable,Intrinsic Operator Only,Full,其中Intrinsic Operator Only 的含义是指将C32特有的内联函数功能进行行内扩展,内联函数是专门为该芯片具体编写的,而且是已经过优化的常用函数。操作为:project>option…>compiler>optimization level,界面见图3。

下面对这些优化条件进行不同的组合,得到的求解四元数的核心程序dery的最短运行周期数,如表1所示。从表1中可以看出,若只使用Inline Option 中的Full选项,对程序的优化效果很显著,而Intrinsic Operator Only无任何效果,这是因为本文中的dery子函数未使用到C32的内联函数。另外,使用Optimization Level而不使用Inline Option时,在Level?0时会有很好的效果,而其他选项的效果并不明显,这是因为Level?0包括了将运行调用变为行内扩展的功能,与Inline Option的功能相同。

5 结 论

通过弹道仿真得到了捷联惯导系统中陀螺仪和加速度计的输出信号,根据得到的输出数据,编写位置解算程序对弹体在空中的位置信息进行解算,然后用系统辨识中的时间序列分析法对陀螺仪的漂移建模,通过卡尔曼滤波程序,对陀螺仪的漂移数据进行滤波,最后将程序从PC机上移植到DSP 开发板上,并利用优化编译器对位置解算程序进行了优化。

受C32SS开发板内存空间所限,目前只能存储弹道仿真程序步长为0.5 ms的数据,在今后的研究中,如果能够解决内存限制的问题,或在由实际的陀螺输出数据的情况下,可以缩短计算周期进行解算验证。本文采用的是最基础的卡尔曼滤波算法,为了得到更好的滤波效果,使滤波算法更加完善,在以后的工作中,可采用如扩展的卡尔曼滤波算法,自适应卡尔曼滤波算法等,并要考虑卡尔曼滤波的稳定性,对滤波中的发散现象进行抑制。

参考文献

[1] 陈哲.捷联惯导系统原理[M].北京:宇航出版社,1986.

[2] 孟秀云.导弹制导与控制系统原理[M].北京:北京理工大学出版社,2003:25?27.

[3] 付梦印,邓志红,张继伟.Kalman滤波理论及其在导航系统中的应用[M].北京:科学出版社,2003:8?10.

[4] VAN CLEVE D P. Weapon interface simulation [C]// Procee?dings of 1999 IEEE Conference on Systems Readiness Techno?logy. San Antonio: IEEE, 1999: 593?597.

[5] 尹勇,欧光军,关荣锋.DSP集成开发环境CCS开发指南[M].北京:北京航空航天大学出版社,2003.

[6] 曾广达.系统辨识与仿真[M].成都:电子科技大学出版社,1995:66?68.

[7] 林瑞阳,杨东升,邱锋.Unscented卡尔曼滤波对目标位置预测[J].现代电子技术,2014,37(1):34?37.

[8] Texas Instruments. TMS320C3X general applications [R]. US: Texas Instruments, 1998: 78?79.

[9] 张兆亮,赵伟,赵大建,等.导航计算机系统中CPLD配置软件串口更新研究[J].现代电子技术,2011,34(24):56?59.

[10] 陈亮,刘金学.基于DSP和FPGA的导航计算机系统设计[J].现代电子技术,2012,35(2):1?3.