您现在的位置: 网站首页 >  技术文章 > 技术文章

计及负频率影响的科里奥利质量流量计信号处理方法

计及负频率影响的科里奥利质量流量计信号处理方法采用滑动Goertzel算法计算科里奥利质量流量计信号的相位差时,存在较长的收敛过程,其主要原因之一是忽略了负频率成分的贡献。基于DTFT递推算法,提出了一种计及负频率影响的科里奥利质量流量计信号处理方法。首先采用自适应格型陷波滤波器对科里奥利质量流量计的传感器输出信号进行滤波并求得其频率,然后采用计及负频率影响的DTFT递推算法计算两路信号之间的实时相位差,再通过频率和相位差计算出时间差,从而求得质量流量。仿真结果表明,该方法可极大缩短相位差和时间差计算的收敛过程,具有较高的计算精度,且当应用于实际的系统时不易发生数值溢出。
科里奥利质量流量计(以下简称科氏流量计)是20世纪70年代末期由美国MicroMotion公司率先研制出的一种新型质量流量计,可以直接高精度地测量流体的质量流量,因而在高精度流量测量领域占有重要的地位。科氏流量计通过测量2个磁电传感器输出信号之间的相位差(时间差)来得到流体的质量流量。近年来,国内外的相关研究机构和公司纷纷将数字信号处理方法应用于科氏流量计的信号处理,归纳起来主要有:基于离散傅里叶变换(DFT)的方法[125]、基于自适应谱线增强(ALE)的方法[6210]、基于数字锁相环的方法[11212]、基于正交解调的方法[13215]等。其中,文献[8210]提出了基于陷波滤波器和滑动Goertzel算法的科氏流量计信号处理方法,采用自适应陷波器对信号进行陷波滤波,并采用滑动Goertzel算法计算2路信号之间的相位差。但是,这些方法均存在一些问题,如滑动Goertzel算法在计算相位差时存在较长的收敛过程[16],只有在某一时刻点后的计算结果才有效(一般取第1 000个采样点以后),且当应用于实际系统时,随着采样点数的不断增加,滑动Goertzel算法会发生数值溢出。
为此,本文提出了一种新的科氏流量计信号处理方法,即针对陷波滤波后的增强信号,采用计及负频率影响的DTFT递推算法计算2路信号之间的实时相位差,可极大地缩短相位差和时间差计算的收敛过程,提高计算精度,且当应用于实际的系统时不易发生数值溢出。
2 DTFT递推算法及其相位差测量原理
2.1 DTFT递推算法
对于观测信号s(t),设在m时刻采样得到N个采样数据s(0), s(1),…, s(N-1),则该有限长序列的离散时间傅里叶变换(DTFT)为:
在m+1时刻,得到新采样点s(N),则由N+1个采样数据组成的新采样序列在ω处的DTFT为:
式(2)即为本文所指的“DTFT递推算法”的递推公式。可见,当采入一点新的数据后,新采样序列的DTFT与前一次的DTFT之间存在递推关系,每计算一点新的DTFT,只需要2次实数乘法和1次复数加法,因此,可实现指定频率处的傅里叶系数的在线快速计算。
DTFT递推算法与滑动Goertzel算法在原理上是一致的,均通过不断增加计算序列的长度,实现指定频率处的傅里叶系数的快速计算。需要指出的是,由于滑动Goertzel算法是由一个递归部分和一个非递归部分组成[16],当仅需要计算个别采样点处的傅里叶系数时,滑动Goertzel算法的计算量比DTFT递推算法小;但若需要在每个采样点均输出傅里叶系数,则滑动Goertzel算法的计算量反而比DTFT递推算法要大。考虑到科氏流量计相位差计算的实时性要求,需每采样一点计算一次傅里叶系数,本文没有采用滑动Goertzel算法,而是采用计算量较小的DTFT递推算法来计算每个采样点处的傅里叶系数.
2.2 DTFT递推算法测量相位差原理
设观测信号为2路同频率的实正弦信号:
设^ω为ω的估计值,则s1(n)在^ω处的DTFT为:
忽略负频率成分,只计算正频率部分,则:
用φ表示S1N(^ω)的相位,则φ1可统一表示为如下形式:
即2路信号之间的相位差等于其在^ω处的DTFT的相位之差。通过DTFT递推算法分别计算出2路信号在^ω处的DTFT,求出其相位,相减之后即可得到2路信号的相位差,此即为DTFT递推算法测量相位差的基本原理。
3 基于DTFT递推算法的计及负频率影响的相位差测量新方法
以上DTFT递推算法在计算相位差时忽略了频谱中的负频率成分。当信号频率很低或采样点数较少时,负频率成分的影响显著增大,导致DTFT递推算法的相位差测量精度明显下降,甚至无法测量。这也是滑动Go2ertzel算法在计算相位差时存在较长的收敛过程的主要原因之一。为此,本文基于DTFT递推算法,提出了一种新的计及负频率影响的相位差测量方法,推导出了对应的相位差计算公式。
对于式(5),不忽略负频率成分,有:
由式(11)和式(12),可求得2路信号之间的相位差:
一般情况下,当信噪比不是特别低时,通过自适应格型陷波器收敛后求得的信号频率值与真实值很接近,即可以认为^ω≈ω,sinα1/sinα3≈N,则式(13)可近似表达为如下形式:
式(14)即为新方法的相位差计算公式。当ω= ^ω时,相位差计算公式与式(14)完全相同。归纳起来,本文提出的相位差测量新方法的计算步骤如下:
(1)求出ω的估计值^ω, ^ω=2πf^0/fs;
(2)应用DTFT递推算法分别计算s1(n)和s2(n)在^ω处的DTFT,求出tanφ1和tanφ2,tanφ1=
(3)由^ω、N求出m1~m4,并同tanφ1和tanφ2一起代入式(14),从而求得相位差。
4 DTFT递推算法的溢出问题及解决办法
与滑动Goertzel算法相似,当应用于实际的系统时,DTFT递推算法也存在数值溢出问题。由式(2)可见,随着采样点数N的不断增加,SN+1(ω)的实部和虚部也将不断增大,当增大到一定程度时,会超出数字信号处理器(DSP)表示数的蕞大范围,造成溢出,这个问题在定点DSP上尤其容易出现。
为此,本文对DTFT递推算法进行了改进,将式(2)改写为如下形式:
比较式(2)和式(15)不难看出,S′N+1(ω)与SN+1(ω)之间存在如下关系:
这样,对DTFT递推算法进行改进后,既不会影响DTFT相位和相位差的计算,又有效克服了数值溢出问题。需要说明的是,采用式(15)虽可避免发生数值上溢,但对于定点DSP,随着N的增加,当1/(N+1)低于DSP表示数的蕞小分辨率时,会发生数值下溢。为避免出现这种情况,可根据DSP表示数的蕞小分辨率,对采样点数的蕞大值进行限定,一旦采样点数超过该蕞大值,就将DTFT递推算法的所有变量清零,然后重新开始计算。
由于本文提出的相位差测量方法在计算时收敛很快(由本文仿真结果可以看出),因此重新计算所带来的影响很小。
5 仿真结果与分析
采用单一频率实正弦信号迭加零均值高斯白噪声,对本文提出的科氏流量计信号处理方法进行了计算机仿真验证。仿真中,总采样点数为20 000点,采样频率为2 000Hz,信号频率为103 Hz,相位差为0. 1°,信噪比为21.4 dB。为避免自适应格型陷波器收敛过程带来的影响,取第4 000点以后的增强信号进行运算,即从第4 000点开始计算相位差和时间差。
由于DTFT递推算法的相位差计算结果是振荡收敛的,因此对每一点的计算结果进行了平滑处理,即:
分别采用文献[8]中的方法和本文方法,通过MAT2LAB仿真,得到相位差和时间差相对误差随采样点数的变化曲线,如图1所示。从图1(a)中可见,在相位差和时间差计算的起始阶段,滑动Goertzel算法存在较长的收敛过程,在此过程中相位差和时间差的计算误差均很大,而本文方法则能够很快地收敛,具有很高的计算精度;从图1(b)中可见,随着采样点数的不断增加,滑动Goertzel算法的计算误差与本文方法逐渐接近,但本文方法的计算精度仍高于滑动Goertzel算法;从图1(c)中可见,当采样点数足够大时,滑动Goertzel算法完全收敛,此时本文方法的计算精度与滑动Goertzel算法相当。这是因为随着采样点数的不断增加,负频率成分的影响逐渐减小,当采样点数足够大时,负频率成分的影响可以忽略不计。
表1所示为不同相位差条件下,分别采用滑动Goert2zel算法和本文方法,计算得到的时间差相对误差在不同数据段内的均值,单位为‰。从表中同样可以看出,与滑动Goertzel算法相比,本文方法能够很快地收敛,具有较高的计算精度。
图2给出了当信号幅值为10时,分别采用改进前的DTFT递推算法(即式(2))和改进后的DTFT递推算法(即式(15))计算得到的傅里叶系数值随采样点数的变化曲线。由图可见,随着采样点数的不断增加,采用式(2)计算得到的傅里叶系数的实部和虚部也将不断增大,当N=20 000时,傅里叶系数值为7. 692 5×104+j1.849 8×104,若采用16位定点DSP,将会发生数值溢出。而采用式(15)计算得到的傅里叶系数的实部和虚部随采样点数的变化幅度很小,当N=20000时,傅里叶系数值仅为4.807 8+j1.156 1,从而有效避免了数值溢出。
采用滑动Goertzel算法计算科氏流量计信号的相位差时,由于未考虑频谱中负频率成分的影响,当采样点数较少时,其相位差计算精度明显下降,甚至无法测量。这也是滑动Goertzel算法存在较长的收敛过程的主要原因之一。此外,当滑动Goertzel算法应用于实际的系统时,随着采样点数的不断增加,会发生数值溢出。本文基于DT2FT递推算法,提出了一种计及负频率影响的科氏流量计信号处理方法,极大缩短了相位差和时间差计算的收敛时间,提高了计算精度,且当应用于实际系统时不易发生数值溢出。本文方法计算量小,可实现边采样边计算,因而可用于科氏流量计的实时信号处理,具有较强的实用性。
点击次数:  更新时间:2017-04-06 21:06:37  【打印此页】  【关闭