本发明涉及一种基于改进的集合经验模态分解(eemd)和排列熵的光纤陀螺振动补偿算法,属于数字信号处理领域。
背景技术:
光纤陀螺是一种高精度惯性传感器,但容易受到环境的干扰,对外界振动情况较为敏感,也是影响陀螺精度及其应用的主要因素之一。如何检测并消除振动的影响成为工程应用中的一个重点和难点。
角陀螺的振动光纤陀螺的一种主要振动形式,它是一种旋转振动,会直接导致陀螺的输出误差。载体的振动上分为周期振动和随机振动,前者由周期的扰动和不平衡力造成,后者则是由载体的航速、航向、操纵和航行环境造成的。相比而言,周期垂向振动占主导作用。要消除振动的干扰,首先要准确地分理出振动信号。因此在理论和工程中,如何检测并消除陀螺的振动信息是提高陀螺精度的关键,也是当前的研究热点和难点。除了传感器层面的影响之外,导航初始对准和导航解算都会受到陀螺振动的影响,因此,陀螺的振动问题不止是器件问题,更是系统问题。消除振动问题,主要有物理方法和软件算法,物理方法虽效果较好,却带来了成本、体积、散热等问题;相比而言,软件具有更高的灵活性及经济性。经验模态分解(emd)是一种基于时间尺度的自适应分解方法,近些年得到了广泛的应用。但是emd存在模态混叠和端点效应等问题。集合经验模态分解(ensembleempiricalmodedecomposition,eemd)以改进的噪声辅助为手段,较好地解决了emd的问题。eemd也有一些缺点,比如噪声幅值的选择和迭代的次数都是经验化的。当混合信号的频率较为接近时(尤其是频率的倍数小于2),eemd依然会有信号混叠的问题。为了提高eemd消除模态混叠的性能,噪声对分解效果的影响需要深入研究。排列熵算法是一种分析系统非线性的新方法,能够以较高的分辨率检测信号的非线性度。通过排列熵可以分辨出噪声和信号,通过这种方法可以达到去噪的作用。
基于上述陀螺振动的问题,更多地关注振动的软件算法,可以在不增加成本、体积等问题的前提下,提高解决问题的精度和实时性。
技术实现要素:
发明目的:为了解决上述问题,本发明目的在于提供一种基于改进的集合经验模态分解和排列熵的光纤陀螺振动补偿算法,根据陀螺振动的特征,结合创新的经验模态分解算法来提取和补偿陀螺的振动误差,能够消除传统经验模态分解的模态混叠缺陷,有效分离噪声和陀螺振动信号,进而对陀螺输出进行补偿,达到消除噪声和振动的目的。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
一种基于改进的集合经验模态分解和排列熵的光纤陀螺振动补偿算法,包括如下步骤:
(1)构造l个人工白噪声并用经验模态分解(emd)进行分解,得到第i个人造白噪声w(i)的第一个模态分量(imf)e1(w(i)),i=1,...,l,l≥2;
(2)使用步骤(1)得到的e1(w(i))对光纤陀螺信号用集合经验模态分解(eemd)进行分解,得到光纤陀螺信号的前m个imf,m≥2;
(3)对于光纤陀螺剩余的信号用emd分解,进而得到光纤陀螺信号的完整分解;
(4)计算光纤陀螺信号各个imf的排列熵的值;
(5)将排列熵值大于设定阈值的imf作为噪声相关imf,排列熵值曲线上波谷对应的imf作为振动相关imf,去除噪声相关imf和振动相关imf后,剩下的作为光纤陀螺最终输出信号。
进一步地,所述步骤(2)中包括:
(2.1)设光纤陀螺原始信号为x,构造分解信号为x(i)=x+β(e1(w(i))),其中β>0,i=1,...,l,分别使用emd对x(i)进行分解,再对得到的l个第一imf求均值,得到光纤陀螺原始信号的第一个imf,即
(2.2)以残留信号替代步骤(2.1)中的陀螺原始信号,进行构造分解信号、分解及求均值操作,重复步骤(2.1)m-1次,得到第m个模态分量
有益效果:本发明公开的一种基于改进的集合经验模态分解和排列熵的光纤陀螺振动补偿算法,通过对人工白噪声进行emd分解,多次利用其第一个模态分量(imf1)对陀螺信号进行分解,可以有效地消除模态混叠,从而分离出振动信号。然后利用排列熵对各个imf求取熵值,基于排列熵值判断出噪声相关imf和振动相关imf,去掉噪声相关imf和振动相关imf后,剩下的imf当做光纤陀螺的最后输出信号,从而达到去噪和消除振动影响的目的。本发明算法,根据陀螺振动的特征,结合创新的经验模态分解算法来提取和补偿陀螺的振动误差,能够消除传统经验模态分解的模态混叠缺陷,有效分离噪声和陀螺振动信号。
附图说明
图1为本发明的算法的流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本发明实施例公开的一种基于改进的集合经验模态分解和排列熵的光纤陀螺振动补偿算法。首先,对人工白噪声进行emd分解,只取其第一个imf作为分解噪声带入eemd算法得到前m个imf(其中m和信号的噪声水平相关,一般取m大于2)。然后,剩下的残留信号使用emd进行分解,进而得到光纤陀螺振动信号的完整分解结果。第三步,对各个imf求排列熵,然后对imf进行分类,具体为a)大于经验阈值的为噪声。b)波谷的为振动信号。c)其余的为陀螺输出信号。滤除上述的噪声imf和振动imf后,得到的最后信号即为光纤陀螺的输出,进而达到滤波和消除振动影响的目的。详细的算法流程如下:
第一步,利用emd分解人工白噪声。
假设w(i)是第i个人造白噪声,e1(w(i))表示用emd方法对w(i)分解得到的第1个imf,其中i=1,...,l,l≥2,一般可取100的整数倍,如100或200。
第二步,使用第一步得到的e1(w(i))分解得到前m个imf。
假设光纤陀螺原始输出为x,构造分解信号为
x(i)=x+β(e1(w(i)))(2a)
其中β>0,为噪声幅值。分别使用emd对x(i)进行分解,得到各个imfk(i),其中k=1,...,k。再对imf1(i)求均值,即可得到光纤陀螺原始信号的第一个imf,即
分解得到第一个imf后,剩余的信号作为残留信号r1,即有
r1=x-imf1(2c)
以残留信号替代式(2a)中的陀螺原始输出信号,构造分解信号,进行多次分解,求均值操作,重复共m-1次,其中m≥2,共得到光纤陀螺原始信号的前m个imf,以及残留信号
与第一个imf类似,第m个imf由下式求得
第三步,对于剩余信号rm运用emd分解得到剩下的imf。
第四步,通过计算各个imf分离出噪声、振动和陀螺输出信号。
计算各个imf的排列熵的值,大于设定阈值(阈值为经验值,一般可在[0.9,1]范围内取值)的imf作为噪声,记为imfnoise;在排列熵值的曲线上寻找波谷,求得其所在列的索引值为col,其对应的imf记为imfcol,则光纤陀螺在消除噪声和振动后的输出xout为
xout=x-∑imfnoise-∑imfcol(4a)。