发明内容
本发明实施例所要解决的技术问题在于,提供一种机械共振用于伺服电动机的共振消除方法及装置,可自动获取机械共振频率并设置陷波器参数,加快工作效率,避免机械共振干扰。
为了解决上述技术问题,本发明实施例提供了一种用于伺服电动机的共振消除方法,包括以下步骤:
提供具有无限脉冲响应格型滤波器结构、用于抑制指定频率分量的陷波器,并将该陷波器安装在伺服电动机的转矩指令端;
在伺服电动机工作时,利用线性预测算法计算所述陷波器的自回归模型参数;
利用所述自回归模型参数计算伺服电动机的机械共振频率;
根据所述机械共振频率设置所述陷波器的参数,使所述陷波器在伺服电动机运行时滤除伺服电动机的转矩指令中具有所述机械共振频率的分量。
其中,利用自回归模型参数计算伺服电动机的机械共振频率的步骤包括:
若只有一个机械共振频率,自回归模型阶数取为两阶,直接将所述自回归模型参数代入所述陷波器的传递函数,得到机械共振频率的余弦值;
利用所述余弦值查表得到所述机械共振频率。
其中,利用所述自回归模型参数计算伺服电动机的机械共振频率的步骤包括:
若有两个机械共振频率,自回归模型阶数取为四阶,根据两个陷波器的传递函数建立系数方程组;
将所述自回归模型参数代入所述系数方程组,求解所述系数方程组得到两个机械共振频率的余弦值;
利用所述余弦值查表得到所述机械共振频率。
其中,所述线性预测算法包括自相关法、Burg递推算法或改进协方差法。
其中,利用Burg递推算法计算所述陷波器的自回归模型参数的步骤包括:
计算使所述陷波器的自回归模型的前向预测误差和后向预测误差的均方误差之和最小的反射系数;
利用所述计算得到的反射系数,按照莱文森算法计算所述陷波器的自回归模型参数。
相应地,本发明还提供了一种用于伺服电动机的共振消除装置,包括:
安装在伺服电动机的转矩指令端的陷波器,所述陷波器具有无限脉冲响应格型滤波器结构,用于抑制指定频率分量;
自回归模型参数计算模块,用于在伺服电动机工作时利用线性预测算法计算所述陷波器的自回归模型参数;
共振频率计算模块,用于利用所述自回归模型参数计算机械共振频率;
陷波器参数设置模块,用于根据所述机械共振频率设置所述陷波器的参数,从而控制所述陷波器在伺服电动机运行时滤除伺服电动机的转矩指令中具有所述机械共振频率的分量。
其中,所述共振频率计算模块包括:
余弦值计算模块,用于若只有一个机械共振频率,自回归模型阶数取为两阶,直接将所述自回归模型参数代入所述陷波器的传递函数,得到机械共振频率的余弦值;
查表模块,用于利用所述余弦值查表得到所述机械共振频率。
其中,所述共振频率计算模块包括:
系数方程组建立模块,用于若有两个机械共振频率,自回归模型阶数取为四阶,根据两个陷波器的传递函数建立系数方程组;
余弦值计算模块,用于将所述自回归模型参数代入所述系数方程组,求解所述系数方程组得到两个机械共振频率的余弦值;
查表模块,用于利用所述余弦值查表得到所述机械共振频率。
其中,所述自回归模型参数计算模块包括用于利用自相关法计算自回归模型参数的自相关法计算模块、用于利用Burg递推算法计算自回归模型参数的Burg递推算法计算模块或用于利用改进协方差法计算自回归模型参数的改进协方差法计算模块。
其中,利用Burg递推算法计算自回归模型参数时,所述Burg递推算法计算模块包括:
发射系数计算模块,用于计算使所述陷波器的自回归模型的前向预测误差和后向预测误差的均方误差之和最小的反射系数;
自回归模型参数推算模块,用于利用所述计算得到的反射系数,按照莱文森算法计算所述陷波器的自回归模型参数。
实施本发明实施例,具有如下有益效果:通过设置特定形式的陷波器,自动识别机械共振频率从而对陷波器进行参数设置,不需手动寻找机械机械共振点,简化了用户操作,提高了工作效率;而且,计算精度与采样点数和采样频率无关,因而可以使用较少的数据得到准确的结果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明较佳实施例提供的用于伺服电动机的共振消除方法的流程图,该方法包括:
S100、提供具有无限脉冲响应格型滤波器结构、用于抑制指定频率分量的陷波器,并将该陷波器安装在伺服电动机的转矩指令端。具体地,该陷波器如图2所示,上方的格型滤波器为IIR结构,贡献极点部分,相当于AR(AutoRegressive,自回归)模型,而下方的格型滤波器为FIR(Finite Impulse Response,有限脉冲响应)结构,贡献零点部分。整个陷波器的传递函数为:
其中a0=k0,a1=ρk1,如将零点固定在单位圆上,令k1=1,整个陷波器的传递函数能够改写为:
从式(2)可以看出,要想得到陷波器传递函数的分母的各项系数,只需要计算出AR模型参数。
S101、在伺服电动机工作时,利用线性预测算法计算所述陷波器的AR模型参数。通常,用于求取AR模型参数的线性预测算法可以是自相关法、Burg递推算法或改进协方差法。其中,Burg递推算法不是直接估计AR模型参数,而是先估计反射系数k
p,再利用Levinson关系式求得AR模型参数。具体地,Burg递推算法的基本思想是使前向预测误差Ef
p(n)和后向预测误差Eb
p(n)的均方误差之和最小来求取反射系数k
p(=a
pp),再按Lenvinson(莱文森)算法计算AR模型参数a
p,k(k=0,1,...,p-1),不对已知数据段之外的数据做人为假设。已知Ef
0(n)=Eb
0(n)=x(n),
求取反射系数k
p的递推公式如下:
Efp(n)=Efp-1(n)+kp*Ebp-1(n-1) p=1,2,...,n (4)
Ebp(n)=Ebp-1(n-1)+kp*Efp-1(n) p=1,2,...,n (5)
将p阶AR模型的反射系数和p-1阶AR模型的反射系数代入Levinson关系式中,可以求得AR模型其他参数,Levinson关系式如下:
ap,k=ap-1,k+ap,p*ap-1,p-k-1 p=1,2,...,n-1 k=0,1,...,p-1 (7)
σp为预测误差功率,可由如下递推公式求得:
σp=(1-kp)2*σp-1p=1,2,...,n-1 (8)
由(3)~(8)式即可得出AR模型参数。
S102、利用所述自回归模型参数计算伺服电动机的机械共振频率。例如,可以根据AR模型参数计算功率谱函数,然后直接计算机械共振频率。又例如,还可以通过查表和解方程的方式来求取机械共振频率。如果按求取功率谱的方式直接计算机械共振频率,计算量将比较大,因为它要求出所有频率点的功率谱密度值,并进行比较得出最大的那个点,由于该方法通常集成到MCU(MicroControl Unit,微控制单元)软件中实现,为了简化计算,优选采用查表和解方程的方式来求取机械共振频率。
根据陷波器的定义,当使用一个陷波器时,AR模型阶数取为两阶,当使用两个陷波器时,AR模型阶数取为4阶。
当AR模型为两阶时,即只使用一个陷波器时,由式(2)和步骤S101计算得到的AR模型参数可得:
k0(1+ρ)=a1,0 (9)
ρ=a1,1
因此,可以得到:
其中,a1,0和a1,1均为步骤S101中计算得到的AR模型参数,利用查表法就可以得到机械共振频率Ω0。
当使用两个陷波器时,即机械共振信号存在两个频率时,则AR模型需要使用4阶模型,机械共振频率的计算需要经过别的推导才能得出。假设两个陷波器分母部分传递函数分别为G1(Z),G2(Z),则有:
由于系数a2,b2均只和陷波宽度相关,与机械共振频率没有关系,可令a2=b2;由此可以建立方程组如下:
a1+b1=a3,0;
a2+a1b1+a2=a3,1; (12)
a2(a1+b1)=a3,2
式(12)的右式部分即为Burg递推算法计算出来的AR模型参数,解(12)所表示的方程组可以得到:
a1+b1=a3,0 (13)
由式(13)可以知道a1,b1是一个一元二次方程的两个根,由于f(x)=ax2+bx+c=0的两个根为:
(14)
其中a=1;b=-a3,0;
由(14)式得出a1,b1的值后,因为a2,b2已经由(13)式计算出来,因而由(10)可以得出两个机械共振频率的余弦值,最后根据余弦值用查表法得出机械共振频率。
S103、根据所述机械共振频率设置所述陷波器的参数,使所述陷波器在伺服电动机运行时滤除伺服电动机的转矩指令中具有所述机械共振频率的分量。具体地,自动设置公式(2)中传播函数的系数k0和ρ。
本发明提供的用于伺服电动机的共振消除方法,通过设置特定形式的陷波器,自动识别机械共振频率从而对陷波器进行参数设置,不需手动寻找机械共振点,简化了用户操作,提高了工作效率;而且,计算精度与采样点数和采样频率无关,因而可以使用较少的数据得到准确的结果。
请参见图3,是本发明较佳实施例提供的机械共振用于伺服电动机的共振消除装置300的结构示意图,该装置300包括:
陷波器310,陷波器310安装在伺服电动机的转矩指令端,具有无限脉冲响应格型滤波器结构,用于抑制指定频率分量。具体地,该陷波器如图2所示,上方的格型滤波器为IIR结构,贡献极点部分,相当于AR(Auto Regressive,自回归)模型,而下方的格型滤波器为FIR(Finite Impulse Response,有限脉冲响应)结构,贡献零点部分。整个陷波器的传递函数为:
其中a0=k0,a1=ρk1,如将零点固定在单位圆上,令k1=1,整个陷波器的传递函数能够改写为:
从式(2)可以看出,要想得到陷波器传递函数的分母的各项系数,只需要计算出AR模型参数。
AR模型参数计算模块320,用于在伺服电动机工作时利用线性预测算法计算所述陷波器的AR模型参数。通常,AR模型参数计算模块320可以包括:用于利用自相关法计算AR模型参数的自相关法计算模块、或用于利用Burg递推算法计算AR模型参数的Burg递推算法计算模块、或用于利用改进协方差法计算AR模型参数的改进协方差法计算模块。其中,Burg递推算法计算模块不是直接估计AR模型参数,而是先估计反射系数kp,再利用Levinson关系式求得AR模型参数。
具体地,Burg递推算法计算模块包括:发射系数计算模块,用于计算使所述陷波器的自回归模型的前向预测误差Ef
p(n)和后向预测误差Eb
p(n)的均方误差之和最小的反射系数k
p(=a
pp);自回归模型参数推算模块,用于利用所述计算得到的反射系数,按照莱文森算法计算所述陷波器的自回归模型参数a
p,
k(k=0,1,...,p-1)。已知Ef
0(n)=Eb
0(n)=x(n),
求取反射系数k
p的递推公式如下:
Efp(n)=Efp-1(n)+kp*Ebp-1(n-1)p=1,2,...,n (4)
Ebp(n)=Ebp-1(n-1)+kp*Efp-1(n)p=1,2,...,n (5)
将p阶AR模型的反射系数和p-1阶AR模型的反射系数代入Levinson关系式中,可以求得AR模型其他参数,Levinson关系式如下:
ap,k=ap-1,k+ap,p*ap-1,p-k-1p=1,2,...,n-1k=0,1,...,p-1 (7)
σp为预测误差功率,可由如下递推公式求得:
σp=(1-kp)2*σp-1p=1,2,...,n-1 (8)
由(3)~(8)式即可得出AR模型参数。
共振频率计算模块330,用于利用所述自回归模型参数计算机械共振频率。例如,可以根据AR模型参数计算功率谱函数,然后直接计算机械共振频率。又例如,还可以通过查表和解方程的方式来求取机械共振频率。如果按求取功率谱的方式直接计算机械共振频率,计算量将比较大,因为它要求出所有频率点的功率谱密度值,并进行比较得出最大的那个点,由于该方法通常集成到MCU(Micro Control Unit,微控制单元)软件中实现,为了简化计算,优选采用查表和解方程的方式来求取机械共振频率。
根据陷波器的定义,当使用一个陷波器时,AR模型阶数取为两阶,当使用两个陷波器时,AR模型阶数取为4阶。
当AR模型为两阶时,即只使用一个陷波器时,所述共振频率计算模块330包括余弦值计算模块和查表模块。其中,余弦值计算模块用于直接将所述自回归模型参数代入所述陷波器的传递函数,得到机械共振频率的余弦值;查表模块用于利用所述余弦值查表得到所述机械共振频率。具体地,余弦值计算模块由式(2)和AR模型参数计算模块320计算得到的AR模型参数可得:
k0(1+ρ)=a1,0 (9)
ρ=a1,1
因此,可以得到:
其中,a1,0和a1,1均为AR模型参数计算模块320计算得到的AR模型参数,查表模块利用查表法就可以得到机械共振频率Ω0。
当使用两个陷波器时,即机械共振信号存在两个频率时,则AR模型需要使用4阶模型,机械共振频率的计算需要经过别的推导才能得出。此例中,共振频率计算模块330包括:系数方程组建立模块,用于根据两个陷波器的传递函数建立系数方程组;余弦值计算模块,用于将所述自回归模型参数代入所述系数方程组,求解所述系数方程组得到两个机械共振频率的余弦值;查表模块,用于利用所述余弦值查表得到所述机械共振频率。具体地,系数方程组建立模块假设两个陷波器分母部分传递函数分别为G1(Z),G2(Z),则有:
由于系数a2,b2均只和陷波宽度相关,与机械共振频率没有关系,可令a2=b2;由此可以建立方程组如下:
a1+b1=a3,0;
a2+a1b1+a2=a3,1; (12)
a2(a1+b1)=a3,2
式(12)的右式部分即为Burg递推算法计算出来的AR模型参数,余弦值计算模块解(12)所表示的方程组可以得到:
a1+b1=a3,0 (13)
由式(13)可以知道a1,b1是一个一元二次方程的两个根,由于f(x)=ax2+bx+c=0的两个根为:
(14)
其中a=1;b=-a3,0;
由(14)式得出a1,b1的值后,因为a2,b2已经由(13)式计算出来,因而由(10)可以得出两个机械共振频率的余弦值,最后查表模块根据余弦值用查表法得出机械共振频率。
陷波器参数设置模块340,用于根据所述机械共振频率设置所述陷波器的参数,从而控制陷波器310在伺服电动机运行时滤除伺服电动机的转矩指令中具有所述机械共振频率的分量。具体地,自动设置公式(2)中传播函数的系数k0和ρ。
本发明提供的用于伺服电动机的共振消除装置,通过设置特定形式的陷波器,自动识别机械共振频率从而对陷波器进行参数设置,不需手动寻找机械机械共振点,简化了用户操作,提高了工作效率;而且,计算精度与采样点数和采样频率无关,因而可以使用较少的数据得到准确的结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。