基于过零检测的相位差计算方法的改进
扫描二维码
随时随地手机看文章
引言
在许多工业领域当中,流体的流量都有着十分重要的应用,其中科里奥利质量流量计(简称"科氏力流量计")的应用尤为广泛。该流量计主要是由一次仪表和二次仪表组成。
(1)一次仪表主要由测量管(U型管、直管等)、激振器和传感器等组成。在进行流量测量时,流体会流过测量管,在科里奥利力的作用下,测量管会发生扭曲,通过传感器采集会得到两路具有相位差的正弦信号,计算两路信号之间的相位差便可进一步转化为流体的流量。
(2)二次仪表主要是数字信号处理部分,用来计算流量计的相位差。
迄今为止,有许多学者对科氏力流量计相位差计算方法进行了深入而广泛的研究,主要有复系数滤波算法、计及负频率的影响的DTFT算法(slidingDiscreteTimeFourierTransform,sDTFT)、希尔伯特变换(HilbertTransform,HT)方法以及基于相关法计算方法等。其中,复系数滤波算法是采用复带通滤波器(ComplexBandpassFiltering,CBF)、复陷波滤波器(ComplexNotchFiltering,CNF)以及它们的组合来求解相位差,其计算量较大,收敛时间较长。sDTFT虽然克服了希尔伯特变换方法易受噪声影响的缺点以及相关法需要整周期采样的缺点,但其为了防止数值溢出,采用滑动窗口的方式减少了每次计算的采样点数,导致精度有所缺失。
为解决上述问题,本文采用平稳单相流信号模型作为科氏力流量计的信号模型。针对流量计信号处理中的实时性和精度问题,提出以过零检测为基础,利用改进的自适应格型陷波器进行频率跟踪,在计算出结果之后,采用卡尔曼滤波器进行误差校正,最终实现相位差计算精度的提高。
1相位差计算改进方法与步骤
科氏力流量计在理想状态下的两路输出信号均为频率和幅值不变的正弦信号,它们之间的相位差反映流体的流量。
科氏力流量计在稳定工作处状态下,其信号主要受环境噪声干扰,体现在信号的幅度发生变化,因此采用平稳单相流信号进行仿真,信号模型如下:
式中:e(n)为均值为0、方差为1的高斯白噪声:B主要用来控制噪声的幅度,进而控制信噪比:A为幅值,视为常量:o为科氏力流量计的振动频率:φ为信号的原始相位。
相位差的计算流程如图1所示,首先利用FIR低通滤波器进行初步降噪。经过降噪之后采用基于FFT和反馈因子改进的自适应格型陷波器进行频率跟踪以及进一步的降噪,跟踪的频率用于过零检测中进行时间差向相位差的转化。
然后采用傅里叶级数拟合进行零点的求解,将两路信号零点之间的时间差A7转换为相位差,相位差AP计算如下:
式中:f为跟踪后的频率。
最后采用卡尔曼滤波器进行相位差误差的校正。
1﹒1基于FFT频率预估和反馈因子改进的自适应格型陷波器
ALNF是一种可以根据信号的特点进行递归收敛并估计信号频率的滤波器。其主要采用格型IIR陷波器实现,主要由全极点和全零点两个格型滤波器级联而成,其传递函数为:
式中:k0为权系数,用于计算信号频率:.为偏置参数,决定陷波带宽。
此种形式是将零点固定在单位圆上,k0采用Burg算法进行自适应调整[3」。
ALNF虽然能够跟踪频率,但是由于其算法存在迭代递归过程,在计算时收敛过程较长,并且当频率发生改变时会浪费较长的时间进行频率的自适应跟踪。因此,需要采用FFT进行信号频率的预估,然后再进行自适应跟踪滤波,这样可以缩短收敛过程:同时引入反馈因子Fb,反馈因子采用输入信号与输出信号的互相关,选择合适的阈值之后,如果互相关函数最大值小于该阈值,那么表示跟踪效果差,这时需要立刻调整陷波的带宽.,对频率进行跟踪。
其改进方式如图2所示。
设输入信号为s(n)=x(n)+e(n),其中x(n)为原始信号,e(n)为高斯白噪声:(n+m)为跟踪降噪之后的信号,其中m为信号延时。则反馈因子Fb为:
当输出信号(n+m)与输入信号s(n)相关性很低时,需要通过调整.来调节陷波器带宽,进而重新跟踪频率。
计算出信号之间的相关性之后,利用相关函数的最大值作为反馈因子Fb,并设定阈值7h=8,小于阈值7h则认为信号之间相关性低,相关性低的情况则需要减小.来加快信号的收敛。
ALNF改进前后对比如图3所示。
由图3对比分析可知,经过FFT频率预估和反馈因子改进之后,信号的收敛区间减小,达到了改进的目的,可以用来提高相位差计算的实时性。
1﹒2基于傅里叶级数拟合的过零检测
过零检测的基本原理是通过提取周期性的零点来得到左右信号之间的时间差,进而获取相位差,其具有无收敛过程、运算量小和响应速度快的优点,但是在零点的求解过程中极易受到噪声的干扰。
在经过两次降噪之后,信号的信噪比有了较好的提升,因此可以采用过零检测的方式实现信号相位差的计算。
傅里叶级数拟合是以三角函数表示的无穷级数,比较适合用来拟合周期性函数。
在信号满足狄利克雷条件的情况下,函数f(t)可以表示为:
r
式中:a0、ak、bk为傅里叶系数。
在实际应用中,无法采用无限个谐波叠加,因此需要选取合适的谐波数量进行拟合:
据此可以求出傅里叶级数拟合方程的系数,进而求出信号零点。
1.3基于卡尔曼滤波器的误差校正
在平稳单相流信号条件下,相位差保持在一个恒定的值,经过计算求解之后的相位差通常是在真实值附近上下波动,因此可以采用卡尔曼滤波器对所求解的误差值进行预测估计,使其在真实值附近减小波动。卡尔曼滤波主要公式如下[8]:
状态先验估计:
卡尔曼滤波器主要包括两个过程:预测和校正。状态先验估计和方差先验估计为时间更新方程,用于预测部分:增益矩阵、状态估计校正和方差估计校正为状态更新方程,用于校正部分。通过这两组方程便可以进行误差校正。
2仿真分析
由于科氏力流量计的相位差通常在49~109,因此在此次仿真中选择了5000个采样点用来模拟信号,且
fs=16000Hz,A=2.5,f0=188.64Hz,Phasedifference=4.019,sNR=38.96dB。
在进行计算时考虑DsP处理器一次处理的采样点数不能太多,因此5000个采样点每次会处理1000个,将1000个采样点内的零点求出之后进行时间差的计算,然后将该范围内的零点求平均:
最后通过卡尔曼滤波器进行校正,校正后的结果及误差如图4所示。
经过卡尔曼滤波器校正之后的均方误差如表1所示。
从仿真结果中可以看出,由于过零检测无收敛过程,因此可以很好地满足实时性的要求,同时经过卡尔曼滤波之后,所求的相位差的均方误差要远小于滤波之前的均方误差,提高了相位差计算结果的精度。
3结语
本文基于平稳单相流信号模型,提出了改进的科氏力流量计相位差的计算方法。首先采用FFT预估信号频率,减少了自适应格型滤波器的收敛时间,同时引入了反馈因子解决了因频率变化导致的自适格型滤波器无法收敛的问题:然后采用傅里叶级数拟合的方式进行零点的求解:最后采用卡尔曼滤波器进行误差的校正。从仿真结果可以看出,卡尔曼滤波器很好地修正了相位差计算的误差,使精度得到了提高。
20220316_6230ba828985b__基于过零检测的相位差计算方法的改进