一种基于LMS算法的船用捷联惯导系统水平阻尼方法与流程

文档序号:13661290阅读:712来源:国知局
一种基于LMS算法的船用捷联惯导系统水平阻尼方法与流程

本发明涉及导航领域,具体涉及一种基于lms算法的船用捷联惯导系统水平阻尼方法。



背景技术:

捷联惯性导航系统是一种自主式导航系统,大部分运载体工作在不受加速度的干扰的无阻尼状态,对飞机、导弹等加速度和速度很大,使用时间又很短的系统来说,误差积累并不严重;但对使用时间久,加速度又不太大的舰船来说,会产生三种周期性振荡误差,即舒勒周期振荡、傅科周期振荡和地球周期振荡,并且随着时间的积累,误差是发散的。

目前,学者们正努力寻求有效的抑制舒勒振荡误差的算法。惯导系统与gps的组合导航系统可以消除发散的振荡性误差,但gps易受干扰,且在水下无法使用,因此在无法获得位置信息的情况下,只能依靠速度信息抑制舒勒振荡。

传统的外水平阻尼网络由多普勒提供速度信息,通过尝试法得到各个阻尼参数,能够很好的消除舒勒振荡误差,但是在阻尼切换时会产生超调误差,且外参考速度误差越大,产生的超调越大。因此何虔恩等人提出《基于互补滤波的惯导系统水平阻尼网络设计》文献中将具有优良高频特性的常速度网络和具有优良低频特性的相位滞后-超前网络进行互补匹配,得到同时具有优良高低频特性的阻尼网络,计程仪提供速度信息与惯导解算的速度信息之差通过阻尼网络来抑制舒勒振荡,但此方法在实现时应用到数字滤波器,离散化的周期会影响阻尼的效果和稳定程度,参数的选取较敏感,造成了一定的局限性。随后,刘飞等人提出《基于kalman滤波技术的捷联惯导系统水平阻尼算法》,立足现代控制理论,提出一种基于卡尔曼滤波技术的惯导/多普勒的水平阻尼算法,但卡尔曼滤波算法对初始值的选取以及过程噪声的协方差很敏感,在实际应用中,无法获得准确的加速度计误差与陀螺漂移。现有的外水平阻尼方法都需要外部传感器提供速度信息,本发明旨在解决以上问题,通过lms(leastmeansquare,最小均方)算法抑制惯导内解算水平姿态信息中的舒勒周期振荡,以达到系统水平阻尼的目的。



技术实现要素:

本发明的目的在于提供一种不利用惯导外部信息阻尼惯导系统舒勒振荡的、阻尼精确更高的基于lms算法的船用捷联惯导系统水平阻尼方法。

本发明的目的是这样实现的,包括如下步骤:

步骤一.船用捷联惯导系统进行实时解算,采集水平姿态角和航向角;

步骤二.通过基于lms算法的舒勒振荡估计算法估计出水平姿态角的舒勒振荡分量;

所涉及通过基于lms算法的舒勒振荡估计算法估计出水平姿态角的舒勒振荡分量的步骤为:

(1)对水平姿态角建立模型,模型表达式为

r(k)=[w1(k),w2(k)…w2m(k)]·[r1(k),r2(k)…r2m(k)]t

=[wu(k),ws(k)]·[ru(k),rc(k)]t

式中[w1(k),w2(k)…w2m(k)]为模型的系数向量;m为lms算法参数,值为整数;k为算法迭代的次数;rn(k)为单位正余弦项和常值分量,表达式为:

式中,t为惯性解算数据的周期,wu(k)为有用信号模型系数向量,ws(k)为舒勒振荡模型中的系数向量,ru(k)为有用信号模型中的单位正余弦向量,rc(k)为舒勒振荡模型中的常值向量;

(2)利用lms算法修正系数向量wu(k)和ws(k),表达式为

e(k)=rins(k)-r(k)

式中,e(k)为修正量,rins(k)为横摇信息;

wu(k+1)=wu(k)+2μue(k)ru(k)

ws(k+1)=ws(k)+2μse(k)rc(k)

式中,μu和μs为收敛因子;

(3)计算出水平姿态角的舒勒振荡分量rs(k),计算表达式为

rs(k)=ws(k+1)rct(k)

步骤三.将估计出的水平姿态角舒勒振荡分量闭环反馈至船用捷联惯导系统;

首先将估计出的水平姿态角舒勒振荡分量rs(k)反馈给rins(k),得到反馈后的水平姿态角r′ins(k),表达式为r′ins(k)=rins(k)-rs(k)。

然后将lms算法中舒勒振荡分量的系数向量ws(k)置零;

根据修正后水平姿态角以及航向角构造出捷联矩阵c′ins,代入惯导系统进行解算;

步骤四.实时输出修正后的船用捷联惯导系统信息;

进一步的,收敛因子的取值范围满足:

式中r为向量[r1(k),r2(k)…r2m(k)]的自相关矩阵,tr[r]代表矩阵r的迹。自相关矩阵r的表达式为:

进一步的,收敛因子μu应尽量趋近于μs远小于

进一步的,所述lms算法参数m的取值范围为10~20。

与现有技术相比,本发明的有益效果是:

1.本发明利用了利用lms算法估计出惯导系统输出水平姿态角的舒勒周期振荡分量,然后通过估计的结果对捷联惯导系统进行反馈校正,从而实现惯导系统的水平阻尼。本发明能够提高船用捷联惯导系统的整体性能。

2.本发明方法不依赖外部信息实现水平阻尼,且具有计算量小,阻尼效果好。

附图说明

图1.基于lms算法的船用捷联惯导系统水平阻尼流程图;

图2.基于lms算法的舒勒振荡分量估计原理图;

图3.真实数据下惯导系统解算纵摇角的舒勒振荡估计值;

图4.真实数据下惯导系统解算纵摇角和舒勒振荡开环反馈后纵摇角的对比图;

图5.仿真数据下惯导系统解算水平姿态角误差和使用本发明后的水平姿态角误差;

图6.仿真数据下惯导系统解算速度误差和使用本发明后的速度误差;

具体实施方式

结合附图对本发明方法做进一步阐述。

由于海洋环境的影响,舰船在海上航行过程中不可避免的进行纵摇和横摇运动并且纵横摇运动的周期在特定频段内,船用捷联惯性导航设备能够量测出舰船三轴的角运动信息,即惯导系统输出的纵横摇角信息也在特定频段内,此外,受惯导系统内舒勒回路的影响,其输出的纵横摇角还包含舒勒振荡分量。

由于惯性导航设备输出的纵摇和横摇信息特性相似,故本说明书仅对横摇信息进行处理,纵摇信息处理的方法与其相同。惯导系统输出的横摇角rins包含两部分:有用信号和舒勒振荡分量,有用信号反映船体在特定频段内的横摇运动,舒勒振荡分量是周期为84.4分钟的正弦信号。为了实现惯导系统的水平阻尼,需要将横摇角中舒勒振荡分量剔除,并修正惯导系统中姿态矩阵等部分,整体流程图如附图1所示。

为了估计出横摇信息rins中的舒勒周期振荡部分,首先对横摇信息rins建立模型,将有用信号建模为运动频段内某些频点的正余弦项的叠加,舒勒分量建模为周期84.4分钟的正余弦项的叠加。本发明中将有用频段设为0.08hz~0.3hz,将该频段等距划分得到有用信号模型中频点,数量为m-1,频点为f1~fm-1;由于舒勒振荡周期较长,其可建模为常值分量,为了便于参数选取和分析,常值分量为0.7071,数量为2。横摇信息rins模型可表示为

r(k)=[w1(k),w2(k)…w2m(k)]·[r1(k),r2(k)…r2m(k)]t

=[wu(k),ws(k)]·[ru(k),rc(k)]t

式中模型的系数向量为:[w1(k),w2(k)…w2m(k)],rn(k)为单位正余弦项和常值分量,形式如下:

式中k为算法迭代的次数,t为惯性解算数据的周期,wu(k)为有用信号模型系数向量,ws(k)为舒勒振荡模型中的系数向量,ru(k)为有用信号模型中的单位正余弦向量,rc(k)为舒勒振荡模型中的常值向量。

为了使横摇信息模型逼近于惯导系统解算的横摇信息rins,使用lms算法不断修正系数向量wu(k)和ws(k)。在迭代过程中,相对于有用信号,舒勒振荡分量变化十分缓慢,因此wu(k)和ws(k)的更新使用不同的收敛因子,分别为μu和μs。根据上述模型可以看出,有用信号并非在整个频段内建模,仅仅在某些频点处建模,故有用信号不是完全建模;由于舒勒周期振荡的频率为固定值,可认为舒勒周期振荡完全建模,因此能够从模型中提取出准确的舒勒振荡信息。使用lms更新和估计舒勒振荡信息的原理图如附图2所示,整体过程如下:

r(k)=[w1(k),w2(k)…w2m(k)]·[r1(k),r2(k)…r2m(k)]t

=[wu(k),ws(k)]·[ru(k),rc(k)]t

e(k)=rins(k)-r(k)

wu(k+1)=wu(k)+2μue(k)ru(k)

ws(k+1)=ws(k)+2μse(k)rc(k)

rs(k)=ws(k+1)rct(k)

上述更新过程表明,系数向量wu(k)和ws(k)通过lms算法不断被修正,rs(k)为rins中舒勒振荡分量的估计值。

(2)本发明中,为保证算法收敛以及得到理想效果,需要合理选取算法中参数μu、μs和m。平稳环境下lms算法的整体收敛因子范围为:

式中r为向量[r1(k),r2(k)…r2m(k)]的自相关矩阵,tr[r]代表矩阵r的迹。自相关矩阵r可表示为:

根据rn(k)的形式可得

那么自相关矩阵r可简化为

上式表明输入向量的自相关矩阵r是固定的,并且tr[r]=m,则lms算法中整体收敛因子的取值范围为上述迭代过程中的收敛因子μu和μs必须在此范围内,否则算法将发散。相比于有用信号部分,舒勒振荡分量变化十分缓慢,为了更好地估计出舒勒振荡信息,μu应尽量趋近于μs远小于为了能够对横摇信息rins有效建模,m的取值不能太小;由于m的取值越大,算法计算量越大,因此m要合理选取,m的推荐取值范围为10~20。

(3)本发明需要将估计出的舒勒振荡分量闭环反馈至惯导系统中,以达到系统水平阻尼的目的。

首先将惯导系统输出横摇信息rins中估计出的舒勒振荡分量rs反馈给rins,即r′ins=rins-rs。由于反馈后的r′ins不存在舒勒振荡分量,为了使lms算法在下一解算过程能够正确的估计出舒勒振荡分量,将lms算法中舒勒振荡分量的系数向量ws(k)置零。然后按照相同的方法对惯导系统输出的纵摇信息进行修正。最后根据修正后的横摇角r′ins与修正后的纵摇角p′ins以及未处理的航向角信息y′ins重新构造出新的捷联矩阵c′ins或新的四元素q′ins,将新的捷联矩阵c′ins或新的四元素q′ins代入惯导系统的解算部分,以消除舒勒振荡对惯导系统的影响,达到系统水平阻尼的效果。

本发明方法的主要步骤为:

(1)实时输入惯导系统当前时刻解算的水平纵摇角pins和横摇角rins;

(2)设计基于lms算法的舒勒振荡估计算法,合理选取算法的参数,输入纵摇角pins和横摇角rins估计出纵摇角中舒勒周期振荡分量ps和横摇角中舒勒周期振荡分量rs;

(3)将估计出的ps和rs反馈校正纵摇角pins和横摇角rins,将基于lms算法的舒勒振荡估计算法中舒勒系数置零,重新构造捷联矩阵并将其代入解算过程,最终达到系统水平阻尼的目的;

(4)实时输出校正后惯性导航系统的信息。

以下描述本发明的实施例:

描述本发明的真实数据实施例。将某型号捷联惯导设备放置三轴转台上,转台设置的纵摇角度为14度,捷联惯导设备未进行水平阻尼,即纯惯导模式,采集捷联惯导设备输出的纵摇角信息,通过基于lms算法的舒勒振荡估计算法估计出纵摇角信息内舒勒振荡分量,估计算法中m取10,μu取0.09,μs取0.0005,纵摇角内舒勒振荡分量的估计值如附图3所示。将估计出的舒勒振荡分量开环反馈至纵摇角,对比反馈前和反馈后纵摇角信息,如附图4所示,为了方便对比,附图4仅给出纵摇信息的最大幅值的变化情况,可以看出反馈后的纵摇信息不存在舒勒振荡分量,表明基于lms算法的舒勒振荡估计算法能够准确的估计出姿态角中舒勒振荡分量。

描述本发明的仿真数据实施例。仿真环境:船体正弦纵摇周期为7s,幅值为5°;船体正弦横摇周期为6s,幅值为5°;船体航向正弦变化周期为12s,幅值为2°;舰船匀速运动,速度为10m/s;基于lms算法的舒勒振荡估计算法中m取值10、μu取0.09,μs取0.00035。通过舒勒振荡估计算法估计出惯导仿真系统输出纵横摇信息中的舒勒振荡分量,然后将舒勒振荡分量闭环反馈修正惯导系统,附图5和附图6分别对比了修正前和修正后惯导系统输出的姿态角误差和水平速度误差,可以看出修正后的姿态角和水平速度不存在舒勒振荡误差,表明本发明提出的方法能够有效地抑制系统中舒勒振荡分量,较大的提高了系统的精度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1