
2 时差法超声波流量计的数学模型及硬件阀值法的局限性
2.1 时差法超声波流量计的数学模型
时差法声波流量计是利用测量超声波在管道中传播时间原理设计而成的。介质(液体)在管道中流速,与超声波沿介质顺流和逆流传播的时间差存在着线性关系。只要分别测量出超声波顺流、逆流的传播时间,就可以根据线性关系得到沿管道路径上各点的瞬时平均流速。
图1为时差法超声波流量计模型,图中F1、F2分别代表两个超声波换能器;t1为换能器F1发射、F2接收时,超声波在管道中传播时间;t2为换能器F2发射、F1接收时,超声波在管道中传播时间;V为液体流速;D为管道直径;θ为超声波进入液体的入射角,则
超声波从换能器F1到F2以及F2到F1的传播时间分别为
式中,C为液体中声速,τ为超声波在液体中传播以外的附加时间,包括超声波在声楔中的传播时间和电路测量延迟时间。
假设ΔT为超声波传播时间差,即
因常见液体中声速要大于900m/s,而液体流速小于10m/s,即C2>>V2,所以式(3)可以简化为
由式(4)可以得出超声波流量计的流速的数学表达式,即
从式(5)可以看出,只要测得时间ΔT,就可以计算出流速。
2.2 硬件阀值法的局限性
硬件阀值法[4]是时差法超声波流量计常规检测传播时间的方法,即在硬件上直接利用比较电路来设置接收点的阀值。当接收信号超过了阀值时,认为信号到达。一般采集超声波信号的**个峰值,然后减去一个周期,该差值就是超声波在管道中的传播时间,如图2所示,其中发射脉冲表示触发换能器的脉冲;幅值表示信号幅度;t表示时间轴;接收点表示设置的阀值电压的大小;传播时间表示超声波在管道中传播时间。
在硬件阀值法中,比较器的阀值电压设定后,当接收信号强弱发生变化时,就可能会使**个波形超过阀值电压而被接收,误当作**个波形处理;或者第三个波形来到时才高出阀值电压而被采集,这样严重影响流量计的精度。当电路受到环境的影响(比如电磁干扰等)使得接收信号的强度发生变化,而硬件电路接收点的阀值和信号的放大倍数都是固定的,在该情况下测得的数据存在误差,直接影响测量精度,该缺点是硬件阀值法无法克服的。
3 53H算法及其改进
3.1 53H算法原理
针对硬件阀值法的不足之处,文中引进了53H算法[5],利用软件的思想解决硬件问题,该方法*早是由Tukey[6]提出的,其基本思想是产生一个曲线的平滑估计,然后通过将测量值与这一估计值进行比较来识别异常点.如果测量的数据不符合这一规律,则认为它是错误的点,并用相应内插值代替,其步骤为
(1)设X(i)为超声波流量计测量的数据序列(即时间差序列).从X(i)构造一个新序列X1(i),方法是取X(1)至X(5)的中位数作为X1(3),然后舍去X(1),加入X(6),取中位数作为X1(4);依次类推,直到加入*后一个数据.显然X1(i)的项数比X(i)少四项。
(2)可以用类似的方法在X1(i)的相邻三个数中选取中位数从而构成序列X11(i).
(3)*后由序列X11(i)按如下方式构成
(4)如果有下式成立,则用X111(i)代替X(i),
式中,k为软阀值,由上面4步可以形成剔除误差数据后的序列Z(i),即
式中,k值大小直接影响原始序列X(i)误差点的剔除情况,即处理后的序列Z(i)的波动情况.k值过小,会使原始序列X(i)中正确的测量值被序列Z(i)中的值所替换;k值过大,则该算法不能*剔除序列X(i)中的误差数据,选择适当k值直接影响计量精度。
3.2 53H算法的改进方法
从3.1节可知53H算法本质上是一个HanNIng平滑滤波器,该算法不能对原序列X(i)中的开始4个点(即X(1),X(2),X(3),X(4))和*后4点(即X(n-3),X(n-2),X(n-1),X(n))进行有效平滑,如果在这8个数据中存在测量误差数据,该算法就不能将其剔除,文中提出改进方法的流程图如图3所示,具体步骤如下:
(1)设X(i)为超声波流量计测量的数据序列(即时间差序列)。重复前面53H算法的步骤,形成新序列Z(i);
(2)分别将原始序列X(i)的首尾8个点分别交换重新排列成序列X1(i),交换过程如下:
X(2),X(3),X(4),X(5),X(6),X(7),X(8)。
(3)对X1(i)序列再次利用53H算法的步骤,形成新序列X1111(i),用X111(i)序列中的X111(5),
4 实验结果分析
改进算法可以使原始序列X(i)所有点可以得到有效平滑,从而解决了53H算法的不足之处。
4.1 软阀值k对改进方法影响的分析
从理论上讲,在同上等量下,超声波流量计所测得的流速应该是一个稳定值,但是由于水的波动和超声波流量计检测电路的测量误差以及各种环境因素影响,实际测量数据是在一定范围波动,根据3.1节步骤(4)的式 | X(i)-X3(i)|> k(k为软阀值)来实现对误差数据的剔除,k值大小决定了波动范围,所以选择合适k值对剔除测量错误点很重要,k值大小可以根据实际噪声大小来设定。k值过大或者过小都会使算法处理后的*终序列Z(i)(3.2节)波动增大,k取适当值直接影响计量精度。
在该实验中,k取0、0.3、1、1.5、2、4、6、10时,计算各序列的方差,如表1所示,其中K为改进方法中的软阀值,D为各个序列的方差。
从表1可以看出,当软阀值取1时,改进方法处理后序列方差*小,序列波动*小,仿真结果一致。
4.2 改进方法的验证
根据实际的硬件平台测得的100组数据(时间差),利用2.1节提出的式(5),就可以直接计算出流速,根据流体力学再对该流速进行补偿[7],可以得到平均流速。
表2分别是经过多次测量(时间差)求平均值、53H及改进方法处理后求得的超声波平均流速数据,此时k=1.表2中,U表示流量计的流量(L/H);V1表示多次测量求平均值的方法得到的流速(m/s);V2表示使用53H算法求得的流速(m/s);V3表示使用改进算法求得的流速(m/s);V表示实际流速(m/s)。
据表2流速经计算可知,经过多次测量求平均值得到的流速误差在10%左右,经过53H算法剔除误差点之后,误差在4%左右,经过改进方法处理后误差减小到2%.可见该改进方法可以有效剔除由于干扰信号带来的误差数据,提高超声波流量计测量的精度。
5 结束语
在超声波流量计中引进53H改进方法,具有以下优点:现有超声波流量计依赖于硬件比较电路对接收信号触发电平值的的判断和设置,其精度受到关键电平值的影响,但是对于超过阀值的环境噪声无能为力;引进改进方法之后可以利用软件的方法把那些由于噪声超过设定的阀值电压而带来的测量误差剔除,从而保证了测量精度.现有超声波流量计算法的实现,一般都在DSP、PFGA等优异的微处理上实现,运算复杂度比较高;此算法实现简单,对硬件要求不高,可以在单片机上实现,能够很好提高超声波流量计的性价比。