1 系统结构和工作原理
系统的硬件组成结构如图1所示,其是由FPGA,DSP,MCU、切换电路、A/D转换、自动增益控制、外部RAM和LCD显示等几部分构成的。DSP为数字处理核心,用于FIR滤波、相关运算等大量数据处理,整个系统的时序由FPGA控制,确保了时序的准确性。
超声波换能器A,B在FPGA的控制下,轮流工作在发射和接收状态.用以测量顺流、逆流时超声波传播的时间差,其谐振频率为1 MHz。接收信号经过选频放大滤除了部分干扰信号,再由自动增益控制AGC放大后送往A/D转换器,以每次25 ns的转换速度实现A/D转换,并存储到外部RAM中,整个过程都在FPGA的控制下进行,确保了时序的准确性。为了进一步提高运行的速度,DSP首先将外部RAM中的数据转存到内部RAM中,再进行55阶FIR滤波,经过FIR滤波后的信号,其采样速率较低,测量精度不够高,为了提高精度,这里进行了插值运算,插值后的两组信号再经过相关运算处理,便得出流体顺流和逆流的时间差,从而求出流体的流速。
2 滑动窗口接收技术
滑动窗口是在接收信号到达的前后才有效的一个时间窗口,窗口之外的信号一概不予处理,这样可以减小噪声的干扰并降低运算量。为保证检测信号的有效性,必须先去掉接收端的干扰,采用窗口和脉宽检测是两个行之有效的方法。测量窗口的初始位置是根据人机对话输入的参数设置的,并通过有效信号的检测位置不断调整窗口到合适的位置。窗口的设置限定了信号的接收范围,在一定程度上消除了噪声的干扰,同时也减少了要处理的信号样本数,降低了运算量。
滑动窗口的设置方法为:单片机根据人机对话输入的参数(管径、壁厚及流体),计算出信号自发射探头到接收探头所需传播时间的近似值,根据该近似值控制数据采样的开始时间,每组数据采集15000个点,由于采集的数据足够多,完全可以保证有用数据能够被采集到。经过AGC电路的调整,当采集到的信号幅度满足要求时便对它们分别进行FIR滤波,再根据幅值找出有用信号的最大值点并进行信号有效性判断,信号确定为有效后再进行滑动窗口调整,将有用信号移动到有效窗口。由于换能器探头的谐振频率为1 MHz,采样频率为40 MHz,探头发射信号为5个周期,考虑到探头的余波,为了更好地采集接收信号,窗口宽度设定为800个信号点,即20个信号周期。图2所示为窗口调整前部分内存中的数据,从上面可以看到两组信号,前者幅度小,是超声波沿管壁直接传递而形成的,其传播速度快,传播时间短,后者是超声波沿正常路径传输的结果,幅度较大,也是需要的有用数据。图3是窗口调整后内存中的数据,可以看到,有效数据已被移动到最左侧的有效窗口中,后面的插值及相关运算都是只对该段数据进行。
3 插值及相关算法的简化
在超声波发生电路中,由同一触发脉冲触发2个相同的换能器产生超声波,测量中2路采集信号具有很大的相似性,因此能对信号进行相关处理。在超声波流量计中,对时间测量精度的要求很高,为了提高分辨率,可以采取一般的采样方法,然后通过数字信号处理中常用的插值算法,由软件提高系统的采样频率,从而提高时间的分辨率。
换能器的谐振频率为1 MHz,采样频率为40 MHz,采样的时间分辨率为25 ns,对于超声波流量计,这样的分辨率是不够的,还必须提高信号的采样频率,即进行插值处理。如果采取先补“O”再滤波的方法,必须增加滤波器的阶数,同时由于插值后样本增加,滤波运算所需要的时间会大大增加。因此该系统采用线性插值的方法,在相邻2个数据点之间插人19个点,这些点与插入前的相邻点在同一直线上,这样时间分辨率可以达到1.25 ns。该系统时间差的测量是通过比较两组超声波信号的皮尔逊积差相关系数的值来确定的,相关系数的计算方法如下:设xi和yi分别代表两组信号的采样值,i=1,2,…,n。n为采样数量,设x,y分别为两组采样信号的平均值有,
r称为相关系数,其公式为:
相关系数r的重要特征为:0<| r |<1,r为正值即正相关,r为负值即负相关。系统通过不断改变两组采样信号的相位关系,同时计算出相关系数,当相关系数最大时两组采样信号之间的相位差即为两组信号的时间差值。
因有效窗口两端数据的变化很小(如图3所示),在小范围内改变两组数据的相位关系后,可以认为相关系数公式中的分母项的值是不变的,其不随两组采样信号的移相变化而变化。因此,在判断相关系数最大值时,只需计算相关系数公式中的分子式项n∑xiyi。一(∑xi)(∑yi)的值,然后判断它的最大值即可,这样可以大大地减少系统的运算量,提高系统的反应的速度。
4 相关算法及其简化算法的仿真与比较
为了检验相关算法简化后对结果带来的影响,把采集到窗口中的两组数据经滤波与插值后,通过Matlab分别对完整的相关算法及简化算法进行仿真分析,仿真波形如图4所示。
其中上部为简化算法的仿真结果,下部为完整相关算法的仿真结果。图5为一部分仿真数据。从图中可以看出,完整相关算法的相关系数据介于+1~-1之间,最大值(接近于1)出现在5001的位置。相比之下,简化算法的值大若干数量级,这是简化算法略去分母的结果,但这对计算没有影响,只要得到最大值出现的时间,重要的是简化算法的最大值也出现在5001的位置,并且其波形与完整的相关算法几乎一样。由此可见,相关算法的简化并没有对这里的计算带来误差。
为进一步证实系统的可用性,将该系统与宝丽声DCT7088超声波流量计进行了对比测量,被测管道为外径为45 mm的钢管,壁厚3.5 mm,管道中的水由循环泵驱动,通过变频器控制循环泵的转速来得到不同的流速,测量结果如图6所示,二者测量结果已经十分逼近。
5 结 语
这里以FPGA,DSP和MCU作为核心器件设计了一种时差式超声波流量计,结合自动延迟窗口技术,大大简化了用于计算时间差的相关算法,提高了系统的性能。通过对系统实验测试及计算机仿真,表明该系统方案切实可行。