HK-CMF质量流量计DSP算法及其仿真研究
摘 要:提出用于HK-CMF质量流量计的信号处理的新的DSP算法和仿真方法。包括线性调频Z变换算法,该算法用于信号测频初始化。通过只在窄带内密集抽样的方法,和传统方法比较.线性调频Z变换算法可以减少由于不足点采样而造成的频谱泄漏,改善计算精度并减少运算时间。还包括用于频率跟踪的锁相环仿真,锁相环可以极好地平滑噪声,跟踪频率变化,最终用于计算两路信号相位差。通过在MATLAB环境下的仿真,我们得出结论:琐相环方法是进行HKC质量流量计频率和相角跟踪的可行性方法,能够较好地满足跟踪精度的要求。
关键字:HK-CMF质量流量计 DSP算法 锁相环 线性调频Z变换
科里奥利质量流量计可以直接高精度测量流体质量,是当前发展最为迅速的流量计之一。HKC质量流量计由一次仪表和二次仪表组成,一次仪表包括:U型管,直管,激振器,传感器等等,它通过激振器激振U型管,产生振荡信号,当流体通过振动管时,U型管由于科氏力发生扭曲,扭曲角度通过计算U型管前后两端相角差得到。二次仪表的任务是对两个磁电式传感器的输出信号进行处理,放大,整形,鉴相和计数。测量其相位大小。计算出的相位θ再乘以相应的系数,即可算出质量流量。
在初始化过程中,对信号频率进行粗测和细测,以获得准确的信号频率,实现整周期采样。在相位差测量阶段,计算相位差。在频率跟踪阶段,测量频率变化,调整采样频率,以便整周期采样,为下一次相位差计算做准备。由于噪声影响,我们在仿真中加入随机噪声。
1 测量初始化
在实际运用中,由于振动管的振动频率受各种因素的影响,使其偏离驱动频率,所以振动频率实际是未知的。开机时系统首先对数字处理器及外设初始化,检测测量管的振动频率。在初始化中,为了保证测量精度,减少测量时间,将振动频率检测分为粗测和细测。
1.1 频率粗测
以较低的频率分辨率采样,初步确定频率范围,HKC质量流量计测量管的振动频率一般在75~150Hz范围内。为满足采样定理,在频率粗测中取采样频率fs=320Hz,采样点数取N=64。所以,采样频率分辨率fd为
fd = fs/N = 320/64 = 5Hz
对采样点进行DFT计算,可以得到各次谐波的傅里叶系数及功率谱,比较所有的功率谱值,可以得到与最大功率谱值对应的最大谐波次数Nmax(以下简称最大谐波次数)。则信号频率范围应为
(fd*Nmax - 1/2*fd)<= fo<= (fd*Nmax + 1/2*fd) (1)
1.2 传统频率细测
频率粗测的结果只是一个范围,误差最大为1/2*fd, 这一结果无法直接应用到相位差测量中。频率细测必须在粗测范围内进行再测量,从而测量出准确频率。
按照传统方法,细测时,采样频率fs'在(fs - fd)~ (fs + fd)范围内以一定步长变化,同时保证较高的频率分辨率。此时频率分辨率为fd'=fs'/N,进行DFT得到采样序列功率谱,从而计算出,N'max所对应的频率值所对应的频率值
f'01 = f'd ·Nmax (2)
从而得到一系列落在(5Nmax- 5)~(5Nmax + 5)频率范围内频谱,比较这些频谱中的最大值,用其中的最大值所对应的采样频率fmax计算出频率f02逼近真实值f0。设采样频率以[Step]=0.1Hz为步长变化,则信号频率测量值的变化步长为:
由于信号范围为75~150Hz,频率分辨率为5Hz,则Nmax<32,f02位的变化步长小于0.05。
按照传统方法,尽管可以较准确地找到信号频率,但计算烦琐,计算量较大.要在(5Nmax - 5)~(5Nmax + 5)频率范围以Δf02为步长寻找最大功率谱,至少需要FFT的复乘次数:
64log264*[(5Nmax + 5)-(5Nmax- 5)]/ Δf02≥64000
且由于非整周期采样,进行64点采样得到的数据将受频谱泄漏和初相变化影响。为了减少运算次数,提高精度,我们提出另一种可行性算法:线性调频Z变换算法。
2 线性调频Z变换算法(CZT)在频率细测中的应用
实际上我们只对粗测后的一小段频段感兴趣,希望在该窄带频段内频率的抽样能够非常密集,提高分辨率,带外则不予考虑。运用该算法,我们增加了采样点数,但寻找最大谱值的工作一次就能完成。
沿用上面的粗测方法,但我们增加采样点为128点,这样粗测分辨率为2.5Hz,测得频率为2.5*Nmax实际频率落在(2.5Nmax - 2.5)~(2.5Nmax + 2.5)频率范围内。因此,细测时我们采用2.5*Nmax*64作为抽样频率,采样1024点,我们只对(2.5Nmax - 2.5)~(2.5Nmax + 2.5)频率范围感兴趣,所以只需要计算这一频段的频谱值。由于采样点多,频谱泄漏和受初相的影响都很小(图1、图2直观地反映了窄带分析CHIRP-Z的优越性)。算法的基本原理:
已知x(n)(0≤n≤N-1)是有限长序列,
其Z变换为:
(3)
z的这些抽样点为zk=AW-k,k=0,1,…,M-1,M为所要分析的复频谱的点数,不一定等于N,A和W都是任意复数,可表示为
A =A0ejθ0,W =e-j2π/NN = W0e-jφ0
将zk=AW-k代入得,
(4)
采用布鲁斯坦等式:nk = 1/2· [n2 + k2 -(k - n)2]原式可化为
令则;
(5)
上式中,zk点的Z变换可以通过求g(n)与h(n)的线性卷积,然后乘上得到。由上可以看出CZT算法非常灵活,它的输入序列点数N和输出序列点数可以不相等,且N和M为任意数,包括素数;各zk点间的角度间隔ф0可以是任意值,因而频率分辨率可以调整;计算Z变换的周线可以不是圆而是螺旋线(对语音分析有效);起始点z0可任意选定,也就是说可从任意频率或复频率开始对输入数据进行分析,便于做窄带高分辨率分析。
应用到我们的实际情况中,采样频率为2.5*Nmax*64,而HKC质量流量计的信号频率范围为75~150,Nmax在32~60之间。采样频率在4800Hz~9600Hz之间。取N=1024,M=N,NN=1024*1024,故频率分辨率f0在0.0046Hz~0.0091Hz,频率图范围range5~9.875Hz,总是大于等于5Hz。我们令θ0= 2.5*Nmax*64/(2.5Nmax - 2.5),即从频率为(2.5Nmax- 2.5)处开始到(2.5Nmax+ 2.5)分析,这5Hz的频段是完全落在我们的频谱图范围内的,只要找出其中的最大频谱值所在位置chirpmax即可。
最终求得的频率值:
fmax= 2.5Nmax- 2.5 + range*chirpmax/M (6)
即为测得的信号频率。运用CZT算法,其运算量用复乘次数表示为:
3/2*LlogL + 5N + L + M = 41984
(L≥N+M,L为2的幂次)
可见用线性调频Z变换算法,不仅频率分辨率提高,且运算次数有所下降。经实际仿真,得到的初始化频率更接近实际频率,且当初始相位变化时,测得的频率几乎不受相位影响。
结果分析举例(原频率86.4Hz):
表1 线性调频算法和传统细测法比较
测法名称
|
初相
|
|||
0
|
误差%
|
π/4
|
误差%
|
|
传统方法:
|
86.4078
|
0.009
|
86.4875
|
0.101
|
线性调频:
|
86.4066
|
0.008
|
86.4117
|
0.014
|
可见线性调频Z变换不仅精度高,而且对初相的影响也小得多,保证了在任意初相时,测量误差均不超过千分之零点三。
3 频率跟踪和相差计算
锁相环是一种常用的频率跟踪技术,而国内还没有将其用于HKC质量流量计的文献报道。对锁相环的仿真是在matlab的simulink环境下实现(见图3)。下面是琐相环实现前的几个参数选择:
晶振频率:由于HK-CMF质量流量计的频率在70~150Hz之间,晶振最好能对该频段进行窄带跟踪。即选择晶振最终输出频率在该频段中间。最终选择为100Hz。
低通滤波器截止频率wi:由于低通滤波器必须保证低频成分通过,且滤除高频成分。实际高频成分(75~150Hz)+(0~100Hz)在75Hz~250Hz之间,低频成分在0~50Hz,故选择截止频率为50Hz。
若输入信号u1(t)和输出信号u0(t)的频率不一致,则其间必有相位差别。鉴相器将此相位差别转换为电压ud(t),成为误差电压。该电压经低通滤波器(也称环路滤波器)滤除高频信号分量后,控制压控振荡器,改变其振荡频率,使其趋向输入信号频率。当两个振荡器频率差别不太大时,在稳定情况下,输出信号u0(t)和输入信号u1(t)频率相同,但其间保持一定的相位差。其相位差经鉴相器变换所得的误差电压,再经低通滤波器控制压控振荡器,使压控振荡器产生的频率变化,正好等于压控振荡器无控制电压时的固有振荡频率与输入信号频率之差,这种工作状态称为锁定状态。若输入信号在一定范围内变化,使输入信号频率跟随输入信号频率变化,这种状态称为跟踪状态。
若输入频率为88Hz,经过0.1s后,频率基本入锁,测定输出频率基本稳定在88Hz左右,取最坏情况测得误差总在0.3%以内,测得相位大概控制在0.5%以内。表2为PLL仿真系统结果,其中:*相差设为pi/64和*加入噪声幅度为HKC质量流量计信号幅度的1%左右。
表2 PLL仿真系统频率跟踪结果
频率/Hz
|
初相/°
|
测得最大频差百分比/%
|
测得最大相差百分比/%
|
81.2
|
45
|
0.0014
|
0.1999
|
81.2
|
0
|
0.0708
|
0.1417
|
87.6
|
45
|
0.1695
|
-0.3054
|
87.6
|
0
|
-0.2180
|
-0.4103
|
90.3
|
45
|
0.1794
|
-0.5018
|
90.3
|
0
|
-0.1971
|
-0.4881
|
98.4
|
45
|
0.0034
|
-0.5025
|
98.4
|
0
|
0.1931
|
-0.5057
|
4 结论
通过在MATLAB环境下的大量仿真结果,我们得出结论:琐相环方法是进行HKC质量流量计频率和相角跟踪的可行性方法,能够提高跟踪精度的要求。通过对初始化DFT算法和频率跟踪方法的改进,仿真系统基本达到了0.5%的精度;高频滤波部分尚有待改进,如果高频被进一步有效滤除,精度还可提高。
参考文献
[1] 刘凤新,王磊.质量流量计数字信号计算及噪声处理[J].传感技术学报,2002,15(4).
[2] 徐科军,吕迅,陈荣保,基于DFT的质量流量计信号处理方法[J].中国科学技术大学学报,1998,Vo1.28.
[3] Liu R P a,Fuent M J b,Henry M P a,Duta M D a,A neural network to correct mass flow errors caused by two-phase flow in a digital coriolis mass flowmeter [J].Flow Measurement and Instrumentation,2001,12:53-63.
[4] 陈荣保,苏建徽,姜汉科,徐科军、HKC质量流量计信号处理中频率跟踪方法的研究[J].计量学报,1999,20(4).
[5] 程佩青.数字信号处理教程[M].第2版,清华大学出版社.2001.
[6] 谢沅清,解月珍.通信电子电路[M].第1版,北京邮电大学出版社.2001.
- 上一篇:HK-CMF质量流量计在极低流量仍可保证高精度 2016/3/23
- 下一篇:基于力控与PLC的流量计自动标定系统 2016/3/22