低通滤波器的滤波方法、低通滤波器及伺服驱动器与流程

文档序号:13738923阅读:1419来源:国知局
低通滤波器的滤波方法、低通滤波器及伺服驱动器与流程

本发明实施例涉及数据处理领域,特别涉及一种低通滤波器的滤波方法、低通滤波器及伺服驱动器。



背景技术:

伺服驱动器(servodrives)又称为“伺服控制器”、“伺服放大器”,是用来控制伺服电机的一种控制器,其作用类似于变频器作用于普通交流马达,属于伺服系统的一部分,主要应用于高精度的定位系统。一般是通过位置、速度和力矩三种方式对伺服电机进行控制,实现高精度的传动系统定位,目前是传动技术的高端产品。

在脉冲伺服应用中,通常需要在伺服驱动器中使用平滑滤波器进行处理,使得电机旋转更为平滑。其中,平滑滤波器是一种低通滤波器,是在时间域实现的一种滤波器。通过缩小高频,扩大低频可以去除某些噪声。滤波器的阶数越高,值越均匀,滤波效果越好。目前,应用在伺服驱动器中的平滑滤波器,通常采用这一公式对输入值进行滤波处理,其中,xn是第n个周期的输入,yn-1、yn分别为第n-1个周期和第n个周期的输出,是上个周期和这个周期的输出,t为采样周期,τ为滤波周期。

然而,发明人发现现有技术中至少存在如下问题:在对滤波数据进行处理过程中,滤波输出结果的数据会丢失,并且通常会使滤波结果发生畸变。



技术实现要素:

本发明实施方式的目的在于提供一种低通滤波器的滤波方法、低通滤波器及伺服驱动器,减少了滤波输出结果数据丢失,有利于避免滤波输出结果发生畸变。

为解决上述技术问题,本发明的实施方式提供了一种低通滤波器的滤波方法,包括:周期性采样数据,得到低通滤波器的滤波输入值;根据采样到的数据进行滤波计算,输出滤波后的数据;其中,将第n个周期的滤波计算中得到的余数补偿到第n+1个周期的滤波计算中;n为自然数且n≥1。

本发明的实施方式提供了一种低通滤波器,其特征在于,包括:采样模块、计算模块、输出模块;采样模块,用于周期性采样数据,得到低通滤波器的滤波输入值;计算模块,用于根据采样到的数据进行滤波计算;输出模块,用于输出滤波后的数据;其中,输出模块将第n个周期的滤波计算中得到的余数补偿到第n+1个周期的滤波计算中;n为自然数且n≥1。

本发明的实施方式还提供了一种伺服驱动器,伺服驱动器包括上述低通滤波器。

本发明实施方式相对于现有技术而言,通过周期性的对数据进行采样,得到低通滤波器的滤波输入值,再根据采样到的数据进行滤波计算,从而输出滤波后的数据。在根据采样到的数据进行滤波计算时,通过将上一个周期的滤波计算中得到的余数补偿到当前周期,将当前周期的滤波计算中得到的余数补偿到下一个周期,如此循环,通过余数的累加,减少了滤波输出结果的数据丢失,有利于避免滤波输出结果发生畸变。

另外,根据采样到的数据进行滤波计算,输出滤波后的数据,具体包括:根据以下公式进行滤波计算,输出滤波后的数据yn:并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%τ;其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期。通过采用对滤波输入值进行滤波处理,可以确保低通滤波器的滤波输出结果实现数据无丢失,从而进一步避免了滤波输出结果发生畸变。

另外,根据采样到的数据进行滤波计算,输出滤波后的数据,具体包括:根据以下公式进行滤波计算,输出滤波后的数据yn:并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%(τ+t);其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期。提供了另外一种能够确保滤波输出结果数据无丢失,避免滤波输出结果发生畸变的公式,使该低通滤波器的滤波方法能够灵活多变的实现。

另外,当n大于1时,在根据采样到的数据进行滤波计算后,通过覆盖掉第n-1个周期的滤波计算中得到的余数,存储第n个周期的滤波计算中得到的余数。通过在存储当前周期的滤波计算中得到的余数时,覆盖掉上一个周期的滤波计算中得到的余数,有利于节省存储空间。

另外,低通滤波器为伺服驱动器中的平滑滤波器;输出滤波后的数据,具体包括:将滤波后的数据输出至电机控制器。应用于伺服驱动器中的平滑滤波器中,可以避免伺服控制精度的丢失,达到使电机旋转更加平滑的目的。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式的低通滤波器的滤波方法的流程图;

图2是根据本发明第二实施方式的低通滤波器的滤波方法的效果图;

图3是根据本发明第四实施方式的低通滤波器的装置示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种低通滤波器的滤波方法。本实施方式中涉及的低通滤波器的滤波方法可以应用于存在除法公式的滤波器中,本发明实施方式以一阶低通滤波器为例进行说明。具体流程如图1所示。

步骤101,采样数据,得到低通滤波器的滤波输入值。

具体的说,本实施方式中为周期性采样数据,即以一定的采样频率对数据进行采样,以得到低通滤波器的滤波输入值。在周期性对输入数据进行采样的过程中,如果相邻两次采样之间的时间间隔过长,将引起有用信号的严重丢失,使数据的品质变差;如果采样周期果短,则两次实测值的变化量太小,亦不相宜。本实施方式中的采样周期可以根据实际需求自行设定,比如,可以为0.1毫秒,但并不以此为限。另外,为了防止无用的高频信号进入采样过程而造成采样信号的失真,因此,在采样前可以对模拟输入量进行数字滤波,以避免采样信号的失真。

步骤102,根据采样到的数据进行滤波计算,输出滤波后的数据;其中,将第n个周期的滤波计算中得到的余数补偿到第n+1个周期的滤波计算中;所述n为自然数且n≥1。

具体的说,由于目前的一阶低通滤波器公式存在除法,其中,xn是第n个周期的输入,yn-1、yn分别为第n-1个周期和第n个周期的输出,t为采样周期,τ为滤波周期。当在微控制单元(microcontrollerunit,简称mcu)中使用定点数据进行处理时,除法的数据结果只保留了整数,因此,当被除数与除数相除而除不尽时,要么只保留整数而舍去余数,要么进行四舍五入运行,这样一来,必然会存在数据的丢失。由一阶低通滤波器的公式可以分析得到,当t(xn-yn-1)小于滤波周期τ时,其除法的结果就为零,滤波器的输出值yn就不再发生变化,滤波结果和实际数据一直存在无法消除的误差。而滤波器输出数据的丢失,就意味着相关指令(位置、速度和力矩)的丢失,从而会造成伺服控制较差。而且,即使不使用定点数据进行处理,而是采用浮点数据进行处理。但是,采样浮点数据处理的方法对mcu的要求较高,并且受限于浮点型数据其自身的数据精度,致使滤波器的输出结果同样会有丢失。或者,通过判断输入与输出的差值再进行补偿的方法。但是,这种方法通常会使滤波输出结果发生畸变,导致电机旋转不够平滑。

因此,在本发明实施方式中,保存每个周期的滤波计算中得到的余数,用于下一周期的滤波计算中,从而可以减少滤波输出结果的数据丢失,有还利于避免滤波输出结果发生畸变,甚至还可以使滤波输出结果严格等于输入。

步骤103,判断是否达到下一个采样周期。当判定达到下一个采样周期时,返回步骤101;否则,返回步骤103,继续判断是否达到下一个采样周期。

与现有技术相比,本实施方式通过周期性的对数据进行采样,得到低通滤波器的滤波输入值,再根据采样到的数据进行滤波计算,从而输出滤波后的数据。在根据采样到的数据进行滤波计算时,通过将上一个周期的滤波计算中得到的余数补偿到当前周期,将当前周期的滤波计算中得到的余数补偿到下一个周期,如此循环,通过余数的累加,减少了滤波输出结果的数据丢失,有利于避免滤波输出结果发生畸变。

本发明的第二实施方式涉及一种低通滤波器的滤波方法。本实施方式提供了优选的具体实现形式,能够使滤波输出结果严格等于输入,并且不会有数据畸变。

于实际应用中,根据采样到的数据进行滤波计算,输出滤波后的数据,可以具体包括:根据以下公式进行滤波计算,输出滤波后的数据yn:并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%τ;其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期。

当在第一个周期,即当n=1时,r1=(t(x1-y1-1)+r1-1)%τ,由于在第一周期时,yn-1和rn-1的值均为零,因此可以得出r1=(t×x1)%τ。由此可见,r1的值取决于采样周期t、第一个周期的滤波输入值x1和滤波周期τ。并且,当n=1时,同样的,由于在第一周期时,yn-1和rn-1的值均为零,因此可以得出因而y1的值取决于采样周期t、第一个周期的滤波输入值x1和滤波周期τ。这两种公式通过将余数补偿到被除数中,可以发现在输出yn-1不等于输入xn时,通过余数的累加,使得在一定时候或者的结果肯定不为零,因此输出yn-1可以逐渐逼近输入,甚至可以达到yn-1=xn,即yn=xn。在yn=xn时,滤波输出结果严格等于输入,并且不会有数据畸变。图2给出了当t=0.1ms,τ=10ms,输入为400时的效果图,其中201为滤波输入值,202为理想输出值,205为改进前输出值。

需要说明的是,低通滤波器的滤波方法还可以包括:当n大于1时,在根据采样到的数据进行滤波计算后,通过覆盖掉第n-1个周期的滤波计算中得到的余数,存储第n个周期的滤波计算中得到的余数。由于在将第n个周期的滤波计算中得到的余数补偿到第n+1个周期的滤波计算中,必然会存储第n个周期的余数以补偿到被除数中,但是在存储第n个周期的余数时,第n-1个周期所存储的余数已经没有用了。比如说,在存储第三个周期的滤波计算中得到的余数时,可以覆盖掉第二个周期的滤波计算中得到的余数,而不是继续保留第二个周期的滤波计算中得到的余数。这样做,可以达到节省存储空间的目的。

另外,需要说明的是,低通滤波器可以为伺服驱动器中的平滑滤波器。在步骤102中,输出滤波后的数据,具体为:将滤波后的数据输出至电机控制器。从而在脉冲伺服应用中,当上位机下发的指令不进行加减速时,通过伺服驱动器中平滑滤波器的处理,使得电机的旋转更为平滑。

与现有技术相比,本实施方式通过提供了优选的具体实现形式,通过根据进行滤波计算,并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%τ;其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期,能够确保滤波输出结果数据无丢失,避免滤波输出结果发生畸变。

本发明的第三实施方式涉及一种低通滤波器的滤波方法。本实施方式提供了另一种优选的具体实现形式,能够使滤波输出结果严格等于输入,并且不会有数据畸变,使该低通滤波器的滤波方法能够灵活多变的实现。

具体的说,根据采样到的数据进行滤波计算,输出滤波后的数据,还可以具体包括:根据以下公式进行滤波计算,输出滤波后的数据yn:并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%(τ+t);其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期。

当在第一个周期,即当n=1时,r1=(t(x1-y1-1)+r1-1)%(τ+t),由于在第一周期时,yn-1和rn-1的值均为零,因此可以得出r1=(t×x1)%(τ+t)。由此可见,r1的值取决于采样周期t、第一个周期的滤波输入值x1和滤波周期τ。并且,当n=1时,同样的,由于在第一周期时,yn-1和rn-1的值均为零,因此可以得出因而y1的值取决于采样周期t、第一个周期的滤波输入值x1和滤波周期τ。这两种公式通过将余数补偿到被除数中,可以发现在输出yn-1不等于输入xn时,通过余数的累加,使得在一定时候的结果肯定不为零,因此输出yn-1可以逐渐逼近输入,甚至可以达到yn-1=xn,即yn=xn。在yn=xn时,滤波输出结果严格等于输入,并且不会有数据畸变。

与现有技术相比,本实施方式通过提供了另一种优选的具体实现形式,根据进行滤波计算,并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%(τ+t);其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期,能够确保滤波输出结果数据无丢失,避免滤波输出结果发生畸变,使该低通滤波器的滤波方法能够灵活多变的实现。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第四实施方式涉及一种低通滤波器,具体如图3所示,低通滤波器包括:采样模块301、计算模块302和输出模块303。

具体的说,采样模块301,用于周期性采样数据,得到低通滤波器的滤波输入值;计算模块302,用于根据采样到的数据进行滤波计算;输出模块303,用于输出滤波后的数据;其中,输出模块将第n个周期的滤波计算中得到的余数补偿到第n+1个周期的滤波计算中;n为自然数且n≥1。

不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第五实施方式涉及一种低通滤波器,本实施方式提供了优选的具体实现形式,能够使滤波输出结果严格等于输入,并且不会有数据畸变。本实施方式中,低通滤波器包括:采样模块301、计算模块302和输出模块303。

具体的说,采样模块301,用于周期性采样数据,得到低通滤波器的滤波输入值;计算模块302,用于根据采样到的数据进行滤波计算;输出模块303,用于输出滤波后的数据;其中,输出模块将第n个周期的滤波计算中得到的余数补偿到第n+1个周期的滤波计算中;n为自然数且n≥1。其中,低通滤波器为伺服驱动器中的平滑滤波器。

另外,计算模块302可以具体用于根据以下公式进行滤波计算,输出滤波后的数据yn:并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%τ;其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本发明第六实施方式涉及一种低通滤波器,本实施方式提供了另一种优选的具体实现形式,能够使滤波输出结果严格等于输入,并且不会有数据畸变,使该低通滤波器的滤波方法能够灵活多变的实现。本实施方式中,低通滤波器包括:采样模块301、计算模块302和输出模块303。

具体的说,采样模块301,用于周期性采样数据,得到低通滤波器的滤波输入值;计算模块302,用于根据采样到的数据进行滤波计算;输出模块303,用于输出滤波后的数据;其中,输出模块将第n个周期的滤波计算中得到的余数补偿到第n+1个周期的滤波计算中;n为自然数且n≥1。

计算模块302可以具体用于根据以下公式进行滤波计算,输出滤波后的数据yn:并得到第n个周期的余数rn,rn=(t(xn-yn-1)+rn-1)%(τ+t);其中,rn-1是第n-1个周期的滤波计算中得到的余数,yn-1是第n-1个周期的滤波输出,xn是第n个周期的滤波输入值,τ是滤波周期,t是采样周期。

由于第三实施方式与本实施方式相互对应,因此本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,在第三实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。

本发明第七实施方式涉及一种伺服驱动器,伺服驱动器包括第四实施方式至第六实施方式中任一项所述的低通滤波器。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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