一种机械振动误差消除方法及装置与流程

文档序号:12728677阅读:501来源:国知局
一种机械振动误差消除方法及装置与流程

本发明属于误差消除技术领域,尤其涉及一种机械振动误差消除方法及装置。



背景技术:

测量系统工作时,传感器采集机械位移等信息,测量系统对采集到的数据进行处理得到测量结果,但机械振动会导致测量结果存在较大的误差。若依靠改进机械的制造工艺提高测量精度,存在成本高和加工难度大的问题,而且在不同的测量环境中,由于温度和湿度等因素的影响,测量系统的机械振动频率不同,因此难以消除机械振动造成的测量结果误差。

故,有必要提出一种新的技术方案,以解决上述技术问题。



技术实现要素:

鉴于此,本发明实施例提供机械振动误差消除方法及装置,以解决现有技术中难以消除机械振动造成的测量结果误差的问题。

本发明实施例的第一方面,提供一种机械振动误差消除方法,包括:

获取当前时刻的参考输入信号,利用所述当前时刻的参考输入信号确定之前时刻的参考输入信号;

根据所述当前时刻的参考输入信号和所述之前时刻的参考输入信号,确定参考输入信号向量X(n);

基于现场可编程阵列并采用FIR自适应滤波算法对所述参考输入信号向量X(n)进行滤波,输出有效信号。

本发明实施例的第二方面,提供一种机械振动误差消除装置,包括:

获取模块,用于获取当前时刻的参考输入信号,利用所述当前时刻的参考输入信号确定之前时刻的参考输入信号;

确定模块,用于根据所述当前时刻的参考输入信号和所述之前时刻的参考输入信号,确定参考输入信号向量X(n);

滤波模块,用于基于现场可编程阵列并采用FIR自适应滤波算法对所述参考输入信号向量X(n)进行滤波,输出有效信号。

本发明实施例与现有技术相比存在的有益效果是:本发明所提供的机械振动误差消除方法及装置中,获取当前时刻的参考输入信号,利用当前时刻的参考输入信号确定之前时刻的参考输入信号;根据当前时刻的参考输入信号和之前时刻的参考输入信号,确定参考输入信号向量X(n);基于现场可编程阵列并采用FIR自适应滤波算法对所述参考输入信号向量X(n)进行滤波,输出有效信号。该机械振动误差消除方法及装置中输出的有效信号,可消除不同工作环境下测量系统的机械振动造成的误差。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的机械振动误差消除方法的一流程图;

图2是图1所示机械振动误差消除方法中步骤S10的一流程图;

图3是图1所示机械振动误差消除方法中步骤S30的一流程图;

图4是本发明实施例提供的FIR自适应滤波算法的示意图;

图5是本发明实施例提供的机械振动误差消除装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供一种机械振动误差消除方法。该机械振动误差消除方法包括:获取当前时刻的参考输入信号,利用当前时刻的参考输入信号确定之前时刻的参考输入信号;根据当前时刻的参考输入信号和之前时刻的参考输入信号,确定参考输入信号向量X(n);基于现场可编程阵列并采用FIR自适应滤波算法对所述参考输入信号向量X(n)进行滤波,输出有效信号,从而消除不同工作环境下测量系统的机械振动造成的误差。为了说明本发明所提供的机械振动误差消除方法,下面通过具体实施例来进行说明。

实施例一

图1示出了本发明实施例一提供的机械振动误差消除方法的一流程图,详述如下:

在S10中,获取当前时刻的参考输入信号,利用所述当前时刻的参考输入信号确定之前时刻的参考输入信号。

当前时刻的参考输入信号是指频域上的参考输入信号,若当前时刻为n,预设参考信号向量的长度为k,则根据k值确定之前时刻的参考输入信号为(k-1)个。

为了使参考输入信号向量与测量系统机械振动所产生的噪声信号高度相关,优选地,使获取当前时刻的参考输入信号,利用当前时刻的参考输入信号确定之前时刻的参考输入信号的过程在系统空闲的状态下进行,在系统空闲状态下获取到的参考输入信号更准确并且始终能和测量系统机械振动所产生的噪声信号保持高度相关。其中,系统空闲的状态是指系统开启但没有进入测量的工作状态。

在S20中,根据当前时刻的参考输入信号和之前时刻的参考输入信号,确定参考输入信号向量X(n)。

令X(n)={x(n),x(n-1),x(n-2),……,x(n-k-2),x(n-k+1)}T

其中,x(n)为当前时刻的参考输入信号;x(n-1)为上一时刻的参考输入信号,……,x(n-k+1)为上(k-1)时刻的参考输入信号,x(n-1),x(n-2),……,x(n-k-2),x(n-k+1)合称为之前时刻的参考输入信号;参考输入信号向量X(n)由当前时刻的参考输入信号和之前时刻的参考输入信号构成。

在S30中,基于现场可编程阵列并采用FIR自适应滤波算法对参考输入信号向量X(n)进行滤波,输出有效信号。

现场可编程阵列(即Field-Programmable Gate Array,简称FPGA),是一种基于N输入查找表(LUT)技术的现场可编程门阵列,具有丰富而规则的逻辑资源和布线资源。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。

基于现场可编程阵列并采用FIR自适应滤波对所述参考输入信号向量X(n)进行滤波包括:原始输入信号不进行滤波,直接作为期望输出信号,当前时刻的期望输出信号与之前时刻的期望输出信号构成期望输出信号向量;对参考输入信号向量X(n)进行自适应性滤波,输出信号向量为自适应滤波权系数向量的转置与参考输入向量的乘积,误差信号向量为期望信号向量与输出信号向量之差,根据获得的误差信号向量逐步调整自适应滤波权系数向量,直至误差向量的值最小。优选地,步骤S30是在系统工作时进行的。系统工作是指系统开启并进入工作状态。

本实施例所提供的机械振动误差消除方法中,获取当前时刻的参考输入信号,利用当前时刻的参考输入信号确定之前时刻的参考输入信号;根据当前时刻的参考输入信号和之前时刻的参考输入信号,确定参考输入信号向量X(n);基于现场可编程阵列并采用FIR自适应滤波算法对所述参考输入信号向量X(n)进行滤波,输出有效信号,消除不同工作环境下测量系统的机械振动不同造成的误差。

进一步地,图2示出图1所示机械振动误差消除方法中步骤S10的一流程图,详述如下:

在S101中,对采集到的连续时间信号进行模数转换得到数字信号。

采集连续时间信号x(t),通过模数转换器得到相应的数字信号。模数转换包括:对连续时间信号进行采样,对采样后的信号进行量化。采样即是对连续时间信号离散化,采样过程依据采样定理进行,采样定理为当采样频率大于信号中最高频率的2倍时,采样之后的数字信号完整地保留了原始信号中的信息。为了配合计算机的二进制表示方式,优选地,实际应用中保证采样频率为信号最高频率的2.56倍。量化指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。连续信号经过采样后成为离散时间信号,离散时间信号经过量化即成为数字信号。

在S102中,基于现场可编程阵列对数字信号做快速傅里叶变换到频域。

基于现场可编程阵列,对在S101中获得的数字信号做快速傅里叶变换到频域。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,优选地,N取2的整数次方。

在S103中,根据频域的频谱分量图计算固有频率。

有些信号很难在时域看出什么特征,变换到频域就很容易看出特征,对参考输入向量进行快速傅里叶变换FFT提取出频域上的频谱图,分析频谱图找出幅度最高对应的点对应的频率即为噪声信号的频率。可选地,若频谱图上第51个点的幅度最高,则对应的频率50HZ为噪声信号的频率;若频谱图上第76个点的幅度最高,则对应的频率75HZ为噪声信号的频率。

在S104中,根据固有频率合成所述当前时刻的参考输入信号。

基于现场可编程阵列,将上述获得的幅度最高点的幅度,频率以及相位输入至DDS(Direct Digital Synthesizer,即直接数字式频率合成器)中合成为参考输入信号。频率即固有频率。

本实施例在系统进行测量工作之前将噪声频率计算出来的优点在于,测量系统在不同的环境下振动频率即固有频率不同,而这种方法消除了因环境变化带来的影响,适应性更强,同时使用FPGA进行FFT变换和DDS合成的优点在于,FPGA能够以极高的时钟速度计算并且能够并行的实时计算和同步合成信号,快速、高效。

进一步地,图3示出了图1所示机械振动误差消除方法中步骤S30的一流程图,图4示出了本发明实施例提供的FIR自适应滤波算法的示意图,参考图3和图4,详述如下:

在S301中,根据当前时刻的自适应滤波器权系数向量W(n)的转置与参考输入信号向量X(n)相乘,获取当前时刻的输出信号向量Y(n)。

该步骤可表示为:Y(n)=WT(n)*X(n)。

其中,X(n)为参考输入信号向量,Y(n)为输出信号向量,W(n)为当前时刻的自适应滤波器权系数向量,WT(n)为当前时刻的自适应滤波器权系数向量的转置,n为迭代次数。

参考输入信号向量X(n),X(n)={x(n),x(n-1),x(n-2),……,x(n-k-2),x(n-k+1)}T,其中,x(n)为当前时刻的参考输入信号,x(n-1)为上一时刻的参考输入信号,……,x(n-k+1)为上(k-1)时刻的参考输入信号,参考输入信号向量X(n)由当前时刻的参考输入信号和之前时刻的参考输入信号构成。

当前时刻的自适应滤波器权系数向量W(n),W(n)={w0(n),w1(n),w2(n),……,wk-2(n),wk-1(n)}T,为了方便计算的同时不太复杂,优选地,k=32。

在S302中,将期望输出信号向量D(n)与输出信号向量Y(n)相减,获取误差信号向量E(n)。

该步骤可表示为:E(n)=D(n)-Y(n)。原始输入信号不进行滤波直接作为期望输出信号。优选地,原始输入信号为测量系统工作时掺杂了因机械振动产生的噪声的输入信号。D(n)={d(n),d(n-1),d(n-2),……,d(n-k-2),d(n-k+1)}T,其中,d(n)为当前时刻的期望输出信号,d(n-1)为上一时刻的期望输出信号,……,d(n-k+1)为上(k-1)时刻的期望输出信号,期望输出信号向量D(n)由当前时刻的期望输出信号和之前时刻的期望输出信号构成。

在S303中,采用FIR自适应滤波算法对误差信号向量E(n)和参考输入信号向量X(n)进行滤波,获取下一时刻的自适应滤波器权系数向量W(n+1)。其中,下一时刻的自适应滤波器权系数向量W(n+1)是误差信号向量E(n)和参考输入信号向量X(n)和步长因子的乘积与当前时刻的自适应滤波器权系数向量W(n)的和值。

该步骤可表示为:W(n+1)=W(n)+2u*E(n)*X(n),2u通常很小,为了提高FIR自适应滤波算法的收敛速度,优选地,实际应用中取1/2、1/4、1/8和1/16等。

在S304中,将下一时刻的自适应滤波器权系数向量W(n+1)的转置与参考输入信号向量X(n+1)相乘,获取下一时刻的输出信号向量Y(n+1),作为有效信号输出。

当误差向量的值最小,优选地当最小为零,即误差消除时,输出Y(n+1)。

FIR自适应滤波算法的流程就是一个信号逐级延迟的过程,将各级的延迟输出加权累计,即得到FIR自适应滤波的输出,详述如下:

系统工作时,原始输入信号不进行滤波,直接作为期望输出信号,当前时刻的期望输出信号与之前时刻的期望输出信号构成期望输出信号向量D(n);对所述参考输入信号向量X(n)进行自适应性滤波,根据公式Y(n)=WT(n)*X(n),输出信号向量为自适应滤波权系数向量的转置WT(n)与参考输入向量X(n)的乘积;根据公式E(n)=D(n)-Y(n),误差信号向量E(n)为期望信号向量D(n)与输出信号向量Y(n)之差;由公式W(n+1)=W(n)+2u*E(n)*X(n)根据获得的误差信号向量E(n)逐步调整自适应滤波权系数向量,直至误差向量的值最小,输出此刻的输出信号向量Y(n+1)。

可以理解地,根据误差向量对自适应滤波权系数向量进行逐步调整的过程是一个动态过程,上述过程还包括自适应滤波权系数向量的初始化,当初始向量W(0)={w0(n),w1(n),w2(n),……,wk-2(n),wk-1(n)}T满足一定条件时,误差向量的值也就是误差向量模的平方才会达到最小,即为零。

优选地,时钟控制当前时刻的参考输入信号向量和期望输出信号向量同步进行,延迟输入量缓存至所述现场可编程阵列的寄存器中。所述输入量包括当前时刻以及之前时刻的参考输入信号和当前时刻以及之前时刻的期望输出信号。

优选地,所述相乘和相减的计算过程可以在时钟的控制下同时进行而无需按照先后顺序执行,提高了运算效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的机械振动误差消除方法,图5示出了本发明实施例提供的机械振动误差消除装置的结构框图,详述如下:

参考图5,该装置包括:

获取模块51,用于获取当前时刻的参考输入信号,利用当前时刻的参考输入信号确定之前时刻的参考输入信号;

确定模块52,用于根据当前时刻的参考输入信号和之前时刻的参考输入信号,确定参考输入信号向量X(n);

滤波模块53,用于基于现场可编程阵列并采用FIR自适应滤波算法对参考输入信号向量X(n)进行滤波,输出有效信号。

可选地,获取模块51包括:

转换单元510,用于对采集到的连续时间信号进行模数转换得到数字信号;

变换单元511,用于基于现场可编程阵列对数字信号做快速傅里叶变换到频域;

计算单元512,根据频域的频谱分量图计算固有频率;

合成单元513,根据固有频率合成当前时刻的参考输入信号。

可选地,滤波模块53包括:

相乘单元530,用于根据当前时刻的自适应滤波器权系数向量W(n)的转置与参考输入信号向量X(n)相乘,获取当前时刻的输出信号向量Y(n);

相减单元531,用于将期望输出信号向量D(n)与输出信号向量Y(n)相减,获取误差信号向量E(n);

获取单元532,用于采用FIR自适应滤波算法对误差信号向量E(n)和参考输入信号向量X(n)进行滤波,获取下一时刻的自适应滤波器权系数向量W(n+1);

输出单元533,用于将下一时刻的自适应滤波器权系数向量W(n+1)的转置与参考输入信号向量X(n+1)相乘,获取下一时刻的输出信号向量Y(n+1),作为有效信号输出。

进一步地,下一时刻的自适应滤波器权系数向量W(n+1)是误差信号向量E(n)和参考输入信号向量X(n)和步长因子的乘积与当前时刻的自适应滤波器权系数向量W(n)的和值。

可选地,装置还包括:

时钟模块54,用于时钟控制当前时刻的参考输入信号向量和期望输出信号向量同步进行。

延迟模块55,用于将输入量缓存至现场可编程阵列的寄存器中。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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