摘要:对基于谱分析的数字式涡街流量计在应用中响应速度比较慢及其在小流量或小口径时流量计输出波动两个问题进行了深入分析。采用设置门限值的方法提高了系统响应速度。对频谱分析结果进行多次为0判断,解决了系统输出断续问题。通过对频谱分析结果的限幅,在平均时去掉超过标准差的频率值,并去掉最大值和最小值,对平均结果进行第二次平均的方法减小了系统输出的波动,提高了流量计输出稳定性。
0引言
涡街流量计具有无可动部件维护方便、压力损失小和输出频率量等优点,可以测量液体、气体和蒸汽流量,应用相当广泛。目前,涡街流量计主要有两种处理方式,即脉冲整形计数方式和数字信号处理方式。其中,数字信号处理方式具有抗干扰能力强、量程比较宽和精度高的优点。基于谱分析的涡街流量计数字信号处理方法,采用DSP(数字信号处理器)芯片研制了实时处理系统,通过标定并应用于工业现场,取得了很好的效果。在应用中,针对数字式涡街流量计响应速度慢以及在小流量或者小口径时输出信号波动问题,进行了深人的分析,并提出了有效的解决方案。
1提高信号响应的速度
采用频谱估计方法分析涡街信号的频率是基于涡街流量计信号是一个平稳随机过程信号,并且流量在短时间内是稳定的或变化很小。由于涡街流量计输出信号实时性的要求,只能对有限长时间段内的信号进.行处理,即只能截取一段数据进行频谱分析。为了防止数据统计变异性对计算涡街频率的影响,必须对若干次频谱分析的结果进行平均,这就需要花费时间。当平均次数多时,数字涡街流量计的响应速度就会显得比较慢。例如,我们的系统采用时钟频率为40MHz的TMS320LF2407ADSP芯片,使用汇编语言编制FFT程序计算涡街信号的频谱,对50次计算结果进行平均。每次FFT计算时间大概是300ms(包括信号处理,人机接口等对应的其他软件执行时间),总用时大概为15s,这个时间比较长。若在这段时间里,流量发生突然变化,系统就需要计算50次FFT,才能反映流量的变化,这将造成测量误差,如图1所示。
在实际处理中,将每次频谱分析后得到的涡街频率放人一个循环队列中,该队列称为队列Q1,如图2所示(数字表示队列成员序号)。其中,最右边的为队首Q1,最左边的为队尾Q1。再按先进先出的原则对队列中最新的若干个值进行平均,得到涡街输出频率。由于对队列中的值不加判断而直接参与平.均,导致系统响应速度变慢。
为此,通过设置门限值的方法来解决这个问题。根据队列Q1中保存的过去的流量信息来设置一个频率突变门限frelimit,如果连续计算出N个频率值Q1[N]~Q1[1]都超过了fre._limit,则对这N个频率值和后面进人队列的值进行平均,而前面的值Q1[N+1]~Q1[50]不参加平均,N一般为3~5。理论上,门限fre_limit的选择越小对微小突变就越敏感。但是,由于FFT计算出来的频率会在--定范围内波动,所以,门限值不能选择太小。另外,由于小的突变造成的误差不会太大,所以也没必要将门限设置得很小。
一般来说,涡街流量计在小流量时(低频处)频率计算结果波动比较大,而大流量时(高频处)比较稳定。所以,门限值可以根据涡街流量计所能测的最低频率来设置。由于流量计的最高可测频率是已知的,而采样频率一般设为略大于最高频率的2倍,所以,门限值可以根据式(1)来计算:
式中:ƒs为采样频率;Ɩ为仪表量程比;α(0<lαl<1)为系数。调整α可以调整门限值大小,α<0时为下限;α>0时为上限。一般可以取±4%~±13%。
当流量突变不超过门限时,在流量计调节时间内累积流量的最大相对误差为:
式中:n(n》1)为平均次数;ƒp为突变以前的频率;ƒr为突变以后的频率。而当流量突变超过fre_limit时,误差会非常小。
实际流量变化是一个连续变化的过程。但是,只要流量对应的信号频率的变化率超过fre_limit/tc,其中tc为FFT计算的间隔时间,则系统就能快速响应;而流量对应的信号频率的变化率小于fre_limit/tc.时,其最大相对误差小于式(2)的计算值。
图3为经过加速处理后40口径涡街流量计在流量突变时的响应曲线。可见,在流量突变后,系统经过3次FFT计算就能跟上流量的变化,有效地提高了流量计的响应速度。
2.1消除输出信号的断续现象
频谱分析法是按能量最大原则,即把FFT计算出来的功率谱中能量最大的频率值作为涡街频率。但是,由于干扰的存在,不得不设置一个最小截止幅值(min_amp)来限制小幅值干扰信号,即当FFT计算幅值低于最小截止幅值时,流量计输出为0,从而提高抗干扰能力;而由于信号质量、对采样信号加窗FFT非整周期采样等原因,导致FFT计算幅值会有波动。当流量在流量计下限附近时,会出现FFT计算幅值低于最小截止幅值的情况,这将导致流量计输出出现断续现象。
流量计断续问题主要是由于偶尔几次的FFT计算幅值低于最小截止幅值所致。通过实验发现,在流量计可测流量范围内-般不会出现连续几次FFT计算幅值均小于最小截止幅值的情况,所以在碰到FFT计算幅值低于最小截止幅值时不是直接输出0,而是将0放入队列Q1。在计算平均频率以前先对队列Q1中最近的N(N可取3~4)个值进行判断,如果N个值,全部为0,则流量计输出为0,否则继续做平均计算,将平均值作为流量计的输出频率,这样就可以解决输出断续的问题。
2.2解决输出信号的波动问题
在小流量的时候涡街流量计信号微弱,信噪比降低,信号质量比较差,频谱分析得到的涡街频率波动比较大。特别是小口径涡街流量计,由于传感器安装等原因,这种现象更为明显。图4中,曲线1为15口径涡街流量计在下限频率附近,每次FFT计算得到的涡街频率;曲线2为40口径离下限频率比较远时每次FFT计算后得到的涡街频率。可见,曲线1波动较大,数值约为30Hz。此时,即便采取平均措施,也无法使输出频率值稳定。
波动问题主要是由于信号较差,每次FFT计算出的频率值偏差太大所造成的。所以,首先必须保证队列Q1中的所有频率值在可信范围内,即在流量没有突变的情况下,队列Q1中的频率值不能与前次输出频率差得太多。为此,可以设置一个频率允许跳动范围的限幅值。当计算的频率值超出范围时,不是简单地将这个值去掉,而是用最近一次的输出频率加上限幅值来代替这个值。这在某种程度上能保留反映流量变化趋势的部分信息。通过实验发现,可以根据fre__limit来设置这个限幅值。
处理波动问题的具体步骤为:
①对队列Q,的第N个元素Q1[N]用式(3)处理,得到数值ƒin为:
式中:ƒin为处理后队列Q1[N]中的频率值;f。为处理前队列Q1N]中的频率值,即原先FFT计算出来的频率值;f,为流量计最近--次输出的频率值;c为常数,可以根据实际情况选取,实验中取1。需要注意的是,这里是对Q1[N]处理,而不是对队首元素Q1[1]处理。原因是,Q1[1]~Q1[N-1]中的信息会反映流量的突变,如果对其进行限幅处理,会影响系统的响应速度。
②对队列Q1中的值进行去N-1次最大、最小值处理,算出均值μ,根据均值算出标准差σ,然后,再利用标准差对队列Q1中的值进行平均。而超出标准差的数据不参加平均。
③经过以上处理后得到的频率已经比较稳定,但仍有一定范围的波动。如果流量是稳定的话,流量计输出应该接近稳定,波动比较小。因此,可以考虑对计算频率值进行第二次平均,相当于进行二次滤波。为此,建立另一个队列Q2。队列Q2中的元素是队列Q;经过上述步骤处理后的结果;再对队列Q2进行平均计算,得到的均值作为流量计的输出。注意,这里对队列Q2也要进行加速处理,方法与处理Q1的类似。图5所示为经过处理以后涡街流量计的输出,从图中可以看出流量计输出已经比较平稳。
3结束语
根据频谱分析后的结果,采用设置门限值的方法对流量计输出进行加速处理,并分析了加速处理方法的误差,有效地提高了流量计的响应速度降低了调节时间内由于响应慢造成的误差。
对频谱分析后的结果进行0值判断,连续几次为0,流量计输出才为0,消除了流量计在可测流量下限.时输出断续现象。
在对频谱分析后的结果平均前采取了限幅、去掉超过标准差以外的值和去掉最大值最小值的操作,并对平均后的结果进行第二次平均,减小了流量计输出信号的波动,提高了流量计输出的稳定性。
文章来源于网络,如有侵权联系即删除!