一种堆垛机电流信号消噪方法与流程

文档序号:16504909发布日期:2019-01-05 08:58阅读:283来源:国知局
一种堆垛机电流信号消噪方法与流程

本发明涉及信号处理技术领域,尤其涉及一种堆垛机电流信号消噪方法。



背景技术:

随着自动化仓储设备的快速发展,堆垛机作为其中的核心设备之一,承接着日常出库、入库、转库等任务,逐渐成为了研究的重点。然而,受现场实际生产环境和生产设备等因素的影响,实际采集的信号常伴随噪声,为信号的分析处理带来了挑战。堆垛机设备作为智能仓促系统的重要组成部分,由于其尺寸过大,运行速度快,运行稳定性对走行轨道存在依耐性,使得实际采集的信号含有一定的噪声信号。噪声对堆垛机后期的故障特征提取,故障定位会产生不利影响。所以降噪工作在前期的数据处理过程中显得尤为重要。

现有技术中,并没有专门针对堆垛机的电流信号进行消噪的技术方案,因此,如何提供一种针对堆垛机的电流信号消噪的技术方案成为了本领域技术人员急需解决的问题。



技术实现要素:

针对现有技术存在的上述不足,本发明公开了一种堆垛机电流信号消噪方法,利用改进的遗传算法对于脉冲耦合神经网络的时间衰减常数进行确定,可以使脉冲耦合神经网络更好的将原始信号数据和噪声数据分离开,并保证算法的收敛速度,使得脉冲耦合神经网络具有更好的消噪能力。

为解决上述技术问题,本发明采用了如下的技术方案:

一种堆垛机电流信号消噪方法,包括如下步骤:

步骤1:获取待处理信号,执行步骤2;

步骤2:将待处理信号进行归一化处理,计算均方误差m0,初始化脉冲耦合神经网络的参数,初始化滤波次数i=0,执行步骤4;所述脉冲耦合神经网络的参数包括时间衰减常数;

步骤3:初始化滤波次数i=0,执行步骤4;

步骤4:判断是否已计算出最优的时间衰减常数τθ2,若是,执行步骤5,若不是,执行步骤6;

步骤5:将最优的时间衰减常数τθ2代入脉冲耦合神经网络中,将待处理信号输入脉冲耦合神经网络并进行滤波,滤波次数i自加1,执行步骤7;

步骤6:将初始的时间衰减常数τθ1代入脉冲耦合神经网络中,将待处理信号输入脉冲耦合神经网络并进行滤波,滤波次数i自加1,执行步骤7;

步骤7:若此时滤波次数i大于1,计算滤波后的信号的均方误差mi,将本次滤波后的信号的均方误差mi与上一次滤波后的信号的均方误差mi-1进行比较,若mi<mi-1,则将本次滤波后的信号作为待处理信号,执行步骤4,否则,输出上一次滤波后的信号,执行步骤8;若本次滤波为第一次滤波,若此时滤波次数i大于1,则将本次滤波后的信号作为待处理信号,执行步骤4;

步骤8:判断是否已计算出最优的时间衰减常数τθ2,若是,执行步骤10,若不是,执行步骤9;

步骤9:采用遗传算法对时间衰减常数进行优化,得到最优的时间衰减常数τθ2,然后返回执行步骤3;

步骤10:将输出的信号反归一化,得到消噪后的信号。

优选地,采用遗传算法对时间衰减常数进行优化的方法包括:

步骤11:给予待处理信号随机产生初始种群,记迭代次数为g=0,执行步骤12;

步骤12:基于输出的信号的均方误差及信噪比计算种群中每个个体的适应度,并保留符合预设条件的个体,执行步骤13;

步骤13:将保留的个体以第一交叉率pc进行交叉操作,其中,pc表示交叉率,表示交叉率的最大值,表示交叉率的最小值,nmax表示进化代数最大值,n表示当前进化代数,执行步骤14;

步骤14:将交叉后的个体以第二交叉率pm进行变异操作形成新的种群,将迭代次数加1,其中,pm为变异率,执行步骤15;

步骤15:判断迭代次数g是否等于进化代数最大值nmax,若是,得到最优的时间衰减常数τθ,若不是,执行步骤11。

优选地,适应度函数fit,其中,snr表示信噪比,mse表示输出的信号的均方误差。

优选地,交叉率的最大值取值为1.0,交叉率的最小值取值为0.5。

优选地,脉冲耦合神经网络可表达为:

fij[n]=sij[n],

其中,fij[n]为第(i,j)个神经元的第n次反馈输入,sij[n]为第(i,j)个神经元的第n次外部刺激输入,τθ为变阈值函数的时间衰减常数,τθ包括初始的时间衰减常数τθ1或最优的时间衰减常数τθ2,yij[n]表示神经元是否被点火,yij[n]=1表示被点火,yij[n]=0表示未被点火,θij[n]表示第n次迭代时的阈值,θij[n-1]表示第n-1次迭代时的阈值,bij[n]表示第n次迭代时第(i,j)个神经元是否被点火,bij[n]=1表示被点火,bij[n]=0表示未被点火,tij[n]表示第(i,j)个神经元在第n次迭代是否被点火,若点火记为n,若没有,数值不变,即记为tij[n-1],tij[n-1]表示第(i,j)个神经元在第n-1次迭代是否被点火。

优选地,脉冲耦合神经网络的神经元由接收域、调制域和脉冲产生部分组成,接收域接受到输入信号后,将其通过f和l两条通道传输至调制域,f通道的脉冲响应函数随时间的变化速度比l通道的脉冲响应函数随时间的变化速度慢,调制域将来自l通道的信号lij加上一个正的偏移量后与来自f通道的信号fij进行相乘调制,得到内部产生信号uij,将θij[n]和uij比较来控制信号神经元是否点火,θij[n]表示变阈值函数输出,如果θij[n]>uij,则该神经元被点火,否则,该神经元不点火。

优选地,l通道和f通道的链接系数为β,且β=0。

综上所述,本发明公开了一种堆垛机电流信号消噪方法,对遗传算法进行改进,基于进化次数动态变化的自适应交叉率可以在保证搜索范围的基础上,提高算法的收敛速度,使得遗传算法具有更好的寻优能力。利用改进的遗传算法对于脉冲耦合神经网络的时间衰减常数进行确定,可以使脉冲耦合神经网络更好的将原始信号数据和噪声数据分离开,并保证算法的收敛速度,使得脉冲耦合神经网络具有更好的消噪能力。

附图说明

图1为本发明公开了一种堆垛机电流信号消噪方法的流程图;

图2为采用本发明公开的堆垛机电流信号消噪方法得到的堆垛机振动信号消噪效果图;

图3为本发明中遗传算法适应度变化趋势图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述说明。

如图1所示,本发明公开了一种堆垛机电流信号消噪方法,包括如下步骤:

s101:获取待处理信号,执行s102;

s102:将待处理信号进行归一化处理,计算均方误差m0,初始化脉冲耦合神经网络的参数,初始化滤波次数i=0,执行s104;所述脉冲耦合神经网络的参数包括时间衰减常数;

s103:初始化滤波次数i=0,执行s104;

s104:判断是否已计算出最优的时间衰减常数τθ2,若是,执行s105,若不是,执行s106;

s105:将最优的时间衰减常数τθ2代入脉冲耦合神经网络中,将待处理信号输入脉冲耦合神经网络并进行滤波,滤波次数i自加1,执行s107;

s106:将初始的时间衰减常数τθ1代入脉冲耦合神经网络中,将待处理信号输入脉冲耦合神经网络并进行滤波,滤波次数i自加1,执行s107;

s107:若此时滤波次数i大于1,计算滤波后的信号的均方误差mi,将本次滤波后的信号的均方误差mi与上一次滤波后的信号的均方误差mi-1进行比较,若mi<mi-1,则将本次滤波后的信号作为待处理信号,执行s104,否则,输出上一次滤波后的信号,执行s108;若本次滤波为第一次滤波,若此时滤波次数i大于1,则将本次滤波后的信号作为待处理信号,执行s104;

s108:判断是否已计算出最优的时间衰减常数τθ2,若是,执行s110,若不是,执行s109;

s109:采用遗传算法对时间衰减常数进行优化,得到最优的时间衰减常数τθ2,然后返回执行s103;

s110:将输出的信号反归一化,得到消噪后的信号。

脉冲耦合神经网络作为一种有效的降噪手段,在以前的研究过程中广泛应用于图片降噪中。但是,由于在以往的研究中,脉冲耦合神经网络中时间衰减常数没有固定的标准去确定,往往采用经验值。而时间衰减常数对算法的收敛速度以及降噪结果都有很大的影响。所以采用一个恰当的时间衰减常数对于脉冲耦合神经网络模型十分重要。遗传算法作为一种经典的参数搜索算法,广泛应用于模型优化中。传统的遗传算法存在收敛速度慢,易陷入局部最优点问题。因此,本发明提出了一种基于自适应交叉率的改进的遗传算法。交叉是遗传算法中的基础操作之一,控制着遗传算法中的染色体交叉操作的频率。较大的交叉率会增大遗传算法的搜索能力,但适应度高的个体会因此遭到破坏,使得遗传算法退化为随机搜索。较低的交叉率可以保证一个连续的搜索空间,搜索到全局最优解的概率会增大,但会使得收敛速度变慢,使得遗传算法陷入迟钝状态。传统的遗传算法常采0.5-1.0的一个常数作为交叉率。但是在进化初期个体适应度较低,交叉率应该采取一个较大的值,这样可以增加算法的搜索能力,在进化后期,交叉率应该减小,避免破坏优良个体的基因。

基于以上分析,本发明根据输入的包括噪音的数据的均方误差和信噪比使交叉率随着进化次数的增加动态变化,使得改进后的遗传算法在保证搜索范围的基础上,提高算法的收敛速度,使得遗传算法具有更好的寻优能力。之后,本发明利用改进的遗传算法对于脉冲耦合神经网络的时间衰减常数进行确定,可以使脉冲耦合神经网络更好的将原始信号数据和噪声数据分离开,并保证算法的收敛速度,使得脉冲耦合神经网络具有更好的消噪能力。

具体实施时,采用遗传算法对时间衰减常数进行优化的方法包括:

s111:给予待处理信号随机产生初始种群,记迭代次数为g=0,执行s112;

根据遗传算法输出参数的数值变化范围确定二进制串的长度,利用随机数随机产生的二进制串作为初始种群。遗传算法的输入设为种群大小(50)、迭代次数(30)变异率大小(0,09)、编码长度(8)、染色体上基因个数(76)。

s112:基于输出的信号的均方误差及信噪比计算种群中每个个体的适应度,并保留符合预设条件的个体,执行s113;

先计算每个个体的适应度值,然后计算每个适应度和总体种群的比值,记为选择概率,然后计算每个个体的累计概率,比如说,第二个个体的累计概率为第一个个体和第二个个体的选择概率之和,这样第n个个体的累计概率为1,然后生成随机数,选择小于随机数的累计概率的个体。因此,小于随机数的累计概率的个体即为符合预设条件的个体。

s113:将保留的个体以第一交叉率pc进行交叉操作,其中,pc表示交叉率,表示交叉率的最大值,表示交叉率的最小值,nmax表示进化代数最大值,n表示当前进化代数,执行s114;

s114:将交叉后的个体以第二交叉率pm进行变异操作形成新的种群,将迭代次数加1,其中,pm为变异率,执行s115;

s115:判断迭代次数g是否等于进化代数最大值nmax,若是,得到最优的时间衰减常数τθ,若不是,执行s111。

具体实施时,适应度函数fit,其中,snr表示信噪比,mse表示输出的信号的均方误差。

信噪比根据公式计算得到,表示信号能量psignal和噪声能量pnoise的比值。均方误差是指的输出信号量的均方误差。

具体实施时,交叉率的最大值取值为1.0,交叉率的最小值取值为0.5。

具体实施时,脉冲耦合神经网络可表达为:

fij[n]=sij[n],

其中,fij[n]为第(i,j)个神经元的第n次反馈输入,sij[n]为第(i,j)个神经元的第n次外部刺激输入,τθ为变阈值函数的时间衰减常数,τθ包括初始的时间衰减常数τθ1或最优的时间衰减常数τθ2,yij[n]表示神经元是否被点火,yij[n]=1表示被点火,yij[n]=0表示未被点火,θij[n]表示第n次迭代时的阈值,θij[n-1]表示第n-1次迭代时的阈值,bij[n]表示第n次迭代时第(i,j)个神经元是否被点火,bij[n]=1表示被点火,bij[n]=0表示未被点火,tij[n]表示第(i,j)个神经元在第n次迭代是否被点火,若点火记为n,若没有,数值不变,即记为tij[n-1],tij[n-1]表示第(i,j)个神经元在第n-1次迭代是否被点火。

具体实施时,脉冲耦合神经网络的神经元由接收域、调制域和脉冲产生部分组成,接收域接受到输入信号后,将其通过f和l两条通道传输至调制域,f通道的脉冲响应函数随时间的变化速度比l通道的脉冲响应函数随时间的变化速度慢,调制域将来自l通道的信号lij加上一个正的偏移量后与来自f通道的信号fij进行相乘调制,得到内部产生信号uij,将θij[n]和uij比较来控制信号神经元是否点火,θij[n]表示变阈值函数输出,如果θij[n]>uij,则该神经元被点火,否则,该神经元不点火。

具体实施时,l通道和f通道的链接系数为β,且β=0。

根据l通道和f通道的链接系数β,可以将脉冲耦合神经网络分为无耦合和有耦合两种情况,即当β=0时,可以认为各神经元是独立运行的组合,不受周围其他神经元脉冲输出的影响。为了提高算法运行效率,本发明采用β=0的改进脉冲耦合神经网络模型

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

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