基于误差模型迭代补偿的传感器频响函数计算方法转让专利

申请号 : CN201810605906.4

文献号 : CN108801296B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邵春莉杨双龙徐科军

申请人 : 安徽大学

摘要 :

本发明为一种基于误差模型迭代补偿的传感器频响函数计算方法,用于根据传感器的动态标定实验数据计算传感器的频响函数,并根据频响函数的误差模型通过误差迭代补偿的方法提高频响函数的计算精度。首先,通过动态阶跃响应实验获取传感器的动态标定实验数据;其次,对传感器的阶跃响应输入、输出数据进行数据截取、去偏置和补零预处理;再次,对预处理后的数据进行加窗处理;然后,根据加窗后的传感器阶跃响应实验数据采用谱估计法计算出传感器频响函数的初始估计;最后,根据频响函数的窗函数插值误差模型和暂态误差模型,通过频响函数误差迭代补偿来提高传感器频响函数的计算精度。

权利要求 :

1.一种基于误差模型迭代补偿的传感器频响函数计算方法,用于根据传感器的动态标定实验数据计算传感器的频响函数,并根据频响函数的误差模型通过误差迭代补偿的方法提高频响函数的计算精度;其特征在于:首先,对传感器进行阶跃响应实验获得传感器的动态标定实验输入数据u(n)和输出数据y(n),并分别从传感器数据u(n)和y(n)中自阶跃起跳点开始截取M点数据uM(n)和yM(n),要求截取的yM(n)的暂态过程已进入稳态误差带内;

其次,将截取的传感器输入数据uM(n)和输出数据yM(n)分别减去各自的初始值uM(0)和yM(0),并在两个去除初始值的数据段前分别补M个零,获得长度为N=2M的数据uN(n)和yN(n),以使阶跃起跳点位于数据uN(n)和yN(n)的中间,从而降低后续频响函数初始估计的误差;

再次,对uN(n)和yN(n)加窗函数wN(n)分别得到 和 窗函数wN(n)选择汉宁窗、布莱克曼窗或一种新双余弦窗wN(n)=0.5-0.5625cos2πn/N+0.0625cos6πn/N,其中n=

0,2,3,…,N-1;

然后,采用谱估计法计算频响函数的初始估计 其算式如下式中, 和 分别为 和 的离散傅里叶变换, 为 的共轭,k=0,1,2,3,…,N-1,k所对应的频率为k·fs/N,fs为传感器数据的采样率;

最后,根据窗函数插值误差模型和暂态误差模型对传感器频响函数的初始估计进行误差迭代补偿,以降低其估计误差,频响函数误差迭代补偿的步骤为:步骤一:令

步骤二:令hN(n)=IFFT(HN(k));

步骤三:根据窗函数插值误差模型中的 算式和卷积定理,采用快速傅里叶变换方法计算窗函数插值误差项 算式如下上式中,UN(k)为uN(n)的离散傅里叶变换;

步骤四:根据暂态误差模型中的 算式和卷积定理,采用补零快速傅里叶变换的方法计算暂态误差项 计算过程如下:①在uN(n)和hN(n)的末尾各补N个0,分别获得长度为2N的u2N(n)和h2N(n);

②根据卷积定理采用快速傅里叶变换法计算 即

t2N(n)=IFFT(FFT(u2N(n))·FFT(h2N(n)));

③截取t2N(n)的后N个点作为tN(n),对tN(n)加窗,即得时域暂态误差项 即tN(n)=t2N(n)|N:2N-1④计算暂态误差项

步骤五:计算频响函数估计误差Eiter(k)

步骤六:频响函数误差补偿

步骤七:计算迭代收敛误差 Q为所关注的传感器测量频带的上限fbw所对应的频率点,即Q=N·fbw/fs,fs为传感器输入、输出数据的采样率;

步骤八:令

步骤九:判断是否达到误差迭代补偿结束条件;若econv≤etol或已达到最大迭代次数,则误差迭代补偿结束,步骤八得到的HN(k)即为最终的传感器频响函数的计算结果;否则,返回至步骤二继续进行误差迭代补偿;

上述误差迭代补偿步骤中,FFT(·)表示进行快速傅里叶变换运算,IFFT(·)表示进行快速逆傅里叶变换运算。

说明书 :

基于误差模型迭代补偿的传感器频响函数计算方法

技术领域

[0001] 本发明涉及传感器动态校准技术,特别是一种适用于根据传感器阶跃响应估计传感器频响函数的技术,以降低根据传感器阶跃响应动态标定实验数据估计传感器频响函数时的估计误差。

背景技术

[0002] 传感器频响函数反映了传感器对被测信号中不同频率分量的响应特性,是分析评价其动态测量性能和对其动态测量误差进行频域修正的重要依据。因此,传感器频响函数的计算至关重要。传感器频响函数的计算依赖于传感器的动态响应实验数据,即传感器在动态激励下的输入、输出数据。其具体计算一般采用谱估计法,即先对传感器输入u、输出y进行离散傅里叶变换得到UDFT(k)和YDFT(k),然后采用式H(k)=YDFT(k)/UDFT(k)计算得到传感器的频响函数H(k)。故此,传感器频响函数的计算不可避免地会受数据离散傅里叶变换过程中的频谱泄漏的影响,在频响函数估计结果中引入暂态误差。对传感器进行周期激励或短时冲击激励可有效避免频谱泄漏带来的暂态误差项。但是,对于实际传感器,特别是用于非电类物理量测量的传感器,采用周期响应法或冲击响应法对其进行激励并获取传感器准确的输入输出数据的难度往往较大,而阶跃响应法则往往实现方式较易、可控性和重复性较好,但其无法避免暂态误差的问题。应用中常采用窗函数来抑制谱估计法计算频响函数的频谱泄漏影响,如hanning窗。但窗函数的频域插值效应又会向频响函数估计结果中引入新的插值误差。为此,文献“Improved frequency response function measurements for random noise excitations”(Schoukens J.,Rolain Y.,and Pintelon R.,IEEE Transactions on Instrumentation and Measurement,vol.47,no.1,pp.322-326,1998)中提出了一种直接误差迭代补偿的方法(以下简称直接迭代法)、文献“Estimation of nonparametric noise and FRF models for multivariable systems-Part I:theory”(R.Pintelon,J.Schoukens,G.Vandersteen,and K.Barbé,Mechanical Systems and Signal Processing,vol.24,no.3,pp.573-595,2010.)中提出一种局部多项式拟合法(以下简称LPM法),以降低传感器频响函数的估计误差。这些方法从不同的角度和应用场合对频响函数的计算误差进行了分析讨论,给出了有价值的方法,但也存在一定的局限性。当前应用中,采用窗函数谱估计法计算频响函数仍是最简单、方便的一种方法。文献“Error analysis and new dual-cosine window for estimating the sensor frequency response function from the step response data”(Shuang-Long Yang,Li-Ping Liang,Hou-De Liu,and Ke-Jun Xu,Review of Scientific Instruments,vol.89,035002,2018)中公开了一种基于新的双余弦窗wN(n)=0.5-0.5625cos2πn/N+0.0625cos6πn/N的传感器频响函数谱估计法;当根据传感器的阶跃响应数据估计传感器频响函数时,该方法相较于现有的窗函数谱估计法具有更好的暂态误差抑制能力和窗函数插值误差抑制能力,且相较于其它方法具有更快的计算速度;另外,该文献中也给出了基于窗函数谱估计法计算传感器频响函数的误差模型,包括窗函数插值误差模型Ei(k)和暂态误差模型Et(k),如下
[0003]
[0004]
[0005]
[0006]
[0007] 其中,
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014] 上式中,uN(n)为传感器的输入信号序列,yN(n)为传感器的输出信号序列,wN(n)为窗函数,hN(n)为传感器的单位冲击响应序列,符号 表示循环卷积,下标N均表示数据的长度,n=0,1,2,…,N-1,k=0,1,2,…,N-1。对于传感器而言,hN(n)未知,其离散傅里叶变换结果即为传感器的频响函数HN(k)。
[0015] 本发明方法即以上述基于窗函数谱估计的频响函数误差模型为基础,提出一种新的基于误差模型迭代补偿的传感器频响函数计算方法,以进一步降低传感器频响函数的估计误差。

发明内容

[0016] 本发明要解决现有的根据传感器阶跃响应实验数据计算传感器频响函数时估计误差较大的问题,提供一种基于窗函数插值误差模型和暂态误差模型进行误差迭代补偿的传感器频响函数计算方法,以有效降低传感器频响函数的估计误差。
[0017] 本发明所采用的技术方案是:首先,采用阶跃响应法对传感器进行动态标定实验,获取传感器的阶跃响应实验数据;其次,对传感器的阶跃响应输入、输出数据进行数据截取、去偏置和补零预处理;再次,对预处理后的数据进行加窗;然后,根据加窗后的传感器阶跃响应实验数据,采用谱估计法计算传感器频响函数的初始估计;最后,采用基于窗函数插值误差模型和暂态误差模型的误差迭代补偿方法对传感器频响函数的初始估计进行误差迭代补偿,从而提高传感器频响函数的计算精度。
[0018] 本发明的技术流程为:动态阶跃响应实验1→数据预处理2→数据加窗3→频响函数谱估计4→频响函数误差迭代补偿5,如图1所示。
[0019] 所述动态阶跃响应实验1,即为采用阶跃响应法对传感器进行动态标定实验,以获取其阶跃输入信号序列u(n)和响应输出信号序列y(n)。
[0020] 所述数据预处理2,即为对获取的传感器阶跃输入数据u(n)和响应输出数据y(n)依次进行数据截取6→数据去偏置7→数据补零8处理,以避免初始条件和后续数据加窗对频响函数估计的影响。
[0021] 数据截取6,即为分别从传感器数据u(n)和y(n)中自阶跃起跳点开始截取M点数据uM(n)和yM(n),要求截取的yM(n)的暂态过程已进入稳态误差带内。
[0022] 数据去偏置7,即为将数据截取6截取的传感器输入数据uM(n)和输出数据yM(n)分别减去各自的初始值uM(0)和yM(0),得u′M(n)和y′M(n),以去除初始条件对频响函数估计的影响。
[0023] 数据补零8,即为在去偏置后的数据u′M(n)和y′M(n)前分别补M个零,获得长度为N=2M的数据uN(n)和yN(n),以使阶跃起跳点位于数据uN(n)和yN(n)的中间。阶跃起跳点位于数据中间时,阶跃输入数据uN(n)的周期延拓信号为方波信号,除在偶次谐波频率点处的能量为0之外,在其它频率点处的能量均能达到最大,从而有利于降低频响函数初始估计的误差。
[0024] 所述数据加窗3,即为将数据预处理2处理后的传感器数据uN(n)和yN(n)分别乘以N点的窗函数wN(n),即得加窗后的数据分别为 和窗函数wN(n)选择汉宁窗、布莱克曼窗或现有文献中公开的一种新双余弦窗wN(n)=0.5-
0.5625cos2πn/N+0.0625cos6πn/N,其中n=0,2,3,…,N-1,以降低后续谱估计法计算传感器频响函数初始估计的误差、加快后续频响函数误差迭代补偿的收敛速度;以下简称汉宁窗为hanning窗,简称布莱克曼窗为blackman窗,简称所述文献中的新双余弦窗为dcos窗。
[0025] 所述频响函数谱估计4,即为采用功率谱估计法计算出传感器频响函数的初始估计 计算式为:
[0026]
[0027] 式中, 和 分别为 和 的离散傅里叶变换, 为 的共轭,k=0,1,2,3,…,N-1,k所对应的频率为k·fs/N,fs为传感器数据的采样率。
[0028] 所述频响函数误差迭代补偿5,即为根据窗函数插值误差模型和暂态误差模型对传感器频响函数的初始估计 进行误差迭代补偿,以降低其估计误差。频响函数误差迭代补偿的步骤为:
[0029] 步骤一:令
[0030] 步骤二:令hN(n)=IFFT(HN(k));
[0031] 步骤三:根据窗函数插值误差模型中的 算式和卷积定理,采用快速傅里叶变换方法计算窗函数插值误差项 算式如下
[0032]
[0033] 上式中,UN(k)为uN(n)的离散傅里叶变换。
[0034] 步骤四:根据暂态误差模型中的 算式和卷积定理,采用补零快速傅里叶变换的方法计算暂态误差项 计算过程如下:
[0035] ①在uN(n)和hN(n)的末尾各补N个0,分别获得长度为2N的u2N(n)和h2N(n);
[0036] ②根据卷积定理采用快速傅里叶变换法计算 即
[0037] t2N(n)=IFFT(FFT(u2N(n))·FFT(h2N(n)));
[0038] ③截取t2N(n)的后N个点作为tN(n),对tN(n)加窗,即得时域暂态误差项 即[0039] tN(n)=t2N(n)|N:2N-1
[0040]
[0041] ④计算暂态误差项
[0042] 步骤五:计算频响函数估计误差Eiter(k)
[0043]
[0044] 步骤六:频响函数误差补偿
[0045] 步骤七:计算迭代收敛误差 Q为所关注的传感器测量频带的上限fbw所对应的频率点,即Q=N·fbw/fs,fs为传感器输入、输出数据的采样率;
[0046] 步骤八:令
[0047] 步骤九:判断是否达到误差迭代补偿结束条件;若econv≤etol或已达到最大迭代次数,则误差迭代补偿结束,步骤八得到的HN(k)即为最终的传感器频响函数的计算结果;否则,返回至步骤二继续进行误差迭代补偿。
[0048] 上述误差迭代补偿步骤中,FFT(·)表示进行快速傅里叶变换运算,IFFT(·)表示进行快速逆傅里叶变换运算。上述迭代过程在收敛的情况下会使频响函数估计误差Eiter(k)逐渐趋向于 与传感器真实频响函数之间的误差,从而使得误差迭代补偿结果HN(k)逐渐趋向于传感器的真实频响函数。上述误差迭代补偿过程可表示成下式[0049]
[0050] 上式中,上标[j]和[j+1]分别表示第j次和第j+1次迭代,迭代系数为根据现有数值分析理论可知,只要D[j](k)<1,则上述迭代过程收敛。显然,D[j](k)为第j+1次误差迭代补偿过程中Eiter(k)的估计值 相对于频响函数估计 的相对误差;若传感器频响函数的初始估计 与传感器真实频响函数之间的相对误差较小,则随着迭代过程的逐步收敛,可确保D[j](k)一直与传感器频响函数初始估计 的相对误差接近,从而确保迭代过程一直收敛。所述数据预处理2中截取足够长度的数据uM(n)、yM(n)以使yM(n)的暂态过程进入稳态误差带内和所述数据加窗3中对数据施加汉宁窗、布莱克曼窗或所述的新双余弦窗即可很容易使传感器频响函数初始估计与传感器真实频响函数之间的相对误差远小于1,从而确保上述误差迭代补偿过程收敛。
[0051] 本发明的优点是:能够利用误差迭代补偿的方法降低传感器频响函数的估计误差,特别是能够降低直接根据传感器阶跃响应实验数据采用谱估计法计算出的传感器频响函数的估计误差;另外,本发明方法根据传感器频响函数的误差模型进行误差迭代补偿,相较于现有方法,迭代稳定性更好、计算精度高。

附图说明

[0052] 图1是本发明方法的技术流程框图,即基于误差模型迭代补偿的传感器频响函数计算方法的技术方案流程图;
[0053] 图2是本发明具体实施例的数据预处理示意图;
[0054] 图3是本发明具体实施例的数据加窗所采用的窗函数示意图;
[0055] 图4是本发明具体实施例的频响函数误差迭代补偿过程示意图;
[0056] 图5是本发明具体实施例的频响函数时域暂态误差项 的计算过程示意图。
[0057] 图6是针对一种力传感器仿真模型的阶跃响应数据采用本发明方法计算其频响函数的误差迭代补偿效果图。

具体实施方式

[0058] 下面结合附图对本发明做进一步说明:
[0059] 本发明的设计思想是:基于传感器的阶跃响应动态标定实验数据,先通过数据预处理和选择合适的窗函数,采用常用的基于窗函数的谱估计法计算出误差较小的传感器频响函数的初始估计;再根据基于窗函数谱估计的频响函数误差模型,计算出频响函数初始估计的误差,并采用该误差对传感器频响函数的初始估计进行误差补偿,从而提高频响函数的估计精度;然后,继续根据频响函数误差模型和误差补偿后的频响函数迭代计算传感器频响函数初始估计的误差并对其进行误差迭代补偿,从而通过误差迭代补偿的方式逐步提高传感器频响函数的计算精度。
[0060] 本发明的技术方案流程图如图1所示。首先,通过动态阶跃响应实验1对传感器进行动态标定实验,获取传感器的阶跃响应实验数据;其次,通过数据预处理2对传感器的阶跃响应输入、输出数据进行数据截取、去偏置和补零预处理;再次,通过数据加窗3对预处理后的数据进行加窗处理;然后,通过频响函数谱估计4根据加窗后的传感器阶跃响应实验数据计算出传感器频响函数的初始估计;最后,通过频响函数误差迭代补偿5对传感器频响函数的初始估计进行误差迭代补偿,从而提高传感器频响函数的计算精度。
[0061] 所述动态阶跃响应实验1,即为采用阶跃响应法对传感器进行动态标定实验,以获取其阶跃输入信号序列u(n)和响应输出信号序列y(n)。
[0062] 所述数据预处理2,即为对获取的传感器阶跃输入数据u(n)和响应输出数据y(n)依次进行数据截取6→数据去偏置7→数据补零8处理,以避免初始条件和后续数据加窗对频响函数估计的影响,其预处理流程示意图如图2所示。
[0063] 数据截取6,即为分别从传感器数据u(n)和y(n)中自阶跃起跳点开始截取M点数据uM(n)和yM(n),要求截取的yM(n)的暂态过程已进入稳态误差带内。
[0064] 数据去偏置7,即为将数据截取6截取的传感器输入数据uM(n)和输出数据yM(n)分别减去各自的初始值uM(0)和yM(0),得u′M(n)和y′M(n),以去除初始条件对频响函数估计的影响。
[0065] 数据补零8,即为在去偏置后的数据u′M(n)和y′M(n)前分别补M个零,获得长度为N=2M的数据uN(n)和yN(n),以使阶跃起跳点位于数据uN(n)和yN(n)的中间。阶跃起跳点位于数据中间时,阶跃输入数据uN(n)的周期延拓信号为方波信号,除在偶次谐波频率点处的能量为0之外,在其它频率点处的能量均能达到最大,从而有利于降低频响函数初始估计的误差。
[0066] 所述数据加窗3,即为将数据预处理2处理后的传感器数据uN(n)和yN(n)分别乘以N点的窗函数wN(n),即得加窗后的数据分别为 和窗函数wN(n)选择hanning窗、blackman窗或现有文献中公开的dcos窗,dcos窗函数为wN(n)=0.5-0.5625cos2πn/N+0.0625cos6πn/N,其中n=0,2,3,…,N-1,以降低后续谱估计法计算传感器频响函数初始估计的误差、加快后续频响函数误差迭代补偿的收敛速度。所述hanning窗、blackman窗和dcos窗的函数曲线示意图如图3所示。
[0067] 所述频响函数谱估计4,即为采用功率谱估计法计算出传感器频响函数的初始估计 计算式为:
[0068]
[0069] 式中, 和 分别为 和 的离散傅里叶变换, 为 的共轭,k=0,1,2,3,…,N-1,k所对应的频率为k·fs/N,fs为传感器数据的采样率。
[0070] 所述频响函数误差迭代补偿5的误差迭代补偿过程如图4所示,即为根据窗函数插值误差模型和暂态误差模型对传感器频响函数的初始估计 进行误差迭代补偿,以降低其估计误差,误差迭代补偿的步骤为:
[0071] 步骤一:令
[0072] 步骤二:令hN(n)=IFFT(HN(k));
[0073] 步骤三:根据窗函数插值误差模型中的 算式和卷积定理,采用快速傅里叶变换方法计算窗函数插值误差项 算式如下
[0074]
[0075] 上式中,UN(k)为uN(n)的离散傅里叶变换。
[0076] 步骤四:根据暂态误差模型中的 算式和卷积定理,采用补零快速傅里叶变换的方法先计算出时域暂态误差项 其计算过程示意图如图5所示,再计算出频域暂态误差项 具体计算步骤如下:
[0077] ①在uN(n)和hN(n)的末尾各补N个0,分别获得长度为2N的u2N(n)和h2N(n);
[0078] ②根据卷积定理采用快速傅里叶变换法计算 即
[0079] t2N(n)=IFFT(FFT(u2N(n))·FFT(h2N(n)));
[0080] ③截取t2N(n)的后N个点作为tN(n),对tN(n)加窗,即得时域暂态误差项 即[0081] tN(n)=t2N(n)|N:2N-1
[0082]
[0083] ④计算频域暂态误差项
[0084] 步骤五:计算频响函数估计误差
[0085]
[0086] 步骤六:频响函数误差补偿
[0087] 步骤七:计算迭代收敛误差 Q为所关注的传感器测量频带的上限fbw所对应的频率点,即Q=N·fbw/fs,fs为传感器输入、输出数据的采样率;
[0088] 步骤八:令
[0089] 步骤九:判断是否达到误差迭代补偿结束条件;若econv≤etol或已达到最大迭代次数,则误差迭代补偿结束,步骤八得到的HN(k)即为最终的传感器频响函数的计算结果;否则,返回至步骤二继续进行误差迭代补偿。
[0090] 上述误差迭代补偿步骤中,FFT(·)表示进行快速傅里叶变换运算,IFFT(·)表示进行快速逆傅里叶变换运算。
[0091] 图6是针对一种力传感器仿真模型的阶跃响应数据采用本发明方法计算其频响函数的误差迭代补偿效果图。图6(a)所示为传感器模型的真实频响函数、采用基于hanning/blackman/dcos窗的谱估计法计算的频响函数初始估计的误差和采用现有文献中的LPM法计算的频响函数误差之间的对比关系图;图6(b)所示为传感器模型的真实频响函数、采用现有文献中的直接迭代法对基于hanning/blackman/dcos窗的谱估计法计算的频响函数初始估计进行误差迭代补偿之后的误差和采用现有文献中的LPM法计算的频响函数的误差之间的对比关系图;图6(c)所示为传感器模型的真实频响函数、采用本发明方法对基于hanning/blackman/dcos窗的谱估计法计算的频响函数初始估计进行误差迭代补偿之后的误差和采用现有文献中的LPM法计算的频响函数的误差之间的对比关系图。由图6可知,本发明方法能大幅降低基于窗函数谱估计法计算的传感器频响函数的估计误差,且相较于现有文献中公布的直接迭代法和LPM法具有更高的频响函数计算精度。