用于科里奥利质量流量计测量的自适应线性增强方法和装置的制作方法

文档序号:6131812阅读:327来源:国知局
专利名称:用于科里奥利质量流量计测量的自适应线性增强方法和装置的制作方法
技术领域
本发明涉及质量流率测量,具体地说,涉及数字信号处理自适应滤波方法和装置在科里奥利质量流量计中的应用。问题采用科里奥利质量流量计测量流过一根导管的流质的质量流量和其它信息是已知的。这种流量计公开在授予J.E.Smith等人的美国专利US-4109524(1978年8月29日)、US-4491025(1985年1月1日)和Re.31450(1982年2月11日)中。这些流量计具有一根或多根直线或弯曲形状的流管。科里奥利质量流量计中的每根流管结构具有一组固有振动模式,这些模式可能是简单的弯曲型、扭曲型或共轭型。每根流管在与一种固有振动模式发生共振时受迫振荡。从流量计入口侧的一根连接导管流入流量计的物质,流经流管或管路,又从流量计的出口侧流出。发生振动的、其中充有流体的系统的固有振动模式部分是由流管和流管内的流质的组合质量所限定的。
当没有流体流过流量计时,由于所施加的驱动力的作用,流管上的所有点都以相同的相位在一个中心点附近振荡。当有流体开始流入时,科里奥利加速作用使得流管的各个点具有不同的相位。入口侧流管的相位滞后于驱动器,而出口侧流管的相位超前于驱动器。在流管上设置有传感器以产生表示流管运动状态的正弦波信号。两个传感器信号之间的相位差正比于流经流管的物质的质量流率。
在这种测量中存在的一个复杂问题是通常处理的物质的密度是变化的。密度的变化导致固有振动模式的变化。由于流量计的控制系统保持共振状态,振荡频率随着密度的变化而改变。在这种情况下质量流率正比于相位差与振荡频率的比值。
在上述Smith的美国专利Re.31450公开了一种无需测量相位差和振荡频率的科里奥利流量计。相位差是通过测量流量计的两个正弦波传感器输出信号的交叉点电位之间的时间延迟而确定的。在使用这种方法时,消除了振荡频率的变化,质量流率正比于所测量的时间延迟。这种测量方法在以下叙述中称之为时间延迟测量法或Δt测量法。
由于通常要求所得到的流率信息具有至少0.15%的读数精度,所以利用科里奥利质量流量计进行测量必须具有高精确度。接收传感器输出信号的信号处理电路精确地测量相位差,并且以所要求的至少0.15%读数精确度产生所需的处理物质的特性信息。
为了达到这些精确度,需要信号处理电路精确地测量它从流量计所接收的两个信号的相位偏移。由于流量计的两个输出信号之间的相位偏移是处理电路用来求出物质特性的信息,所以要求处理电路不产生任何可能掩盖传感器输出信号所产生的相位偏移信息的相位偏移。实际上,要求这个处理电路具有相当低的固有相位偏移,从而使每个输入信号的相位偏移小于0.001°,而在某些情况下,小于百万分之几。如果所得到的有关处理物质的信息必须具有小于0.15%的精确度,就要求具有这种量级的相位精确度。
科里奥利质量流量计输出信号的频率落入许多工业噪声的频率范围。而且,传感器输出信号的幅值通常很小,并且在许多情况下,并不明显大于噪声信号的幅值。这就限制了流量计的灵敏度,使得有用信息的获取十分困难。
没有多少设计者能够做到将流量计输出信号频率移出噪声频带或者提高输出信号的幅值。实用的科里奥利传感器和流量计设计要求兼顾两者,这就使得输出信号的产生达不到最佳信噪比和动态范围。这种局限决定了流量计的特性和技术指标,包括都可以从流量计的输出信号中可靠得出的最小和最大流率。
可以在给定驱动频率下测得的科里奥利质量流量计的两个输出信号之间的最小时间延迟的大小受到各种因素的限制,这些因素包括信噪比、相关电路和硬件的复杂程度、以及控制成本和相关电路和硬件的复杂程度的经济方面的考虑。而且,为了使一种流量计在价格上具有吸引力,时间延迟测量的下限必须尽可能低。为了使用于测量具有低密度和低质量的物质,例如气体的流量特性的流量计具有高灵敏度,接收两个输出信号的处理电路必须能够可靠地测量两个信号之间的时间延迟。
现有技术的模拟电路设计本身在科里奥利流量计的所有可能工作状态下进行时间延迟测量可能达到的精确程度存在一定限制。这些限制是由于半导体器件的缺陷和由其它电路元件产生的噪声造成的在任何电子设备中存在的固有噪声而形成的。这些限制还由于环境噪声所形成,它们同样对测量的精确度产生限制,通过诸如屏蔽、保护、接地等技术可以将其影响降低到一定程度。其它的限制就是传感器输出信号本身的信噪比。
良好的模拟电路设计可以在一定程度上克服有关电子设备噪声以及环境噪声的问题。然而,如果不使用模拟滤波器是无法实现改善输出信号的信噪比的。但是,模拟滤波器会改变被处理的信号的幅值和相位。这是不希望产生的结果,因为两个信号之间的时间延迟是用于求出处理流体特性的基础信息。使用具有未知或变化幅值和/或相位特性的滤波器会不适当地改变两个传感器输出信号之间的相位差,并且妨碍得到有关流体的精确信息。
流量计的驱动信号通常是由传感器输出信号之一在其经过调整、相位偏移之后得出的,并用于产生流量计驱动线圈的正弦波驱动电压。这种方式的缺点是传感器信号中的谐振和噪声分量被放大并施加在驱动线圈上使流管在它们的振动频率下发生振动。但是,非正常的机械振动和电子干扰也会产生不利的驱动信号,这些电子干扰反馈到流量计电路中并在一个闭合环路中得到增强,进而产生相当高幅值的自维持扰动信号,从而进一步降低了时间延迟测量的精确度和准确度。
有许多众所周知的方法和电路设计试图解决上述问题。一种成功地解决了上述问题的这种技术公开在授予M.Zolock的美国专利US-5231884和授予Bruck的美国专利US-5228327中。这些专利记载了科里奥利流量计信号处理电路,这种电路采用三个相同的具有高精度积分器的信道作为滤波器。这些信道中的第一个永久地与一个传感器信号相连,比如说,左边的一个。另外两个信道(第二个和第三个)交替地,在一个时刻只有一个,与右边的传感器信号相连。当这些信道其中之一,比如说第二个信号,与右边的传感器信号相连,第三信道与第一信道一起与左边的传感器信号相连。通过比较两个同与左边信号相连的信道输出之间的时间差测量第一和第三信道之间的固有相位延迟。一旦确定了这一延迟特性,与右边的传感器信号相连的第三和第二信道的任务就转换了。在这种新的结构中,在经过标定的第三信道与右边的传感器信号相连的同时,第二信道对其延迟特性进行标定。第二和第三信道的任务由一个控制电路大约每隔一分钟交替转换一次。在这一分钟的间隔里(大约30到60秒),老化、温度和其它效应对于滤波器的相位偏移不会产生明显的影响,因而它们的相位关系是已知的,并予以确定的考虑。
Zolock所用的经过精确标定的积分器使信噪比在积分器的幅值传输函数中的改善量达到大约6分贝/倍频程。不过,6分贝/倍频程的改善量在科里奥利流量计的许多工作状态下(例如轻物质或过度嘈杂的环境)是不够的。其原因是单极滤波器,例如Zolock积分器,具有相当宽的带宽。结果,无法将由非正常流管振动模式、嘈杂环境、流体噪声、电磁或无线电频率干扰和扰动产生的噪声信号消除到满足流量计高灵敏度所需精度的程度。根据噪声频率的不同,它们的幅值会有一定程度的减少,但是当测量低质量物质,例如气体时,这些噪声仍然会对延迟时间的精确测量产生干扰。
Zolock和Bruck系统还存在另一种误差源。积分器时间延迟测量是在正弦波传感器信号中精确定位的三个点上进行的。只有当两个传感器信号的波形相同,并且相对于峰值是对称的时候,这两个传感器信号才是理想的。但是,如果产生传感器信号的两个磁路(传感器)不是一样的,则所得到的非理想波形包含不同量的谐振,这些谐振分量很可能具有无法确定的相位状态,这会改变它们的波形,并且可能改变它们的对称特性。这种改变的后果是,在正常工作状态下,当用一个波形标定一个Zolock积分器并使用该积分器测量另一个波形时,由于它的谐振分量和该谐振分量的不确定性以及变化的相位的影响,两个波形之间的差别可能会产生不确定的和未知量的误差。
其它模拟电路设计也遇到了诸如复杂性、抗干扰能力不足、或消除谐振能力不足的类似问题。
有一些目前可以采用的技术,例如数字信号处理(下文中称之为DSP)和相关的数字滤波技术,能够用于克服上述问题,同时改善被处理的信号的信噪比。但是,这些改变比常规的模拟电路设计更复杂、更昂贵。此外,这些现有的DSP与常规的模拟电路设计相比对于抗噪声和消除谐振性能方面只有一般的改善。1990年6月19日授予Romano的美国专利US-4934196中提出了一种用于计算相位差,Δt,和校正的质量流率的DSP设计。Romano的设计改变了A/D转换器的采样频率以试图使在振动的流管的每个振动周期中采样的次数保持为一个整数。这种对可变采样频率的要求使得Romano的DSP设计复杂化。虽然这种DSP设计与现有技术中各种模拟电路设计在结构上是十分不同的,但是,已经证明,由于这种设计只能在基频的整数倍对于滤波效果产生明显的改善,所以它与模拟电路设计相比在测量精度方面的改善效果一般。然而,许多信号分量产生于流管的机械振动模式,这些流管的共振频率不是基频的整数倍,因而这些信号分量无法被现有的DSP设计完全消除。
现有技术中的方法(模拟的或者现有的DSP)都无法有效地消除非谐振或宽带噪声。根据上述讨论,可以看到,需要有一种利用科里奥利质量流量计测量质量流量的改进方法和装置。
发明方案本发明通过应用数字滤波和数字信号处理(DSP)方法和装置提高了采用科立奥里质量流量计进行质量流量测量的准确度,从而解决了上面所指出的问题,并且在本领域的技术方面取得了进步。本发明包括一种DSP设计,这种设计包括自适应陷波滤波器以提高在质量流率计算中采用的频率和相位测量结果的精确度。自适应陷波滤波器在本发明中的应用是通常提到的自适应线性增强(ALE)技术的一种应用方式。
在本发明中,各个振动流管传感器产生的信号由一个数字自适应陷波滤波器采样,数字化,然后进行处理,该陷波滤波器使在基频周围的一个窄频带以外的所有噪声通过。然后从原始的数字化信号中提取经过滤波的数字化信号以产生一个增强的信号,该信号表示在基频下消除了所有噪声信号的传感器输出信号波形。这种方法和装置消除了谐振以及非谐振噪声信号。起初该陷波滤波器的“陷波”宽度较宽,但是随着它收敛到基频上,陷波宽度会随着时间变窄。自适应算法迅速地适应自适应滤波器的陷波频率以跟踪振动流管的基频随时间的变化。
本发明的DSP设计与Romano的可变频率设计不同,采用一种固定采样频率。这种固定采样频率方法可以将自适应陷波滤波器迅速收敛在振动流管的基频上,并且简化了整个电路设计。采用固定的采样速率就无需象Romano设计中那样需要提供辅助电路以改变采样速率。本发明的设计通过计算调整以补偿振动流管的固定采样频率与可变基频之间的光谱漏泄。尽管这样增加了计算的复杂性,本发明仍然比现有技术中的设计例如Romano的设计简单,并且由于采用了自适应陷波滤波而提高了抗噪声能力。
本发明与所有已知的设计相比具有更优越的抗噪声和抑制谐波的性能,并且简化了由Romano专利所公开的DSP设计的各个方面。这使得即使在特别嘈杂的环境中以及应用于低密度流体物质(例如气体)时也能提高流率测量的精确度。
由于所有流管以相同的基频振动,该陷波滤波器的自适应仅由两陷波滤波器中一个的采样值所确定。如此确定的自适应加权应用于两个陷波滤波器。本发明用于计算的试探法防止了陷波滤波器由于计算的不稳定性而偏离基频。当陷波滤波器测得的信噪比太小时,采用其它的试探法重新开始自适应的收敛计算。小的信噪比表示自适应陷波滤波器没有收敛在基频上。这可能是由于振动流管基频的漂移。
在本发明的一个第一实施例中,由一个对应的A/D转换器以固定频率对各个振动流管传感器的输出信号进行采样。然后将由各个A/D转换器输出的采样值输入到一个相应的抽选滤波器中,目的是通过减少在以后的计算中所用采样值的数量来降低计算的复杂程度。该抽选滤波器还进行一定程度的抗混叠滤波以使采样的模拟信号平滑。然后将抽选的信号分别传输到一个对应的自适应陷波滤波器以进一步增强从各个传感器输出的信号。在将大部分噪声和谐波滤掉之后,将各个传感器的增强输出信号传输到一个相应的相位运算单元以确定两个增强信号之间的相位差。将各个相位运算单元的输出传送到一个运算单元以确定增强的传感器信号之间的时间差,进而确定相对的质量流率。
按照本发明方法的第二个实施例,使用了四个自适应陷波滤波器,在左信道和右信道分别串联两个陷波滤波器。分别设置在左信道和右信道中的两个滤波器是“级联的”,其中第一个滤波器采用一个低Q值(宽陷波带)滤波器以产生有限的信号增强,但是能够迅速收敛到振动流管基频的变化范围上。然后将从第一个级联陷波滤波器输出的信号传输到第二个级联陷波滤波器中。第二陷波滤波器采用一个高Q值(窄陷波带)滤波器以产生比以往的技术或者上述的第一实施例中更强的抑制噪声和谐波的作用。尽管第二陷波滤波器具有窄陷波带(高Q值),但是它仍然能够迅速地适应由于第一陷波滤波器所进行的有限的增强(滤波)引起的振动流管的基频的变化。在输入到所说第二陷波滤波器的信号中减少的噪声和谐波量使得它也能够迅速地收敛到振动流管基频的变化范围上。
使用一个其陷波形状比第一个级联陷波滤波器更宽的辅助陷波滤波器(第五滤波器)以产生振动流管基频的一个估计值。在加权自适应计算中使用这个估计值以设置左信道和右信道中的第一级联陷波滤波器的频率参数。在加权自适应计算中使用第二级联陷波滤波器的输出调整第二级联陷波滤波器的频率参数。
两个(或多个)用于增强各个传感器的输出信号的级联陷波滤波器的结合进一步增强了滤波抑制能力以及自适应滤波器收敛到振动流管基频变化范围上的速度。
在此使用的术语“自适应陷波滤波器”在广义上指具有各种可变参数的滤波器。这个定义与一个更广为接受的定义不同,后者将一个可变参数滤波器与根据该滤波器本身的输入和输出自动地调整滤波器参数的机构相结合。如在此所使用的含义,某些陷波滤波器的自适应参数是根据其它滤波器的工作状态计算出来的,而不是各个滤波器自己的输入和输出。换句话说,本发明中某些陷波滤波器受到其它陷波滤波器计算结果的控制。由于这个原因,将有关滤波器和自适应机构的详细讨论分开。根据来自一个信号滤波器的输入进行的一次自适应计算可以调整多个陷波滤波器的参数。
通过以下的说明和附图,本发明的上述和其它方面将变得更加清楚。
附图简介

图1表示与运用本发明的装置和方法的流量计电子部分连接的一个典型的科里奥利质量流量计;图2为流量计电子部分中用于确定根据本发明构成的流量计的质量流率的运算单元的方块示意图;图3表示图2所示的本发明第一实施例的其它细节,其中采用了一个自适应陷波滤波器与各个传感器信号相连;图4-12表示图3所示本发明的第一实施例中运算单元的其它细节;图13表示图2所示本发明的第二实施例的其它细节,其中采用了两个级联自适应陷波滤波器与各个传感器信号相连;图14-16表示图13所示本发明的第二实施例中运算单元的其它细节;图17为本发明的第一实施例应用的软件的流程图,表示操作A/D转换器和对采样值的相应抽选值的中断处理过程;图18为本发明的第一实施例应用的软件的流程图,表示为了滤波和确定Δt相位差而对抽选的采样值进行处理的过程;图19为一个流程图,表示图18中所示的在处理过每个抽选的采样值之后更新滤波器参数的一个单元的其它细节;以及图20为适合于执行本发明方法的软件的数字信号处理电路的方块图。
优选实施例的详细描述图1中所示的一种典型的科里奥利质量流量计,它具有两根以悬臂方式安装到总管主体30上的流管12、14,以使它们围绕各自的异相弯曲轴W-W和W’-W’具有基本一致的刚性常数和转动惯量。
在流管12、14的顶部130和130’之间的中点区域安装有一个驱动线圈和磁体20以使流管12、14围绕轴W-W和W’-W’异相振荡。左传感器16和右传感器18安装在流管12、14各自顶部的末端附近以检测流管12、14的相对运动。这种检测可以用许多方式进行,其中包括测量流管12、14顶端通过它们的零交叉点或其它某个预定点的运动。流管12、14具有左侧支管131和131’以及右侧支管134和134’。这些侧支管彼此相向向下汇集,并固定到总管连接件121和121’的表面120和120’上。支撑条140R和140L钎焊在流管12、14的支管上,并用于限定所说轴W-W和W’-W’,当通过路径156激励驱动器20时流管围绕上述两条轴异相振荡。轴W-W和W’-W’的位置是通过沿流管的侧支管131、131’和134、134’移动支撑条140R和140L确定的。
在流管14的侧支管131上安装有温度检测器22以测量流管的温度和流经流管的物质的近似温度。这个温度信息被用于确定流管刚性常数的变化。驱动器20、传感器16和18以及温度检测器22分别通过路径156、157、158和159与质量流量计仪表24相连。质量流量计仪表24至少包括一个微处理器,该微处理器处理从传感器16、18和22接收的信号以确定流过流量计10的物质的质量流率以及其它测量值,例如物质密度和温度。质量流量计仪表24还通过路径156向驱动器20传输一个驱动信号以使流管12、14围绕轴W-W和W’-W’异相振荡。
总管主体30由铸件150、150’构成。铸件150、150’可以通过法兰103、103’安装到一根输入导管和一根输出导管(未示出)上。总管主体30使物质从输入导管转向流入流管12、14中,然后返回输出导管。当总管法兰103和103’通过入口端104和出口端104’与流通着待测量工作物质的一个管道系统(未示出)相连时,这种物质通过法兰103的入口孔101进入总管主体30和总管连接件110,并通过铸件150中具有逐渐变化的横截面的一条通道(未示出)进入流管12、14。流体被总管连接件121分流并分别导向流管14和12的左支管131和131’。然后,流体流过顶管部分130、130’和右侧支管134和134’,并在流管总管连接件121’中汇合成一股流。在这之后,流体通过一条通道(未示出)进入出口铸件150’,然后进入总管出口连接件110’。出口端104’由具有螺栓孔102’的法兰103’与管道系统(未示出)相连。流体从出口孔101’流出返回到管道系统(未示出)的流动中。
质量流量计仪表24分析在路径157、158和159上接收的信号,并在路径155上产生标准的输出信号以指示质量流率,控制系统或操作者利用这些测量值监测和控制通过相应的管道系统(未示出)的质量流率。概述本发明包括可在一个数字信号处理器(DSP)芯片中应用的数字信号处理方法,以在质量流量计仪表24中执行计算功能。从作为各个流管传感器的输出而产生的模拟信号中抽取离散的采样值。利用标准模数转换器(A/D)将从左右传感器输出的不连续采样值数字化。在数字化之后,利用数字信号处理方法在DSP芯片中对采样值进行进一步的处理。数字信号采样值的处理在本申请中以两种形式表示。在一种表示形式中,表示了用于各种滤波和处理功能的DSP软件流程图和公式。为了帮助解释本发明的方法,利用了第二种表示形式,这种形式叙述了表示作为伪电路(例如表示加法器、乘法器、延迟电路、寄存器、多路通道等的方块图)的各种公式的计算。某些更复杂的数学运算在伪电路方块图中被保留为上位概念的单元,在本申请中通常称之为“运算单元”。本发明的这两种形式的解释是等价的,它们两者都充分地说明了本发明的方法和功能。概述-伪电路图2表示本发明的流量计电子部分的一般结构,以及在其中相关信息的传输。本发明流量计的电子部分由两个基本相同的“信道”构成用于处理左流管传感器输出信号的第一信道和用于处理右流管传感器输出信号的第二信道。这两个信道除了在如下所述的陷波滤波器的加权自适应方面有所不同以外其它方面是相同的。
以下的描述是针对典型的科里奥利流量计应用进行的,在这种流量计中振动流管的基频大约为100Hz。很容易理解,本发明的装置和方法可以应用于任何常规的流量计振动基频。
下面所讨论的许多运算单元是与和流管传感器输出信号的各种采样相关的时钟信号同步进行的。图2所示的时钟214产生与下面所讨论的运算单元的各种采样率相关的时钟信号。首先,时钟214通过路径270向A/D转换器200传送一个周期脉冲时钟信号以确定由流管传感器产生的原始信号(未经处理的)的采样率。各个A/D转换器200在由时钟214通过路径270传输的每个信号脉冲周期内对其相应的模拟信号进行采样,并将采样值转换成数字形式。通过路径270传输到A/D转换器200的这个时钟信号必须具有高精度的频率,以使得能够按照本发明信号处理所要求的固定采样率对流管传感器的输出信号进行采样。可取的是利用一个晶控时钟来实现所说的时钟脉冲精度。还通过路径270将同一个时钟信号传送到48∶1抽选滤波器单元202中。该抽选滤波器单元202将采样值的数量减少到48分之一,同时对采样信号值进行显著的抗混叠滤波。本领域普通技术人员应当认识到48∶1的特殊抽选比率是根据特定应用环境所作的工程设计选择。
时钟214还如下所述向其它的运算单元传输信号CLK。信号CLK的频率随抽选滤波器单元202输出的采样值的频率变化。换句话说,CLK时钟信号的频率是通过路径270产生和传输时钟信号频率的1/48。在本发明的一个优选实施例中,由CLK信号进行“时钟控制”的运算单元是由在数字信号处理器(DSP)芯片上运行的软件函数实现的。因此,这些函数对传感器输出信号的抽选采样值进行运算。这些函数的“计时”对应于离散采样值的有效工作时间。可取的是,这些值缓存在软件实现的队列或先进先出节点中,从而这些函数可以实际上相对于固定速率,A/D转换器200的晶控采样频率异步地实现。在以下对附图的描述中,CLK信号代表足以使抽选的传感器输出信号离散采样值能够用于由运算单元进一步处理的频率。在DSP芯片中软件的实际运算处理通常是相对于在路径270中的时钟信号的A/D转换器采样频率异步进行的。
图1中所示右流管传感器18的输出信号通过图1所示路径158传输到A/D转换器200。图1中所示左流管传感器16的输出信号通过图1所示路径157传输到第二A/D转换器200。A/D转换器200对右流管传感器产生的模拟信号进行采样并将其转换成数字信号。第二A/D转换器200对左流管传感器产生的模拟信号进行采样并将其转换成数字信号。A/D转换器200响应通过路径270接收的由一个系统宽频时钟产生的固定频率的周期时钟信号进行工作。
经过转换的数字信号通过路径252传输到48∶1抽选滤波器单元202。这个48∶1抽选滤波器单元202分成两级,一个8∶1级,其后是一个6∶1级。可取的是,抽选滤波器单元202的两级都用限脉冲响应(FIR)抗混叠滤波器来实现。本领域的技术人员应当认识到可以使用IIR滤波器作为抽选级。使用FIR滤波器还是使用HR滤波器是根据运算的复杂程度和用于具体设计中的运算单元的相对能力所作的设计选择。
抽选滤波器单元202以38.4kHz到4.8kHz的采样率进行8∶1压缩。该滤波器的传递函数为G(z)=(1-z-8)5/(1-z-1)5极零点抵消得到一个36抽头的FIR滤波器。这种滤波器在二次采样频率的各个倍数点具有5个零点。这可以极大地消除混叠在第二级滤波器通带中的那些频率。这个第一级滤波器具有小整数系数,它可以用一种精确的计算机运算表示,从而简化卷积运算的复杂性和提高运算速度。
抽选滤波器单元202的第二级滤波器以4.8kHz到800Hz的采样速率进行6∶1压缩。第二级滤波器是采用众所周知的Remez转换算法设计的一个131抽头FIR滤波器。通带为直流到250Hz,阻带起点为400Hz。通带加权为10-5,阻带加权为1。
利用两级抽选滤波器具有较高的抗混叠性能。所有混叠分量被降低超过120dB,而从直流到230Hz的脉动小于1.5dB。
由通过路径250相连的A/D转换器200和抽选滤波器单元202构成的左信道的工作方式与上述的右信道的工作方式相同。左信道中抽选滤波器单元202的输出信号从路径254输出。
A/D转换器200的采样值和抽选级的运算可取的是利用32位定点运算以保持所需的运算精度和特性。由于较宽的运算定标范围涉及更复杂的功能,所以后面的运算,诸如陷波滤波、相位运算、Δt运算、和质量流率运算最好是采用浮点运算方式。
抗混叠抽选数字信号值通过路径256传输到自适应陷波滤波器204。如在下文中详细讨论的,自适应陷波滤波器204通过将在以振动流管基频为中心的频带以外的所有频率有效地滤除而增强了信号值。自适应陷波滤波器204消除了以基频为中心的一条频带(陷波)。所得信号是在以振动流管基频为中心的陷波以外的所有噪声。然后将这些噪声信号从通过路径256输入到陷波滤波器204的信号中减去,上述输入信号是基频信号和所有未经抽选滤波器单元滤波的噪声之和。之后将相减的结果,它表示振动流管滤掉大部分噪声信号后的基频信号,作为陷波滤波器204的输出通过路径262输出。
陷波滤波器204的参数(加权因子或系数以及去偏置参数)决定了陷波的特性,也就是陷波(被剔除频率的带宽)和基频的形状。这些参数由加权自适应单元210计算出,并通过路径258传送到陷波滤波器204。
左信道自适应陷波滤波器204从路径254接收其输入,而从路径260传输其输出。如下所述,作为左信道自适应陷波滤波器的输出产生的信号被加权自适应单元210用作反馈信号以确定两个陷波滤波器的系数(左信道和右信道自适应陷波滤波器)。
两个陷波滤波器204(左信道和右信道)的加权因子(系数)由加权自适应单元210的运算确定。加权自适应单元210从左信道自适应陷波滤波器204的输出端接收经过滤波的信号、未经滤波的信号的噪声部分、和滤波后信号的梯度。这些信号值用于与时间相关的(迭代)运算中以确定陷波滤波器的合适系数。如此确定的系数决定了陷波的特性。陷波与基频两者的形状都适合于追踪基频的变化。陷波的形状决定了自适应陷波滤波器能够收敛到基频变化范围上的速度。较宽的陷波产生较少的滤波效果,但是可以更迅速地调整到基频的变化。较窄的陷波使收敛到基频变化范围上的速度较慢,但是对于输入传感器信号的滤波效果非常好。
应当认识到左信道和右信道的输出信号都可以被用作加权自适应单元210的反馈信号。虽然在加权自适应单元210中同时使用左信道和右信道输出信号是可能的,但是这样做所产生的益处与增加的计算复杂性相比并不占优。不论加权自适应单元210的输入源是哪一个信道,在其中计算出的加权自适应参数被传输到左信道和右信道自适应陷波滤波器204中,从而使两个传感器输出信道经过同样处理。如果利用一组传输到左信道和右信道的参数保持两个信道之间严格的相位关系,则用于计算所说Δt值的基值正比于质量流率。
如下所述,由加权自适应单元210计算所得值还用于计算相位和Δt。
单元212接收从加权自适应单元210得到的系数,并确定振动流管的基频。频率计算单元212产生频率和Goertzel加权信息并通过路径268传输。
由自适应陷波滤波器204产生的滤波信号值通过路径262传输到相位计算单元206。相位计算单元206通过路径268从频率计算单元212接收Goertzel加权信息和频率信息。相位计算单元206利用具有两个Hanning窗口的富里叶分析技术确定滤波信号的相位。一个窗口的长度是流管基频的额定值或期望值的函数。一个窗口的长度确定流管振荡周期数,在此周期中汇集和加权处理采样值,以确定流管的相位。流管频率的期望值可以在制造时编程在本发明的电子设备中,或者作为一个参数输入到一个特定的安装/应用位置,或者由流量计的操作和相应的测量确定。一个窗口的长度表示响应时间与消除信号噪声和泄漏之间的折衷。累计用于确定相位的周期数较大可以进一步消除噪声,但是也需要更长的延迟时间以实现因果关系,所以使对流管振动相位关系的变化响应变慢。较少的采样值减少了延迟时间,从而提高了对流管振动相位变化的响应速度,但是抑制噪声的效果低劣。与所测量的周期一样,选择8个流管周期作为优选的窗口长度。假设一个给定的频率期望值,则优选窗口长度(2N)可以确定为窗口长度=2·floor(3200/流管频率期望值)其中floor(x)是小于或等于x的最大整数。
Hanning窗口表示为在一个Hanning窗口的周期内应用于所说离散采样值的加权的向量。其中2N为在Hanning窗口的一个周期内离散采样值的数目,第k个离散采样值的加权,其中k的范围从0到2N-1,确定为h(k)=(1/2)(1-cos(2πk/(2N-1)))为了在下文中对有关重叠Hanning窗口的平行计算进行详细的讨论,图2所示时钟214每N个离散采样值产生一个半窗长信号脉冲并通过图2所示路径274传输(其中传感器输出信号采样值的一个完整的Hanning窗口在一个周期中包含2N个离散的采样值)。此外,图2所示时钟214在路径272上传输一个计数值信号SAMPNO。路径272上的SAMPNO从0到N-1计数(作为CLK信号的一个模数N函数)。路径272上的SAMPNO计数对CLK信号的每一个脉冲递增计数。当SAMPNO计数达到N-1时,从时钟214发生的CLK信号的下一个脉冲将SAMPNO重新设置为0。半窗长信号对应于等于零的SAMPNO计数。在本发明的一个优选实施例中,SAMPNO计数器由软件实现,它对在Hanning窗长期间处理的传感器输出信号离散的抽选采样值进行计数。由软件实现的SAMPNO计数器相对于由图2所示时钟214通过路径270产生的固定频率的、晶控时钟信号异步增量。
给予在各个窗口边缘的信号采样值的加权比给予在窗口中央的采样值的少。为了更加充分地利用可得到的数据,同时进行两种富里叶变换,从而各窗口重叠半个窗长。每半个采样窗产生一组新的富里叶相位测量值。
本发明采用恒定窗长使得可以在流率测量开始之前预先计算Hanning窗口加权。当与离散时间富里叶变换(DTFT)结合使用时,如在本发明中,窗口长度决定了DTFT滤波器输出的频率甄别特性的清晰度。它还增强了消除噪声和伪谐波的效果。但不幸的是,较长的窗长使得滤波器对相位变换的响应较慢。所以按照上述方式确定的窗长表示适合于平衡这些竞争目标(改善的频率甄别和噪声消除相对于对于相位变化的迅速响应)的最佳的已知近似。对于不同的流量计可以改变优选的窗长以使某些环境状态最佳。
相位计算单元206将经过滤波的离散采样值相加以产生表示传感器输出信号的滤波采样值的相位的一个复数。将这个复数传输到路径266中以用于其后的Δt计算中。具体地说,是对左信道和右信道的传感器输出信号的经过滤波的离散采样值的各个Hanning窗口进行Goertzel滤波器富里叶变换。Goertzel滤波器的系数由频率计算单元212确定,并通过路径268传输到相位计算单元206。相位计算单元206的复数输出传送到路径266中,并用于Δt计算中。
左信道的相位计算单元206的工作方式与上述右信道的相位计算单元相同。左信道中的自适应陷波滤波器204将其输出传送到路径260中。相位计算单元206接收这些信号,并将表示左信道相位的值传送到路径264。
左信道和右信道的相位信息都由相位计算单元206的运算得出,并由Δt计算单元208通过左信道的路径264和右信道的路径266接收。Δt计算单元208通过路径268接收由频率计算单元210运算得到的频率信息。Δt计算单元208确定由于左右传感器输出信号之间的相位差而产生的时间延迟,这个时间延迟又近似正比于流过科里奥利流量计的流管的物质的质量流率。
将左信道的富里叶变换与右信道的富里叶变换的共轭相乘。然后计算复数值的角度。将这个相位差角用振动流管的频率相除(转换成适合的单位以与相位测量值匹配)以得到一个Δt值。概述-软件图17-19所示的流程图概述了用于实现本发明方法的软件的运行。图17表示实时响应A/D转换器200(图2所示)的一个中断信号软件部分的运行。图18表示对由图17所示软件运行产生的抽选采样值进行进一步滤波和处理的软件部分的运行。由图17所示软件运行产生的优选采样值被缓存,从而图18所示的软件可以相对于从A/D转换器200输出的精确定时采样值进行异步操作。图19进一步表示了图18所示的一个单元的细节,其中包括帮助确保质量流率的最终测量结果的稳定性和准确性的试探法。
图17-19所示的软件可以在图20中更详细表示的质量流量计仪表24中运行。图20所示的数字信号处理器2000是非常象普通微处理器的一个计算装置,但是具有适用于信号处理的特殊功能。许多这类DSP处理器对于本领域技术人员来说是已知的。这种装置的一个实例就是Texas仪器仪表公司生产的TMS 320C50-57型。这种装置是一种定点算法处理器。提供了软件仿真程序库以进行精确的浮点运算。这种示例装置具有32位的采样和抽选操作所需的精度。虽然对于特殊的流量计来说,如果需要别的浮点运算功能,还可以使用其它处理器,但是浮点仿真软件对于大多数流量计来说提供了足够的功能。
处理器2000通过总线2052从程序ROM2002中读取程序指令,并通过总线2054操纵数据和将其缓存在RAM2004中。普通技术人员应当认识到,根据成本和性能因素的不同,在某些环境中可取的是将程序指令从ROM2002中拷贝到RAM2004中以改善处理器2000在读取指令方面的性能。
A/D转换器200分别接收流管传感器施加到路径157和158的模拟输出信号。处理器2000分别通过路径250和252将控制信号施加到A/D转换器200,并且分别通过路径250和252接收从A/D转换器200输出的数字化的采样值。处理器2000通过路径2050向时钟214施加控制信号以确定A/D转换器200的采样频率。作为响应,时钟214将采样频率时钟信号通过路径270施加到A/D转换器。按照这种方式,处理器200在开始时将A/D转换器200的采样频率设置为所需速率。
在该优选实施例中,A/D转换器200是在一个集成电路中由多个转换器和与DSP处理器相连的一条通讯总线实现的。这有助于确保两个采样信号之间的相位关系是由于振动流管的科里奥利效应产生,而不是由分立的A/D转换器电路之间的不平衡效应产生的。许多这类立体A/D转换器芯片对于本领域技术人员来说是熟知的。这种芯片的一个实例是晶体半导体芯片CS5329,一种2信道立体A/D转换器。
处理器2000确定流管振动适合的基频,并将一个成正比的信号施加到路径2058。驱动电路2008将施加到路径2058中的信号转换成适于驱动流管振动的信号,并将该信号施加到路径156中。在本领域中有许多驱动流管振动的方法和装置,这里不需要进一步详细讨论。
处理器2000还根据采样信道之间的相位差确定一个Δt值,并将一个正比于Δt的一个信号施加到路径2056中。D/A转换器2006将施加到路径2056中的信号值转换成一个与质量流率成正比的模拟信号并施加到路径155中。路径155中的信号被施加到适于具体的流量计测量的应用装置(未示出)中。概述-软件(实时中断处理)如上所述,A/D转换器200以固定频率工作以产生精确定时的左右流管传感器输出信号采样值。如图17所示,原始的采样值用一个两级、48∶1抽选滤波器进行抽选。这种抽选滤波在一定程度上平滑(抗混叠)了采样数据,同时降低了采样速率,因而也降低了用于陷波滤波器以及确定相位差和最终的Δt测量结果所需的计算量。可以使用众所周知的软件技术以使得在某些不甚严格的计算处理过程中可以采用中断(子程序)嵌套的方法,从而在A/D转换器200采样中断正在处理时避免由于复杂计算造成的任何可能的数据损失。例如,在处理以前的采样值过程中,可以使用象在FIFO存储技术中使用的循环缓存器保存其它的数据。这些缓存技术和其它技术对于本领域技术人员来说是众所周知的,无需赘述。
图17中的程序框1700表示由A/D转换器200产生的中断的产生以指示可以利用左右流管传感器输出信号的数字化采样值。然后程序框1702响应该中断开始读取从A/D转换器200输出的左右流管传感器信号(在本申请中也称之为左信道和右信道)的数字化采样值。将从A/D转换器200读取的数字化采样值存储在与左信道和右信道相关的一个第一级循环缓存器中。每个信道的第一级循环缓存器的空间足以存储FIR滤波器的采样值。这种第一级滤波器最好是一个36抽头滤波器,所以在每个信道的循环缓存器中至少需要有36个入口。
程序框1704判定从程序框1702从A/D转换器读取采样值的最后一次卷积运算时起在所说第一级循环缓存器中是否已经存储了8个新的采样值。如果还没有读取8个新的采样值,则结束对这个A/D转换器200中断的处理。如果从最后一次滤波器卷积运算时起已经有8个新采样值存储在第一级循环缓存器,则程序框1706开始确定目前存储在每个信道的第一级循环缓存器中的36个采样值的卷积。然后将每个信道的经卷积运算后的采样值存储在与各个信道相关的一个第二级循环缓存器中。各个信道的第二级循环缓存器的空间足以存储FIR滤波器的采样值。第二级滤波器最好是一个131抽头滤波器,所以在每个信道的循环缓存器中至少需要131个入口。
程序框1708确定在程序框1706运行之后是否已经有6个新值存储在第二级循环缓存器中。如果还没有6个经过第一级卷积运算的新值存储在第二级循环缓存器中,则结束对这个A/D转换器200的中断处理。如果在第二级循环缓存器中已经存储了6个新值,则程序框1710工作以确定存储在每个信道的第二级循环缓存器中的131个值的卷积。然后将每个信道的第二级循环缓存器存储值的第二级滤波器和值(卷积)存储在与各个信道相关的一个抽选采样循环缓存器中。每个信道的抽选采样循环缓存器保存与其相关的左信道或右信道采样值的抽选值。这些缓存器用于保存抽选值直到下面参照图18所述的异步处理能够检索到这些值以进一步滤波和处理。抽选计算足够简单,使得可以在图17所示的中断处理软件内进行处理。对于陷波滤波器的进一步处理、确定相位差和Δt值、以及适应陷波滤波器参数是较为复杂的,所以是与从A/D转换器200中读取采样值所需的实时处理异步进行的。本领域技术人员应当认识到图17所示的中断处理与图18所示的异步处理之间的任务划分是根据所选择的DSP芯片的特性和按照A/D转换器采样频率测量所需性能指标所作的设计选择。按照本发明的构思和范围,可以有许多种等价的软件和相关的数据结构。
上文中参照图17-19概述的软件结构下面以“伪电路”形式进行描述以帮助理解本发明。在这些伪电路的说明中,一个被称为CLK的信号将由上文参照图17所述的运算中产生的各个抽选采样值进行脉冲调制。换句话说,CLK信号是采样频率的1/48。如在参照图17-19对于软件的描述中可见,CLK信号只是简单地表示在抽选采样值循环缓存器中有一个可用的抽选采样值(更准确地说是一对抽选采样值,一个用于左信道,一个用于右信道)。在计算上更为复杂的陷波滤波器运算和Δt的确定是相对于精确定时的采样频率时钟信号调制的A/D转换和相关的两级抽选异步进行的。换句话说,下面讨论的CLK信号最好只给出一种指示,即在抽选采样值循环缓存器中有一个可用的抽选采样值。概述-软件(异步数字信号处理)图18为一流程图,表示响应上文中参照图17所述的实时采样和抽选操作运行的软件的异步处理部分。图18中的程序框1800表示初始化用于预处理两个信道的采样数据的循环缓存器(第一级、第二级和抽选采样值)所需的所有处理。此外,程序框1800初始化与图2所示A/D转换器200相关的任何所需硬件以设置转换器固定的采样频率(即时钟214)和当可以从A/D转换器中得到一个采样值时使A/D转换器能够中断DSP运行。
程序框1802一直等待到在每个抽选采样值循环缓存器中有一对抽选采样值可用时(一个用于左信道,一个用于右信道)开始工作。当有一对抽选采样值可用时,程序框1804将陷波滤波器函数作用于抽选的采样值,从而增强该信号。通过去除有害噪声和信号频率的谐波来增强该信号的。
接着程序框1806将陷波滤波器的参数更新。本发明的自适应方法是修改这些陷波滤波器参数,以计算出振动流管的基频。在陷波滤波器自适应过程中,利用试探程序帮助确保使用流量计仪表24所作流量测量结果的稳定性。下面详细讨论这些试探程序。将经过更新的陷波滤波器参数应用于陷波滤波器。
接着图18所示的程序框1812判定该采样值是否为在一个新的半窗长周期开始时的第一个采样值(即,SAMPNO=0表示在前一个半窗长周期中的所有采样值都已经处理完毕)。如果这个采样值不是在一个半窗长周期开始时的第一个采样值,则程序框1808和1810继续进行处理以更新Goertzel滤波器参数和累计信号和噪声能量值。如果这个采样值是在一个新的半窗长周期中的第一个采样值,则如下所述由程序框1814执行前一个半窗长完毕之后的处理程序。
程序框1814在一个半窗长周期末(一个新的半窗长周期的开始)开始工作,以确定由下述程序框1810的运行所产生的积累增强采样值能量和积累增强噪声分量能量得出的信噪比(SNR)。由程序框1810的运行所产生的累计能量和还由程序框1814进行复位以准备开始对下一个采样值Hanning半窗长周期进行积累。然后程序框1816测试SNR是否超过一个可接受的阈值。在本发明中,对于许多常规应用来说优选的SRN阈值为5。本领域技术人员应当认识到,优选的SNR阈值可以根据各种具体的流量计测量环境和应用而改变。如果SNR值降到低于预定阈值,则说明在前一个半窗长周期(刚刚结束的半窗长)存在SNR故障。如果程序框1816确定在前一个半窗长中存在故障,则程序继续进行到程序框1818。否则,程序进行到程序框1820。程序框1818重新设置在陷波滤波器的加权自适应中使用的计算结果。具体地说,就是去偏置参数(α)、遗忘因数(λ)、和协方差矩阵(P)都被重新设置到起动计算以将陷波滤波器收敛到振动流管的基频上的状态。
接着程序框1820开始工作从表示在恰好前一个采样值周期中每个信道上的信号的相位的复数确定Δt。换句话说,在每个采样值的Hanning窗长之后(如下所述它出现在每隔半窗长处),从被压缩为表示每个信道的相位的一个复数的恰好前一个Hanning窗口采样值计算Δt值。程序框1820根据由程序框1808产生的积累参数进一步确定下一个周期的Goertzel滤波器系数。程序框1808的参数积累也进行复位以开始一个新的周期。然后继续进行程序框1808和1810的处理以更新Goertzel滤波器参数并积累信号和噪声能量。
程序框1808通过在一个半窗长周期中积累平均陷波滤波器加权更新Goertzel滤波器。在两个半窗长周期的边界处,更新Goertzel滤波器加权以准备在下一个半窗长周期对采样值进行处理。程序框1808还响应增强采样值的产生,并将增强采样值施加到一个复数Goertzel滤波器中。如上所述的这种Goertzel滤波器产生一个复数,这个复数是对一组波形采样值积累而成的,表示该波形的相位。对于左右信道都积累这个相位值。
如上所述,利用Goertzel滤波器积累表示各个信道的增强采样信号的相位的一个复数。继续积累等于Hanning窗长(所说窗长标记为2N)数量的采样值。一个Hanning窗口中的采样值大约需要相关流管传感器信号的8个完全振动周期。为了最大限度地利用采样数据,对于一个信道的采样值并行进行两个Goertzel滤波器计算(总共4个计算,2个对左信道,2个对右信道)。对于一个信道的两个并行计算是对该信道的相同的增强采样值进行的,但是一个计算从另一个Hanning窗口半窗长之后的一个半窗长处开始(即延迟N个采样值)。换句话说,施加到一个信道的采样值上的两个并行Goertzel滤波器计算在时间上彼此分开,相差振动流管传感器信号采样值的Hanning窗长的一半。
程序框1810积累增强的信号能量,并积累采样值的噪声能量。在半窗长结束时检查积累值(如上所述相对于程序框1814)以确定信噪比是否在所需限值内。
然后该方法的处理过程继续循环回到程序框1802以等待接收另一个抽选采样值。
图19更加详细地表示了程序框1806的操作,它更新滤波器参数以准备处理下一个抽选采样值。除了上面参照图18所述的SNR检测以外,本发明还应用其它试探方法以帮助防止陷波滤波器计算中的任何不稳定性。
在图19中所示的一种试探检测检查计算出的陷波滤波器加权以使之稳定在一个预定的可接受范围。如果它们落在可接受范围以外,则下一个采样值不使用新计算出的滤波器加权。在这种情况下,根据以前的采样值计算出的以前的加权将一直使用直到产生可接受的滤波器加权。
程序框1902-1908根据当前的采样值确定更新的遗忘因数、更新的增益向量、更新的去偏置参数、和更新的协方差矩阵。接着程序框1910在给定由程序框1902-1908确定的以前的加权(根据以前的采样处理计算出)、增益向量、和去偏置参数值的情况下确定更新的陷波滤波器加权。如上面参照图18所述,当通过检测增强信号的信噪比探测出一个错误时,重新开始与更新系数相关的计算以将陷波收敛到流管的偏移的基频上。
程序框1912相对于可接受值的一个预定范围评估新计算出的加权的稳定性。如果新计算出的加权在所说可接受范围内,程序框1914将该新加权值应用于所说陷波滤波器以准备处理下一个抽选采样值。如果新计算出的加权值不在所说可接受范围内,则不将该新加权值应用于所说滤波器,而是再次将以前的加权值(根据从以前的采样值计算出的)应用于下一个抽选采样值。第一优选实施例在本发明的一个示例性第一优选实施例中,使用了两个自适应陷波滤波器,一个用于对来自左信道的离散数字化采样值进行滤波,另一个用于对来自右信道的离散数字化采样值进行滤波。加权自适应计算通过对与左信道处理相关的信号进行采样调整两个自适应陷波滤波器的陷波参数。
图3分解了图2所示的各个单元以进一步详细表示图2所示计算单元之间的信息传输。计算单元204为在图2中首先表示的自适应陷波滤波器。左信道自适应陷波滤波器204通过路径254(图2中所示的)接收抽选的传感器输出信号采样值(xL)。通过路径258从加权自适应单元210接收陷波滤波器传递函数的加权系数(W)。也是通过路径258从加权自适应单元210接收决定陷波形状的去偏置参数(α)。右信道自适应陷波滤波器204通过路径256(图2中所示的)接收抽选的传感器输出信号采样值(xR),但是其它方面的操作与左信道自适应陷波滤波器204相同。左信道和右信道自适应陷波滤波器都通过路径258从加权自适应单元210接收相同的自适应参数(W和α)。
左信道和右信道自适应陷波滤波器204都产生一个由分别施加到它们各自的输出路径260和262中的离散采样值表示的增强的信号。这个增强的信号,对于左信道和右信道分别标记为eL和eR,表示相关的输入信号采样值,该采样值被滤掉除接近振动流管基频的一个窄频带以外所有噪声信号的。
左信道自适应陷波滤波器204在它的输出路径260中输出表示输入信号采样值(nL)的噪声部分的一个信号和表示该输入信号采样值(Ψ)的梯度向量的一个值。加权自适应单元210利用这些信号值(eL、 nL和Ψ)确定进一步调整陷波滤波器所需的加权自适应参数。左信道和右信道自适应陷波滤波器都运算相同函数,但是,从右信道自适应陷波滤波器输出的噪声和梯度值不用于本发明的方法和装置中。实际上,优选实施例的DSP软件并不计算右信道自适应陷波滤波器的这些不使用的信号。下面详细讨论由自适应陷波滤波器运算的函数。
相位计算单元206分别通过路径260和262接收从左信道和右信道自适应陷波滤波器204输出的增强信号值。相位计算单元206确定由通过路径260和262施加到它们各自的输入端的增强的离散采样信号表示的正弦信号的相位。
富里叶变换相位计算单元206利用一种Hanning窗口加权方法将每个信道上表示对应的正弦输入信号的8个周期的2N个离散加权采样值加和。如下所述,本发明的各种计算单元对在半个Hanning窗周期中接收的数据(采样值0…N-1)进行它们各自的运算。相位计算单元206接收通过路径272输入的指示当前半窗周期(采样值0…N-1)的具体采样值的SAMPNO值。该SAMPNO值被用作应用于第一个和第二个Hanning窗口半窗长的增强的采样信号值的一个加权向量的索引。如下所述相位计算单元206采用了这些加权方法。
相位计算单元206对滤波的离散采样信号值实施Goertzel滤波器富里叶变换以确定该系统中每个信道上的正弦信号的相位。频率计算单元212通过路径268将Goertzel滤波器系数(B-一个复数)传输到相位计算单元206中。该Goertzel滤波器处理每个Hanning窗口中的采样值以产生一个表示传感器输出信号的正弦采样值的相位。
由相位计算单元206产生的复数值分别施加到左信道和右信道的路径264和266中。Δt计算单元208分别从路径264和266接收对应于左信道和右信道信号的指示采样信号相位的复数。Δt计算单元208通过路径268接收从频率计算单元212产生的指示当前振动流管基频的一个数值(Ω)。
为了更充分地利用可从各个信道得到的数据,每个半个窗长(按照如上方式确定的半个Hanning窗长)进行一次相位、频率和Δt计算。对于各个信道上经过滤波的离散采样输入值进行两种并行相位计算。两种并行计算中的每一种在经过滤波的离散采样值的每一个整窗长时间里完成一次。两种并行计算彼此之间错开一定时间,这个时间相当于等于Hanning窗的半个窗长采样值的数目。由于两种计算单元彼此错开半个Hanning窗窗长,两种并行计算中的每一种在每半个窗长时间内对每个信道完成一次计算。所以,在每半个窗长时间里完成一次对新的相位、频率和Δt的计算,并且用于质量流率的测量。
图2中所示的加权自适应单元210被分解成四个子单元来表示、就是SNR故障检测单元300、陷波滤波器加权计算单元302、增益向量计算单元304、和去偏置参数计算单元306。
SNR故障检测单元300接收由左信道陷波滤波器204产生并施加到路径206上的增强信号值(eL)以及未经滤波的采样值(nL)的噪声分量。SNR故障检测单元300判定增强信号值(eL)与未经滤波的采样值的噪声分量(nL)的能量比是否低于一个阈值。如果该信噪比低于预定的下限,它通常表示陷波滤波器没有收敛到振动流管的基频上。如果发现该信噪比不足,则通过路径350从SNR故障检测单元300的输出端产生并输出一个SNR故障信号。如下所述,加权自适应单元210中的其它计算单元利用施加到路径350中的SNR故障信号重新开始用于调整陷波滤波器和使陷波收敛到振动流管基频上的计算过程。下面参照图7详细介绍SNR故障检测单元300的精确计算过程和详细结构。
陷波滤波器加权计算单元302接收由左信道陷波滤波器204产生并通过路径260传输的未经滤波的采样值的噪声分量(nL)。单元302还接收由增益向量计算单元304产生并通过路径352传输的增益向量值(K-一个两元向量)。此外,单元302接收由去偏置参数计算单元306产生并通过路径354传输的更新的去偏置参数(α’)。然后陷波滤波器加权计算单元计算陷波滤波器加权(W)的更新值,并将它们通过路径258传输以便由陷波滤波器204和频率计算单元212使用。下面参照图6介绍陷波滤波器计算单元302的精确计算过程和详细结构。
增益向量计算单元304接收由左信道陷波滤波器204产生并通过路径260传输的梯度脉冲(Ψ)。单元304还接收由SNR故障检测单元300产生并通过路径350传输的SNR故障信号。此外,单元304接收由去偏置参数计算单元306产生并通过路径356传输的遗忘因数(λ)。然后增益向量计算单元304计算增益向量(K)的更新值,并将它们通过路径352传输以由陷波滤波器加权计算单元302使用。下面参照图5介绍增益向量计算单元304的精确计算过程和详细结构。
去偏置参数计算单元306接收由SNR故障检测单元300产生并通过路径350传输的SNR故障信号。然后去偏置参数计算单元306计算去偏置参数(α)的更新值,并将其通过路径258传输以由陷波滤波器204使用。去偏置参数计算单元306还计算一个更新的去偏置参数(α’),并将其通过路径354传输以由陷波滤波器计算单元302使用。此外,去偏置参数计算单元306计算一个更新的遗忘因数(λ),并将其通过路径356传输以由增益向量计算单元304使用。下面参照图8介绍去偏置参数计算单元306的精确计算过程和详细结构。
图2所示的频率计算单元212被分解成两个子单元来表示,即Goertzel滤波器加权计算单元308和半窗长系数传输管线310。
Goertzel滤波器加权计算单元308接收由加权自适应单元210确定并施加到路径258中的陷波滤波器加权。然后Goertzel滤波器加权计算单元308确定复数形式的Goertzel滤波器加权(B’),而且确定用离散采样信号值表示和包含在陷波滤波器加权中的流管传感器正弦输出信号的频率(Ω’)。如此确定的两种信号值都是在每个半窗长末尾计算的,如图2中时钟214通过路径274施加的半窗长信号所示。如此确定的Goertzel加权和频率施加到路径358中以由半窗系数传输管线310使用。下面参照图9介绍Goertzel滤波器加权计算单元308的精确计算和详细结构。
半窗系数传输管线310接收由Goertzel滤波器加权计算单元308按照上述方式计算出的Goertzel滤波器加权(B’)和频率(Ω’)。然后半窗系数传输管线310调整这些计算值(B’和Ω’)的时标以使它们与重叠半窗的两种并行计算中的一种相关联。下面参照图10介绍半窗系数传输管线310的精确计算过程和详细结构。
如上所述,图3中所示单元所进行的计算(以及下面所讨论的其它特征)最好是采用浮点算法进行以在很宽的数值精度范围内保持准确度。浮点运算功能可以由图20所示信号处理器2000中的硬件执行,或者可以由处理器2000利用软件集合函数模拟进行。对于本发明的各种应用来说,性能和成本因素将决定浮点硬件和软件之间的选择。第一实例实施例-陷波滤波器图4进一步详细表示图3所示自适应陷波滤波器204所执行的功能和计算。分别与左信道和右信道相关的两个自适应陷波滤波器204在结构上和所执行的运算方面是相同的。左信道自适应陷波滤波器204接收从路径254输入的抽选离散采样传感器信号值,并将经过滤波的结果输出到路径260中。右信道自适应陷波滤波器204接收从路径256输入的抽选离散采样传感器信号值,并将经过滤波的结果输出到路径262中。
自适应陷波滤波器204还通过路径258接收从图3所示的加权计算单元210输出的当前的加权(W,一个表示为W1、W2的两元向量)和去偏置参数(α)。自适应陷波滤波器204通过将去偏置参数从路径258传输到求积点446的两个输入端而产生去偏置参数的平方值(α2),其输出施加到路径488中。
图4所示自适应陷波滤波器204中用虚线框标记的一部分单元用于计算输入信号采样值的梯度(Ψ,表示为Ψ1,Ψ2的一个两元向量)。这样计算出的梯度值经路径260施加到左信道的自适应陷波滤波器204。图3中所示的加权自适应单元210利用这个梯度值计算从路径254接收的下一个采样值的更新的陷波滤波器加权。图4所示虚线框中的单元用于计算不被右信道自适应陷波滤波器204使用的梯度。
图4中所示自适应陷波滤波器204确定在离散采样输入值中存在的噪声。通过从输入信号值中减去噪声信号值得到增强的滤波信号值,并从路径260输出。自适应陷波滤波器203利用如下所述的一种二级滤波器多项式和矩阵算法确定增强信号值e(其中在下列方程中使用的变量(t)指示相对于采样周期“t”的变量值)x(t) 从路径254接收的输入信号值(对于右信道为256)A(t)=diag(α(t),α(t)2)去偏置对角矩阵W(t)=[W1(t),W2(t)]加权向量Y(t)=[y(t-1),y(t-2)]递归滤波器状态向量y(t)=x(t)+W(t)A(t)Y(t) 中间运算n(t)=y(t)-W(t)Y(t) 从输入信号x中分离的噪声信号e(t)=x(t)-n(t) 增强信号,输入信号x-噪声信号n图4所示伪电路以电路和计算单元的形式描述了这些方程。求和点400将路径254上(对于右信道为路径256)的输入信号值x与路径452上的中间运算值(如上所述表示为WAY)相加以产生上述的y=x+WAY,并施加到路径450中。路径450中的y值被输入到延迟电路408中,以将其延迟一个采样时钟周期(CLK),然后将其从路径460输出。路径460中已经被延迟一次的y值被输入到延迟电路436中以将其延迟第二个采样时钟周期(CLK),然后将其施加到路径468中。路径460中延迟一次的y值和路径468中延迟两次的y值表示上述的向量Y。
去偏置对角矩阵A由分别施加在路径258和488中的去偏置参数和它的平方(α和α2)构成。路径460和468上的向量Y分别通过求积点406和434与施加到路径258和488上的去偏置对角矩阵A相乘,以分别在路径458和470中产生AY。接着将这个乘积分别通过求积点404和432与加权向量W相乘,以分别在路径456和454上产生中间运算值。路径456和454上的这两个中间运算值分别传输到求和点402以便如上所述在路径452上产生标量值WAY。
路径460和468上的向量Y还分别通过求积点414和438与路径258上的加权向量W相乘,以便在路径464和466上产生中间运算值。路径464和466上的两个中间值通过求和点416相加以便在路径462上产生WY值。
求和点412将路径462上的WY值从路径450上的y值中减去以便在路径470上产生噪声值n=y-WY。在左信道的自适应陷波滤波器204中,这个值表示输入采样值x的噪声部分n被施加到路径260中以由图3所示的加权自适应单元210使用。
求和点410将路径470中的噪声值n从路径254(对于右信道为路径256)中的输入采样值x减去以便在路径260(对于右信道为路径262)中产生增强信号值e=x-n。如下所述,增强信号值被用于其后的相位计算单元206和加权自适应单元210中。
除了噪声值n、和增强信号值e,自适应陷波滤波器204还计算梯度向量Ψ,如路径260上的Ψ1和Ψ2。自适应陷波滤波器204利用下列的二级滤波器多项式和矩阵算法确定梯度向量ΨF(t)=[f(t-1),f(t-2)]T递归滤波器状态向量f(t)=n(t)+W(t)A(t)F(t)中间运算Ψ(t)=Y(t)-A(t)F(t) 梯度向量求和点418将在其输入路径470中的噪声值n与在其输入路径474中的中间计算值WAF相加,以在路径472中产生f=n+WAF。路径472中的f值输入到延迟电路420中以将其延迟一个采样时钟周期(CLK),然后从路径476输出。将路径476中已经延迟一次的f值输入到延迟电路430中以将其延迟第二个采样时钟周期(CLK),然后将其从路径484输出。路径476中经过一次延迟的f值和路径484中经过两次延迟的f值表示上述向量F。
路径476和484中的向量F分别通过求积点426和442与施加到路径258和488中的去偏置对角矩阵A相乘,以分别在路径478和486中产生AF。这个乘积又分别通过求积点424和440与施加到路径258中的加权向量W相乘,以分别在路径480和482中产生中间计算值。路径480和482中的这两个中间计算值分别被施加到求和点422中以在路径474中产生上述的标量值WAF。
通过求和点428和444将路径478和486中的中间乘积AF从路径460和468中的Y向量中减去,以产生梯度向量Ψ(Ψ1,Ψ2)=Y-AF,并将其施加到路径260中。图3所示加权自适应单元210利用路径260中的梯度向量计算更新的陷波滤波器加权。
左信道和右信道自适应陷波滤波器204都按上述方式工作。在右信道中无需进行路径206中梯度向量Ψ和噪声值n的计算,所以在右信道中可以略去一个计算步骤。加权计算单元210仅仅利用从左信道施加到路径260中的信号值来调整两个陷波滤波器204的加权。右信道中只有增强信号值e被使用,并施加到路径262中由相位计算单元206使用。第一示例实施例-加权自适应图3所示的加权自适应单元210接收由左信道的自适应陷波滤波器204产生并施加到路径260中的增强信号值eL、未经滤波的输入信号的噪声部分nL、和梯度Ψ。然后加权自适应单元210确定加权向量W和去偏置参数α,并将它们施加到路径258中以为将在自适应陷波滤波器204中处理的下一个离散采样值调整两个信道的陷波滤波器。为了使对加权自适应功能的描述简单化,将加权自适应单元210分解成四个子单元,每一个子单元执行总计算的一部分,亦即SNR故障检测单元300、陷波滤波器加权计算单元302、增益向量计算单元304、和去偏置参数计算单元306。
在图7中进一步详细表示的SNR故障检测单元300接收由左信道陷波滤波器204产生并施加到路径260中的增强信号值(eL)和未经滤波的采样值的噪声部分(nL)。SNR故障检测单元300判定增强信号值(eL)与未经滤波的采样值的噪声部分(nL)之间的能量比值是否低于上述的一个阈值。SNR故障检测单元300更加详细地表示在图7中。
图7中所示的SNR故障检测单元300通过将噪声信号能量相加和将消除噪声的信号能量相加,然后将两个值的比值与一个预定的阈值比较来确定信噪比。SNR故障检测单元通过路径260从左信道中接收增强信号值eL和噪声信号nL。
该噪声信号值被施加到求积点700的两个输入端以产生噪声信号的平方n2,并将其施加到路径750中。路径750中的n2值被施加到一个2∶1多路调制器704的一个输入端和求和点706的一个输入端。多路调制器704的输出通过路径758施加到寄存器712的输入端。当寄存器712由CLK采样时钟信号计时时,它存储输入的值。寄存器712中的当前值通过路径764输出到求和点706的另一个输入端。求和点706的求和结果通过路径754输出到多路调制器704的另一个输入端。在每半个窗长周期开始处,如在路径274中传输信号那样,多路调制器704选择接收路径750中的n2值的输入端,以重新开始对新的一个半窗长周期的噪声能量求和。对于在这个半窗长周期中的所有其它采样值,多路调制器704选择与路径754相连的输入端以积累噪声能量。对于半窗长周期中的每个采样值积累的噪声能量都累计在寄存器712中,并且当前累计的和值通过路径764施加到寄存器712的输出端。积累求和在每个新的半窗长周期重新开始。
通过求平方和累计从路径260接收的增强信号值,以相同方式积累消除噪声的信号能量。消除噪声的信号能量是由求积点702、求和点710、多路调制器708和寄存器714通过路径752、756、760和762按照与上述积累噪声能量相同方式的操作累计的。在采样值的各个半窗长周期积累的消除噪声的信号能量通过路径762施加到寄存器714的输出端。
计算单元716通过路径764接收积累的噪声能量并通过路径762接收积累的消除噪声的能量,并将这些值与预定的阈值比较。积累的消除噪声的能量值与积累的噪声能量值之间的比值就是信噪比。如果这个比值下降到低于一个预定的阈值,则表明检测到一种信噪比故障状态,并且将一个指示信号施加到计算单元716的输出端。
故障定时单元718通过路径766接收由计算单元716产生的故障状态信号和通过路径274接收半窗长信号。如果在输入路径766中检测到一个故障状态信号,故障定时单元718通过路径350将一个脉冲信号施加到SNRFAULT。路径350中的SNR故障信号由加权自适应单元210中的另一个子单元检测,以强制重新设置各种陷波参数计算。在将一个信号施加到SNRFAULT之后,故障定时单元718保持一个宽限时间,在这个时间里没有其它的信号通过路径350施加到SNR FAULT。设置这个宽限时间的目的是为了使陷波滤波器参数有一段时间重新收敛到振动流管的基频上。故障定时单元718还在电源接通初始化过程中保持一段宽限时间,以使陷波滤波器能够收敛到基频上。电源接通初始化过程中的这段宽限时间最好为大约100半窗长。在SNR FAULT检测之后的宽限时间最好大约为66半窗长。
在图6中更加详细表示的陷波滤波器加权计算单元302接收由左信道陷波滤波器204产生并施加到路径260中的未经滤波的采样值的噪声分量(nL)。单元302还接收由增益向量计算单元304产生并施加到路径352中的增益向量值(K)。此外,单元302接收由去偏置参数计算单元306产生并施加到路径354中的更新的去偏置参数(α’)。然后陷波滤波器加权计算单元302计算陷波滤波器加权(W)的更新值,并将它们施加到路径258中供陷波滤波器204和频率计算单元212使用。
陷波滤波器加权计算单元302利用下列的矩阵运算确定自适应陷波滤波器204的加权WW’(t)=W(t)+n(t)K(t)如果稳定,则采用更新的加权向量,否则为W’(t)=W(t) 如果不稳定,则不更新加权值求积点602和604将路径352中的增益向量K(K1,K2)与从路径260中接收的信号采样值的噪声分量相乘以在路径650和656中产生乘积nK。路径650中的乘积被施加到求和点606。输入到求和点606的另一个信号是路径652中的以前计算的加权W1。求和点606的输出为W1+nK1,并通过路径654施加到多路调制器616中正常选择的输入端。多路调制器616的输出通过路径670施加到多路调制器624中正常选择的输入端。这个输入值通常通过多路调制器624,经由输出路径674传输到延迟电路620的输入端,并且作为下一个更新值W1’(其中Wx’表示用于下一个接收的采样值的加权Wx)传输到总线258中以用于单元308的Goertzel加权值的计算中。经过延迟电路620延迟一次的系数(W1)被作为陷波滤波器204所用的加权W1施加到总线258中。与路径676相连的、通常未被选择的多路调制器624的输入端由一个系统RESET信号选择以施加零值作为W1加权值的初始值。
路径656中的部分乘积被施加到求和点608。求和点608的另一个输入信号是路径666中的以前计算的加权值W2。求和点608的输出为W2+nK2,并通过路径660施加到多路调制器618的通常选择的输入端。多路调制器618的输出通过路径672施加到多路调制器626中通常选择的输入端。这个输入值通常通过多路调制器626经由输出路径676传输到延迟电路622的输入端,并且作为用于单元308的Goertzel加权计算中的下一个W2’更新值施加到总线258中。经过延迟电路622一次延迟的系数(W2)作为陷波滤波器204所用的W2施加到总线258中。与路径678相连的、多路调制器626的通常不选择的输入端用一个系统RESET信号选择以施加一个负1值(-1)作为加权W2的初始值。
求积点600从与两个输入端相连的路径354接收更新的去偏置参数α’(其中α’表示用于下一个接收的采样值的α值),并在它的输出路径658中产生平方值α’2。求积点610接收路径354中的去偏置参数α’作为一个输入值并接收路径654中的更新值W1作为另一个输入值,并在其输出端662产生乘积α’W1。求积点612接收路径658中的去偏置参数的平方α’2作为一个输入值并接收路径660中的更新加权值W2作为另一个输入值,并在其输出端664产生乘积α’2W2。稳定性测试单元614接收路径662中的第一参数X=α’W1和路径664中的第二参数Y=α’2W2。稳定性测试单元614评估X和Y参数,如果测试条件得到满足,则产生一个输出1信号。如果,而且仅仅如果|Y|<1和|X|<(1-Y)稳定性测试输出一个1信号。这一测试约束陷波滤波器在单位周期中的极点以确保陷波滤波器204的稳定性,从而保证了最终的质量流量测量结果的有效性。稳定性测试单元614的输出通过路径668施加到多路调制器616和618的选定输入端。多路调制器616和618的通常不选择的输入端分别接收以前计算的W1和W2值。如果这个更新的陷波滤波器加权使得单元614进行的稳定性测试失败,则由测试单元614在其输出路径668中产生一个零输出信号。多路调制器616和618响应路径668中的零输出信号分别将它们各自的路径652和666上的通常不选择的输入端的输入值分别施加到它们的输出路径670和672,从而使以前计算的相应系数值重新用于将要进行处理的下一个采样值。换句话说,只要稳定性测试单元614指示计算不稳定,则加权向量仍保持其最后一个稳定的计算值。这种测试消除了与不稳定的陷波滤波器加权计算相关的数值问题,还有助于当陷波滤波器收敛在振动流管的基频变化范围时产生的短暂的不稳定时间里防止产生非常错误的流率计算。
图5中进一步详细表示的增益向量计算单元304接收由左信道陷渡滤波器204产生并施加到路径260中的梯度(Ψ)。单元304还接收由SNR故障检测单元300产生并施加到路径350中的SNR FAULT信号。此外,单元304接收由去偏置参数计算单元306产生并施加到路径356中的遗忘因数(λ)。然后增益向量计算单元304计算增益向量(K)的更新值,并将它们施加到路径352中供陷波滤波器加权计算单元302使用。
图5中进一步详细表示的增益向量计算单元304接收路径260中的梯度向量(Ψ)、路径356中的遗忘因数(λ)和路径350中的SNR FAULT信号,计算增益向量(K1,K2)并将计算出的增益向量施加到路径352中供进一步处理。图5中所示的计算单元一般对它们的各个输入值进行矩阵运算以产生一个输出的标量计算值或向量。增益向量计算单元304利用下列的矩阵运算确定增益向量KK(t)=QT(t)/(λ(t)+Ψ(t)TQ(t)) 更新的增益向量Q(t)=P(t)Ψ(t) 中间计算向量P’(t)=(P(t)-Q(t)K(t))/λ(t) 下一个协方差矩阵计算单元500通过路径260接收梯度向量Ψ并通过路径552从延迟电路514中接收当前的协方差矩阵(P)。从图5中可见,载有表示协方差矩阵(P)的信号的路径中有三个信号。这表示2×2协方差矩阵的对称性。这个2×2协方差矩阵(P)的两个非对角阵元总是相等的。所以在实施本发明时仅仅需要表示三个值(不管是在图5所示的伪电路中,还是在DSP软件优选实施例中)。然后计算单元500计算中间乘积Q=PΨ并将Q值施加到路径550中。计算单元502接收路径550中的中间Q向量、路径260中的梯度向量Ψ、和路径356中的遗忘因数λ,计算增益向量K(K1,K2),并将增益向量施加到路径352中以进一步进行处理。
单元504接收路径552中的当前协方差矩阵的当前值、路径352中的当前增益向量K、路径550中的当前Q向量,计算一个新的协方差矩阵P’=(P-QK)/λ,并将新的协方差矩阵P’施加到路径554中用作处理所接收的下一个采样值时的协方差矩阵P。当出现一个系统复位信号或者当检测到SNR FAULT状态时,利用多路调制器508和512重新设置单元504进行的运算。多路调制器508通常将在它的输入路径554中的这个新协方差矩阵施加到它的输出路径558中。当一个SNR FAULT信号被施加到路径350中时,多路调制器508选择它的另一个输入路径556以将一个初始矩阵值(PSNR)施加到它的输出路径558中。多路调制器512通常将在它的输入路径558中的值施加到它的输出路径562中作为延迟寄存器514的输入值。如果施加了一个系统复位信号,多路调制器512选择它的另一个输入路径560以将一个初始矩阵值(PINIT)施加到它的输出路径562中。换句话说,如果检测到一个系统复位信号或者一个SNR FAULT状态,则重新设置协方差矩阵计算。否则,下一个协方差矩阵(用于接收的下一个采样值的矩阵P’)的计算值为施加到路径554中通过多路调制器508和512到达路径562中的以前的协方差矩阵(P)的函数。在接收到下一个采样值进行处理例如由一个CLK脉冲进行信号调制之前,延迟电路514延迟将其输入值施加到路径562中,然后将它的存储值施加到它的输出路径552中作为协方差计算单元504的输入值。
图8中更加详细表示的去偏置参数计算单元306接收由SNR故障检测单元300产生并施加到路径350中的SNR FAULT信号。然后去偏置参数计算单元306计算去偏置参数(α)的更新值,并将其施加到路径258中以由陷波滤波器204使用。去偏置参数计算单元306还计算用于下一个采样值的更新的去偏置参数(α’),并将其施加到路径354中供陷波滤波器加权计算单元302使用。此外,去偏置参数计算单元306计算一个更新的遗忘因数(λ),并将其施加到路径356中以供增益向量计算单元304使用。
去偏置参数计算单元306按照如下运算确定去偏置参数和遗忘因数α’(t)=α(t)αDECAY+αADDER更新的去偏置参数计算λ(t)=λ’(t-1)λDECAY+λADDER更新的遗忘因数计算寄存器800、802、804和806中分别包含用于遗忘因数λ计算中的数值。2∶1多路调制器818从路径356接收一个输入值,在所说路径中施加有先前的遗忘因数λ。通常选择多路调制器818将这个值经由输出路径872传输到2∶1多路调制器820的一个输入端。通常选择多路调制器820将这个值经由输出路径874传输到寄存器826的输入端。寄存器826中包含这个先前的遗忘因数λ,直到它的时钟线由CLK信号脉冲调制。寄存器826中的这个值施加到其输出端,并经由路径858传输到求积点828的一个输入端。求积点828的另一个输入端是路径852,它接收存储在寄存器802中的λDECAY值。求积点828所得乘积λ·λDECAY被施加到它的输出路径860和求和点830的一个输入端。求和点830的另一个输入端是路径850,它接收存储在寄存器800中的λADDER值。求和点830所得和值作为更新的遗忘因数λ=λ·λDECAY+λADDER被施加到路径356中。
当将SNR FAULT信号施加到路径350中时,多路调制器818选择它在路径854中的输入端,该输入端接收存储在寄存器804中的λSNR值。然后将这个值施加到多路调制器818的输出路径872中并替代通常选择用于下一个值的正常计算的先前的遗忘因数。如上所述,无论何时检测到SNRFAULT状态,这个预先确定的值就重新设置路径356中遗忘因数λ的计算。这个预先确定的遗忘因数重新开始自适应陷波滤波器的计算以强制使之收敛到振动流管的基频上。
当一个系统宽RESET信号施加到多路调制器820时,该多路调制器选择它在路径856上的输入端,它接收存储在寄存器806中的λINIT值。然后将这个值施加到多路调制器820的输出路径874,并替代用于下一个值的正常计算的过去的遗忘因数。这个预先确定的遗忘因数开始自适应陷波滤波器的计算以强制使之收敛到振动流管的基频上。
寄存器808、810、812和832均包含用于去偏置参数α的计算的数值。2∶1多路调制器834从路径354接收一个输入值,在路径354中施加有先前的去偏置参数α。通常选择多路调制器834将这个值施加到输出路径878中并传输到多路调制器814的输入端。接着,通常选择多路调制器814将这个值传输到输出路径868中并施加到寄存器816的输入端。寄存器816保存去偏置参数α的这个过去值,直到它的时钟线由CLK信号脉冲调制。寄存器816中的值被施加到它在路径258上的输出端,并传输到图3所示求积点822的一个输入端和自适应陷波滤波器204中。多路调制器822的另一个输入端是路径864,它接收存储在寄存器810中的αDECAY值。求积点822所得乘积α·αDECAY被施加到它的输出路径866和求和点824的一个输入端。求和点824的另一个输入端是路径862,它接收存储在寄存器808中的αADDER值。求和点824所得和值被作为更新的去偏置参数α’=α·αDECAY+αADDER施加到路径354中。
当SNR FAULT信号施加到路径350中时,多路调制器834选择它在路径876上的输入端,其接收存储在寄存器832中的αSNR值。然后将这个值施加到多路调制器834的输出路径878中并替代通常用于下一个值的正常计算的先前的去偏置参数。如上所述,无论何时检测到SNR FAULT状态,这个预先确定的值重新设置路径354中去偏置参数α的计算。这个预先确定的去偏置参数重新开始自适应陷波滤波器的计算以强制使之收敛到振动流管的基频上。
当一个系统宽RESET信号施加到多路调制器814时,该多路调制器选择它在路径870上的输入端,它接收存储在寄存器812中的αINIT值。然后将这个值施加到多路调制器814的输出路径868,并替代用于下一个值的正常计算的先前的去偏置参数值。这个预先确定的去偏置参数开始自适应陷波滤波器的计算以强制使之收敛到振动流管的基频上。第一示例实施例-频率计算图3所示的频率计算单元212被分解成两个子单元,即Goertzel滤波器加权计算单元308和半窗系数传输管线310。
图9中更加详细表示的Goertzel滤波器加权计算单元308接收由加权计算单元210的运算确定并施加到路径258中的陷波滤波器加权。然后Goertzel滤波器加权计算单元308确定复数形式的Goertzel滤波器加权(B’),并确定流管传感器正弦输出信号的频率(Ω’),这个正弦输出信号由离散采样信号值表示并包含在陷波滤波器加权中。如由图2中时钟214施加到路径274中的半窗长信号所示,如此确定的两个值都是在每个半窗长周期末尾计算出的。如此确定的Goertzel加权和频率被施加到路径358中以由半窗系数传输管线310使用。
求和点900接收从路径258输入的下一个陷波滤波器加权W1’,并从路径966接收寄存器916的输出作为另一个输入值。所产生的和值施加到路径950并作为2∶1多路调制器904的输入。多路调制器904的另一个输入值为总线258中的下一个加权值(W1’)。通常选择多路调制器904将路径950中的这个和值从其输入端输入,并将这个值从其输出端施加到路径954中。通常选择2∶1多路调制器912使在其输入路径954中的这个值通过多路调制器传输到它的输出路径962中。路径962中的这个值被作为一个输入值施加到寄存器916中,这个值在采样时钟CLK的每个脉冲加载。存储在寄存器916中的当前值是如上所述的加权(W1’)的累计和。在一个新的半窗长周期开始时,图2中时钟214将一个信号施加到路径274中的半窗中。在一个半窗长周期开始时,多路调制器904被改变一个周期以便从路径258中选择它的另一个输入值,从而重新开始对所接收加权的新的累计。在电源接通初始化过程中,一个系统宽RESET信号施加到多路调制器912中以使其从接收零(0)加权初始值的路径958中选择它的输入值。从而开始对从路径258中所接收的加权的新的累计。
求和点902从路径258接收作为一个输入值的陷波滤波器加权W2’,并从路径968接收寄存器918的输出作为另一个输入值。所产生的和值被施加到路径952中作为2∶1多路调制器906的一个输入值。多路调制器906的另一个输入值是总线258中的下一个加权(W2’)。通常选择多路调制器906使从其输入端输入的路径952中的这个和值从中通过,并将这个值施加到它的输出路径956中。通常选择2∶1多路调制器914使在其输入路径956中的这个值从中通过,并施加到它的输出路径964中。路径964中的这个值作为一个输入值施加到寄存器918中,这个值由各个采样时钟信号CLK的脉冲加载。存储在寄存器918中的当前值是如上所述的加权(W2’)的累计。在一个新的半窗长周期开始时,图2所示时钟214将一个信号施加到路径274的半窗中。在一个半窗长周期开始时,多路调制器906被改变一个周期以便从路径258中选择它的另一个输入值,从而开始对所接收的加权的新的累计。在电源接通初始化过程中,将一个系统宽RESET信号施加到多路调制器914中以使其从接收负一(-1)初始加权值的路径960中选择它的输入值。从而开始对从路径258中所接收的加权的新的累计。
在路径258中接收的加权(W1’)的和值通过路径966施加到计算单元920的X输入端。从路径258中接收的加权(W2’)的和值通过路径968施加到计算单元920的Y输入端。计算单元920计算出Goertzel滤波器加权(B’0)的实部为
B’0=X/(2sqrt(-YN))如上所述,其中X和Y为单元920的输入端,N为在一个半窗长周期中采样值的数目。更具体地说,滤波器加权的实部等于B’0=avg(W1’)/(2sqrt(-avg(W2’)))其中avg(x)为x在前一个半窗长周期采样的平均值。由计算单元920计算出的Goertzel滤波器加权(B’0)的实部被输出到路径358中供下面所述的半窗系数传输管线310使用。Goertzel滤波器加权的实部还施加到计算单元922的X输入端,在这里计算出Goertzel滤波器加权(B’1)的虚部B’1=sqrt(1-X2)其中X是上面计算出的滤波器加权的实部。由计算单元922计算出的Goertzel滤波器加权(B’1)的虚部被施加到路径358中供下面所述的半窗系数传输管线310使用。此外,Goertzel滤波器加权的实部被施加到计算单元924的X输入端,由其计算振动流管的基频Ω’=cos-1X其中X为如上计算的滤波器加权的实部。由计算单元924计算出的基频(Ω’)被施加到路径358中供如下所述的半窗系数传输管线310使用。
可以指出,当计算单元920、922和924各自的输入值在一定的适合范围之外时,它们的计算结果是不确定的。这些计算的输出值仅仅用于Hanning窗口的边界处,在这个时刻,可以确保这些输入值适合于各种计算。因此,图9示意图所表示的这些不确定的计算结果实际上没有什么关联。在陷波滤波器的某些误差状态下,这些计算结果在半窗边界处可能是无效的。但是,如上所述在几个半窗周期内检测到并校正这种滤波器误差。实际上,这些误差对于Goertzel滤波器加权计算的影响可以忽略。在本发明的生产应用中,这样一种状态可以检测到并加以标记以指示流量测量值暂时是无用的。如上所述,图9所示的伪电路仅仅用于帮助理解本发明的方法以及相关的运算。
在图10中更加详细表示的半窗系数传输管线310接收如上所述由Goertzel滤波器加权计算单元308计算出的Goertzel滤波器加权(B’=B’0,B’1)和频率(Ω’)。由单元308的运算计算出的这些值对应于用于计算加权和频率的半窗周期采样值。然后半窗系数传输管线310调整计算值(B’和Ω’)的时标以使它们与用于重叠半窗的两种并行相位计算中的一种相关。使用Goertzel滤波器计算每个采样值半窗周期的开窗DTFT。但是,计算开窗DTFT要求对采样值的求和在一个完整窗长中完成。所以,如在本申请其它部分所述,使用两个Goertzel滤波器进行并行计算。第一个滤波器进行第一个半窗长所需计算。当第一个半窗长计算完成时,必须开始新的滤波器计算,第一个滤波器的状态传输给第二个滤波器,于是第二个滤波器完成第二个半窗长中的滤波计算。按照这种方式,可以在每个半窗长边界完成完整的窗口计算。半窗系数传输管线310使全窗滤波器加权计算与计算中相关的半窗传输管线部分一致,从而使第一半窗和第二半窗采用相同的全窗滤波器加权进行累计。
延迟电路1000、1002、1004、1010、1012和1014将从它们各自的输入端的值利用各自的时钟输入线延迟一个脉冲之后施加到它们各自的输出端。每个延迟电路1000、1002、1004、1010、1012、和1014以及多路调制器1006、1008、1016、和1018从路径1062中的与门1020(标记为“X”)的输出端接收它们各自的输入时钟脉冲或选择信号。与门1020接收采样时钟脉冲作为一个输入值,而将路径274中的半窗信号作为它的另一个输入值。在每个半窗长周期开始时,各个寄存器中的值用从与它们各自输入端相连的总线中接收的输入值写入。这一写入操作是与在半窗开始时的CLK脉冲同步的。Goertzel滤波器加权B’0通过路径358施加到延迟电路1000的输入端和多路调制器1006的一个输入端(通常不被选择)。经过一次延迟的Goertzel滤波器加权B’0通过路径1050施加到多路调制器1006的另一个输入端(通常被选择)、延迟电路1010的输入端和多路调制器1016的一个输入端(通常不被选择)。经过一次延迟的Goertzel滤波器加权B’0通过多路调制器1006施加到路径268中,作为由相位计算单元206利用对应于以下参照图11进一步详述的两种并行半窗长相位计算中的第一种进行进一步处理的Goertzel滤波器加权B01。经过两次延迟的Goertzel滤波器加权B’0通过路径1056施加到多路调制器1016的另一个输入端(通常选择的)。经过两次延迟的Goertzel滤波器加权B’0通过多路调制器1016施加到路径268中,作为由相位计算单元206利用对应于以下参照图11进一步详述的两种并行半窗长相位计算中的第二种进行进一步处理的Goertzel滤波器加权B02。当半窗信号施加到路径274中(在图10中还标记为“A”)时,选择多路调制器1006将其输入路径358中的信号施加到路径268中,以作为Goertzel滤波器加权B01进行进一步处理,这个信号是输入路径358中输入信号B’0的未经延迟的拷贝。同样,当将半窗信号施加到路径274中时(在图10中还标记为“A”),选择多路调制器1016将其输入路径1050中的信号施加到路径268中,以作为Goertzel滤波器加权B02进行进一步处理,这个信号是输入路径358中输入信号B’0的经一次延迟的拷贝。
Goertzel滤波器加权B’1通过路径358施加到延迟电路1002的输入端和多路调制器1008的一个输入端(通常不被选择的)。经过一次延迟的Goertzel滤波器加权B’1通过路径1052施加到多路调制器1008的另一个输入端(通常选择的)、延迟电路1012的输入端和多路调制器1018的一个输入端。经过一次延迟的Goetzel滤波器加权B’1通过多路调制器1008施加到路径268中,作为由相位计算单元206利用对应于下面参照图11进一步详述的两种并行半窗相位计算中的第一种进行进一步处理的Goertzel滤波器加权B11。经过两次延迟的Goertzel滤波器加权B’1通过路径1058施加到多路调制器1018的另一个输入端(通常选择的)。经过两次延迟的Goertzel滤波器加权B’1通过多路调制器1018施加到路径268中,作为由相位计算单元206利用对应于下面参照图11进一步详述的两种并行半窗相位计算中的第二种进行进一步处理的Goertzel滤波器加权B12。当半窗信号施加到路径274中时(在图10中还标记为“A”),选择多路调制器1008将在其输入路径358中的信号施加到路径268中,作为Goertzel滤波器加权B11进行进一步处理,这个信号是输入路径358中输入值B’1的未经延迟的拷贝。同样,当将半窗信号施加到路径274中时(在图10中还标记为“A”),选择多路调制器1018将在其输入路径1052中的信号施加到路径268中,作为Goertzel滤波器加权B12进行进一步处理,这个值是输入路径358中输入值B’1的一个一次延迟拷贝。
基频Ω’通过路径358施加到延迟电路1004的输入端。经过一次延迟的基频Ω’通过路径1054施加到延迟电路1014的输入端。延迟电路1014将经过两次延迟的基频Ω’施加到路径268中,作为由Δt计算单元进一步处理的频率Ω。第一示例实施例-相位计算图11中更加详细表示的相位计算单元206处理经过滤波的离散采样值以产生一个指示经过滤波的传感器输出信号采样值的相位的复数。这个复数被施加到路径266中(以及由左信道的相位计算单元206施加到路径264中)以用于其后的Δt计算。具体地说,对左右信道中经过滤波的传感器输出信号离散采样值的每个Hanning窗口进行Goertzel滤波器富里叶变换。Goertzel滤波器的系数由频率计算单元212确定,并通过路径268传输到相位计算单元206中。相位计算单元206的复数输出被施加到路径266中(以及由左信道的相位计算单元206施加到路径264中),并用于Δt计算。
为了更加有效地利用可用的采样数据,并行进行两种计算,第一种计算对采样数据的每个窗口进行,第二种计算对开始于比第一种并行计算迟一个采样半窗长的采样数据的各个窗口进行。在每个半窗长周期边界,将一个窗口的第一个半窗的部分富里叶和值从第一并行计算单元进行转换以开始第二种部分计算。同时,将第二并行计算单元中已经完成的计算,其值表示前一个全窗周期采样值的复数相位值,变换到其后的Δt计算。
单元1100和1102从路径272中接收在当前半窗(SAMPNO)中的当前采样值数目,并将相应的预先计算的加权值施加到它们的输出路径(分别为1150和1152)。从利用该SAMPNO索引值索引的一个向量(WINDOW)中检索加权值。单元1102将值N(Hanning窗长的一半)与从路径272接收的用于在WINDOW向量中提供索引的SAMPNO值相加,以利用对应于Hanning窗口半窗长的一组采样值对这些加权值线路补偿。路径1150和1152中的加权值分别被施加到求积点1104和1106的一个输入端。求积点1104和1106的另一个输入值是路径260(或右信道的路径262)中的下一个增强的信号值(e)。求积点1104和1106将它们的求积结果(Hanning窗加权增强采样值)分别施加到输出路径1154和1156中,分别作为计算单元1108和1110的输入值。
计算单元1108和1110分别将一个Goertzel滤波器应用于加权采样值以构成表示采样信号值相位的一个复数。利用在采样值的一个半窗长期间内施加到CLK路径中的各个脉冲采样时钟信号对这些加权采样值进行处理。计算单元1108接收路径1154中的加权采样值(wsamp),接收路径268中第一个半窗的Goertzel滤波器系数(B01,B11),接收路径1158中的前一个滤波器状态值,并计算复数和形式的新滤波器状态值Y’=wsamp+BY。新状态值在施加于CLK路径的下一个时钟脉冲被施加到输出路径1162中。计算单元1110接收路径1156中的加权采样值(wsamp),接收路径268中第二半窗的Goertzel滤波器系数(B02,B12),接收路径1160中的前一个滤波器状态值,并计算复数和形式的新滤波器状态值Y’=wsamp+BY。新滤波器状态值作为RL,QL值施加到输出路径264中(对于对于左信道,对于右信道是作为RR,QR施加到路径266中)。在CLK信号的每一个脉冲出现时,表示处理了一个的新采样值,计算单元1108和1110进行它们各自的计算。单元1108和1110的新计算值(Y’)分别被施加到其输出路径1162和264中(对于右信道为266),由下一个采样周期的时钟脉冲(CLK)负载。加以时钟标记的输出值分别通过路径1162和264施加到多路调制器1112和1114各自的通常选择的零输入端。多路调制器1112和1114将它们各自的通常选择的输入值施加到它们各自的输出端1158和1160,进而施加到单元1108和1110的Y输入端,以用于下一个Goertzel滤波器计算。
在接收到路径274中经过脉冲调制的半窗信号时,计算单元1108和1110都在下一个半窗长周期中重新开始Goertzel滤波。通常选择多路调制器1112将在其输入路径1162中的复数值作为在当前半窗长周期中计算单元1108的当前值施加到其输出路径1158中。在半窗长周期开始时(前一个半窗长周期结束时),施加到路径274中的这个半窗信号选择多路调制器1112将在其输入路径1164中的一个零值施加到其输出路径1158中。这重新设置了第一计算单元1108中的滤波器使其开始一个新的半窗长周期。通常选择多路调制器1114将在其输入路径264(对于右信道为路径266)中的这个复数值作为计算单元1110在当前半窗长周期中的状态值施加到其输出路径1160中。在半窗长周期开始时,施加到路径274的半窗信号选择多路调制器1114将在其输入路径1162中的前一个半窗长周期的滤波器状态,作为单元1108的当前输出值计算出的,施加到其输出路径1160中。这使得计算单元1110利用由单元1108在前一个半窗长周期计算出的部分Goertzel结果开始一个新的半窗长周期。换句话说,计算单元1108处理每个全采样窗的第一个半窗,与此同时,单元1110处理第二个半窗,并将其与第一个半窗结合以产生指示在前一个全采样窗长的每个半窗周期中相位的一个复数。在每个半窗边界,在总线264(对于右信道为266)上产生一个完全的相位计算结果,该结果表示前一个全采样窗周期的相位。如上所述,在每个半窗边界,半窗系数传输管线310将第一半窗并行计算单元1108的Goertzel滤波器系数(B01,B11)转换为用于第二半窗并行计算单元1110的系数(B02,B12)。这确保了将相同的Goertzel滤波器加权施加到第一半窗并行部分计算中以及相应的第二半窗并行部分计算中。第一示例实施例-Δt计算图12中详细表示的Δt计算单元208接收由相位计算单元206确定的并施加到左信道的路径264中和右信道的路径266中左右信道的相位信息。频率信息由频率计算单元212确定,由Δt计算单元208通过路径268接收。Δt计算单元208确定由于左右流管传感器输出信号的之间的相位差产生的两个正弦采样信号之间的时间差。该Δt值基本正比于通过科里奥利流量计的流管的物质的质量流率。利用在本领域中众所周知的其它因素校正计算出的质量流率以调整温度变化和其它参数变化。
左信道的富里叶变换与右信道的富里叶变换共轭相乘。然后计算该复数值的角度。这个相位差除以振动流管的频率得出Δt值。
通过路径264从左信道相位计算单元206接收左信道相位值的实部和虚部(分别为RL,QL)。通过路径266从右信道相位计算单元206接收右信道相位值的实部和虚部(分别为RR,QR)。求积点1200通过路径264接收RL和通过路径266接收RR作为输入值以产生乘积RLRR,并将该乘积施加到路径1250中。求积点1202通过路径264接收QL和通过路径266接收QR作为输入值以产生乘积QLQR,并将乘积施加到路径1252中。求积点1204通过路径264接收QL和通过路径266接收RR作为输入值以产生乘积QLRR,并将乘积施加到路径1254中。求积点1206通过路径264接收RL和通过路径266接收QR作为输入值以产生乘积RLQR,并将乘积施加到路径1256中。
求和点1208通过路径1250接收乘积RLRR和通过路径1252接收乘积QLQR以产生和值RLRR+QLQR,并将该和值通过路径1268施加到计算单元1212的X输入端。求和点1210通过路径1254接收乘积QLRR和通过路径1256接收乘积RLQR以产生和值QLRR-RLQR,并将该和值通过路径1270施加到计算单元1212的Y输入端。
计算单元1212从路径1268接收其X输入值和从路径1270接收其Y输入值,并根据由其X和Y输入值表示的复数(X+iY)(即ARG(X+iY))的幅角(相位)确定左信道流管传感器的正弦信号与右信道流管传感器的正弦信号之间的相位差角。由计算单元1212按照上述方式计算出的这个相位差角通过路径1258施加到计算单元1214的X输入端。由图3所示频率计算单元212计算出的频率(Ω)通过路径268施加到计算单元1214的Y输入端。然后计算单元1214计算比值X/Y(相位差/频率),并将所计算出的比值施加到其输出路径1260中。求积点1218从路径1260在一个输入端接收该计算出的比值,并从路径1262接收存储在寄存器1216中表示固定采样周期(采样频率的倒数)的N值。求积点1218的两个输入值的乘积是Δt,并通过路径1264施加到寄存器1222的输入端。当由路径1266中的一个脉冲计时时,寄存器1222将从其输入端输入的当前值写入。与门1220接收从一个输入端输入的采样频率时钟信号CLK和从另一个输入端输入的指示一个新的半窗采样周期开始的半窗信号。与门1220的输出是与由图2所示时钟214产生的采样频率时钟脉冲信号CLK同步的半窗信号脉冲。存储在寄存器1222中的Δt值表示流经流量计的物质的质量流率,被施加到路径294中供质量流量计算单元290使用。如在本领域中众所周知的,Δt值仅仅是基本正比于流管中的质量流率。质量流量计算单元290校正Δt值以产生质量流率,并通过路径155传输到图2所示的应用装置中。单元290执行相应的校正和定标以补偿温度影响和其它环境因素造成的误差。
上述的实施例利用一组常数重新设置与陷波滤波器相关的计算。在误差状态下对去偏置参数(α)、遗忘因数(λ)、和协方差矩阵(P)都重新设置以重新开始使陷波滤波器参数适应基频变化的计算处理。如上所述对去偏置参数(α)和遗忘因数(λ)进行调整和初始化。本领域中普通技术人员应当认识到,这些值可以适合于任何具体的流管和环境参数。可以将这些常数的有用值作为振动流管的期望标称基频(freq)的函数按照下列公式计算出来αINIT=0.90freq/100,αLIMIT=0.98freq/100,αDECAY=0.999freq/100,αSNR=0.95ferq/100;λINIT=0.95freq/100,λLIMIT=0.995freq/100,λDECAY=0.99freq/100,λSNR=0.97freq/100;αADDER=αLIMIT(1-αDECAY),λADDER=λLIMIT(1-λDECAY)在上述各种条件下按照下列公式初始化协方差矩阵(P)PINIT=10-2IPSNR=10-4I
其中“I”为单位矩阵。第二示例实施例(已知最佳方式)目前已知实施本发明的最佳方式作为本发明方法的第二实施例表示在图13-16中。与上述第一实施例一样,利用自适应陷波滤波器增强用左右信道的抽选采样值表示并分别施加到路径254和256中的信号。在该第二实施例中采用了四个自适应陷波滤波器,在左右信道中分别串联两个。左右信道中的各两个滤波器是“级联的”,因为第一个滤波器利用一个低Q值(宽陷波)滤波器以具有有限的信号增强作用,但是具有迅速收敛到振动流管基频变化范围的能力。然后将第一级联陷波滤波器的信号输出施加到第二级联陷波滤波器。第二陷波滤波器利用一个高Q值(窄陷波)滤波器以提供优于现有技术或者上述第一实施例的消除噪声和谐波的能力。虽然第二陷波滤波器具有窄陷波(高Q值),但是它仍然可以迅速地适应振动流管基频由于第一陷波滤波器所进行的有限增强(滤波)而产生的变化。在施加到第二陷波滤波器的信号中减少的噪声和谐波量使之仍然可以迅速地收敛到振动流管的基频变化范围上。
利用所具有的陷波形状比第一级联陷波滤波器的陷波形状更宽的一个辅助陷波滤波器提供对于振动流管的基频的估算。加权适应计算中使用这个估算值设置左右信道的第一级联陷波滤波器的频率参数。加权适应计算使用第二级联陷波滤波器的输出调整第二级联陷波滤波器的频率参数。
上面讨论的第一实施例试图平衡陷波的宽度以提供具有较好信号增强作用的窄陷波(高Q值),同时通过使用一个宽陷波(低Q值)使之迅速收敛到振动流管基频的变化上。在试图平衡陷波滤波器的这些特性过程中,在每个采样周期改善了去偏置参数(α)以调整下一个采样信号值的陷波宽度。第二实施例使用了在固定陷波形状范围(固定Q值)内的一组陷波滤波器以提供满足迅速跟踪频率变化和卓越的噪声去除两方面要求的一种最佳技术方案。该第二实施例由于三个原因具有比第一实施例更好的准确性和可重复性。首先,第二级联陷波滤波器保持稳定在一个固定的窄陷波形状范围内(高Q值)以具有卓越的噪声和谐波去除特性。这种改进的噪声去除与其它方案相比提高了准确度。其次,级联滤波器对于振动流管的基频变换跟踪特性的改善提高了采样信号值增强的可重复性。第三,级联陷波滤波器为其后在单元208中进行的Δt计算提供了对于流管频率更加准确的估算。
这些改进是以增加计算复杂程度为代价得到的。第二实施例的各个计算单元在一定程度上比第一实施例简单(标量运算与矩阵运算相比)。但是,该第二实施例通过应用五个陷波滤波器和对每个采样值进行两种加权自适应计算增加了总的计算复杂程度。虽然在一定程度上运算更加复杂,但是该第二实施例仍适合于市场上可以买到的数字信号处理器的运算能力。第二示例实施例-概述图13分解了图2所示的各个单元以更加详细地表示与图2所示计算单元之间信息流动有关的内容。计算单元1300是第一级联自适应陷波滤波器。左信道第一级联自适应陷波滤波器1300从路径254(图2中)接收抽选输入的传感器输出信号采样值。陷波滤波器传递函数的加权系数(θ(t))是通过路径1360从加权自适应单元1302接收的。决定陷波形状的去偏置参数(α1)是通过路径1364从寄存器文件1306(也标记为“E”)中接收的。右信道第一级联自适应陷波滤波器1300从路径256(图2中)中接收抽选输入的传感器输出信号采样值,但是其它方面的工作方式与左信道第一级联自适应陷波滤波器1300相同。左右信道中的第一级联自适应陷波滤波器通过路径1360从加权自适应单元1302接收相同的自适应参数(θ(t))和通过路径1364从寄存器文件1306中接收相同的去偏置参数(α1)。
辅助自适应陷波滤波器1308通过路径254从左信道接收抽选的信号采样值。这个陷波滤波器通过路径1364从寄存器文件1306中接收去偏置参数(α0)。该去偏置参数(α0)限定了一个宽陷波(低Q值)以使这个陷波滤波器能够迅速跟踪振动流管基频的变化。这个陷波滤波器的增强输出信号是没有用的(该滤波器由于具有宽陷波形状只能产生非常小的增强作用)。而误差因数(n)和梯度(Ψ)作为输出产生,并通过路径1358施加到加权自适应单元1302以用于计算加权参数(θ(t-1)和θ(t))。加权自适应单元1302将新计算出的加权参数(θ(t-1)和θ(t))通过路径1360施加到陷波滤波器1300和1308以准备接收下一个抽选采样值。
由左右信道的陷波滤波器1300处理的各个抽选采样输入值的增强信号值分别作为左右信道的yL和yR信号通过路径1350和1352施加到一个对应的第二级联陷波滤波器1310。第二级联陷波滤波器1310通过路径1362从加权自适应单元1312接收相同的加权参数(θ(t-1)和θ(t))。通过路径1364(也标记为“E”)从寄存器存贮器1306接收决定陷波形状的去偏置参数。误差因数(n)和梯度(Ψ)作为左信道第二级联陷波滤波器1310的输出产生,并通过路径260施加到加权自适应单元1312以用于计算加权参数(θ(t-1)和θ(t))。加权自适应单元1312将新计算出的加权参数(θ(t-1)和θ(t))通过路径1362施加到陷波滤波器1310以准备接收由第一级联陷波滤波器1300增强的下一个抽选采样值。
左右信道中的第二级联自适应陷波滤波器1310都产生用分别施加到它们各自的输出路径260和262中的离散采样值表示的一个增强信号。该增强信号,对于左右信道分别标记为eL和eR,表示滤掉除接近振动流管基频的窄陷波以外的所有噪声的相应输入信号采样值。
上面参照图13讨论的所有陷波滤波器(1300、1308、和1310)计算相同的函数以产生相同的输出值,即增强信号值(y或e)、误差因数(n)、和梯度(Ψ)。但是,在本发明的方法和装置中不使用右信道第二级联自适应陷波滤波器1310以及两个第一级联自适应陷波滤波器产生的噪声(误差因数)和梯度值。同样,在本发明的方法中也不使用频率跟踪自适应陷波滤波器1308输出的增强信号值。下面讨论由所有自适应陷波滤波器1300、1308、和1310计算的函数。误差因数基本上是采样值的噪声分量。本领域技术人员熟知,当采用递归最小二乘法时,如在本发明中,经验预测误差提高了滤波器的收敛速率(参见Arye Nehoral“具有约束极点和零点的一种最小参数自适应陷波滤波器”,IEEE Transactions onAcoutics,Speech,and Signal Processing,Vol.ASSP-33,No.4,1985年8月,987页)。
相位计算单元206分别通过路径260和262接收从左右信道第二级联自适应陷波滤波器1310输出的增强信号值(eL和eR)。相位计算单元206和Δt计算单元对于上面参照第一实施例和图3-12所述的单元是相同的。
频率计算单元1304通过路径1362从加权自适应单元1312接收滤波器加权(θ(t)),并计算由相位计算单元206计算出的Goertzel滤波器参数的加权(B’)并计算振动流管的频率(Ω’)。通过路径358将这些输出值施加到半窗多路转换器半窗系数传输管线310。上面参照第一实施例和图3-12讨论了半窗系数传输管线310。第二示例实施例-陷波滤波器图14进一步详细表示了第二实施例中的自适应陷波滤波器1300、1308、和1310。如上所述,在本发明的第二实施例中不使用某些在其它方面相同的自适应陷波滤波器的某些输出值和相应的输入值。图14的描述讨论了所表示的陷波滤波器的操作,并且就象所有输入值和输出值都被使用一样(如在左信道第二级联自适应陷波滤波器1310)。简单起见,对于下面详细讨论的陷波滤波器,用标号1310(左信道)表示第二实施例中所有五个自适应陷波滤波器(1300、1308和1310)。左信道滤波器1310从路径1350接收其输入值,并将其输出值施加到路径260中。其它陷波滤波器从路径254接收它们各自的输入值(1300左信道和1308)、256(1300右信道)、和1352(1310右信道)。其它陷波滤波器将它们各自的输出信号施加到路径1350(1300左信道)、1352(1300右信道)、1358(1308)、和262(1310右信道)。本领域技术人员应当认识到所有五个陷波滤波器计算单元的操作方式之间的相似性。
图14所示的自适应陷波滤波器1310(左信道)确定在从其输入路径1350接收的离散采样值u(t)中存在的噪声(其中在下列公式中使用的(t)表示与采样周期“t”相应的值)。从路径1364中接收去偏置参数(在下列公式中标记为α)(如α2)。通过路径1362接收当前采样周期的陷波滤波器系数(θ(t))和前一个采样周期的陷波滤波器系数(θ(t-1))。从输入的采样值u中减去噪声信号值e得到增强滤波信号值e,并从路径260输出。自适应陷波滤波器利用下列的二级滤波器多项式确定增强信号值e(t)u(t) 采样值e(t)=u(t)-e(t)增强信号值e(t)=u(t)+u(t-2)-α2e(t-2)-φ(t)θ(t)采样值的噪声分量φ(t)=-u(t-1)+αe(t-1)此外,陷波滤波器1310按照下式确定梯度(Ψ(t))Ψ(t)=φ(t)-α2Ψ(t-2)-αΨ(t-1)θ(t-1)最后,陷波滤波器1310还按照下式确定误差估算值(n(t))n(t)=u(t)+u(t-2)-α2e(t-2)-φ(t)θ(t-1)自适应陷波滤波器1310将从路径1350接收的输入值(u(t)或y(t)-施加到该陷波滤波器中的采样值)施加到延迟电路1408。作为延迟电路1408的输出而产生的经过一次延迟的输入采样值u(t-1)通过路径1454施加到延迟电路1410,其经过两次延迟的输入采样值u(t-2)被施加到路径1456中。延迟电路1408和1410将施加到它们各自输入端的值延迟如上所述施加到CLK路径中的采样时钟信号的一个脉冲周期。延迟电路1426、1428、1440、和1442以相同的方式工作以将它们各自的输入值延迟如CLK信号路径所示的一个采样时钟周期。从路径1364接收的去偏置参数α被施加到求积点1412的两个输入端,其输出乘积α2被施加到路径1468中。
路径1364中的去偏置参数α和路径1462中经过一次延迟的中间值e(t-1)(下面讨论)作为输入值施加到求积点1416,其输出乘积αe(t-1)施加到路径1460中。路径1468中的去偏置参数平方α2和路径1464中经过两次延迟的中间值e(t-2)(下面讨论)作为输入值施加到求积点1420,其输出乘积α2e(t-2)施加到路径1466中。
求和点1414将经过一次延迟的输入采样值u(t-1)从路径1460中的中间值αe(t-1)中减去以产生中间值φ(t)=-u(t-1)+αe(t-1),并将该中间值施加到路径1458中。求和点1418将路径1466中的中间值α2e(t-2)从路径1456上的经过两次延迟的输入采样值u(t-2)中减去,并将所得中间结果u(t-2)-α2e(t-2)施加到路径1486中。路径1458中的中间值φ(t)和路径1362中的滤波器系数θ(t)被施加到求积点1422以产生中间值φ(t)θ(t),并将该乘积施加到路径1472中。路径1458中的中间值φ(t)和路径1362中的滤波器系数θ(t-1)被施加到求积点1424以产生中间值φ(t)θ(t-1),并将该乘积施加到路径1470中。
陷波滤波器1310通过首先将路径1350中的输入采样值u(t)和将路径1486中的中间值u(t-2)-α2e(t-2)施加到求和点1400的输入端以产生和值u(t)+u(t-2)-α2e(t-2)来确定输入采样值u(t)的噪声估算值e(t),并将该和值施加到路径1450。求和点1404将路径1472中的中间值φ(t)θ(t)从路径1450中的中间值u(t)+u(t-2)-α2e(t-2)减去以确定输入采样值u(t)的噪声估算值e(t),并将该噪声估算值e(t)施加到路径1452中。求和点1406将路径1452中的噪声评估值e(t)从路径1350中的输入采样值u(t)中减去,并将所得的增强信号值e(t)施加到陷波滤波器的输出路径260中。路径1452中的噪声估算值e(t)被施加到延迟电路1426中以在路径1462中产生经过一次延迟的噪声估算值e(t-1)。路径1462中经过一次延迟的噪声估算值e(t-1)被施加到延迟电路1428中以在路径1464中产生经过两次延迟的噪声估算值e(t-2)。如上所述路径1462和1464中这些经过延迟的噪声估算值被用于中间值的计算中。
如下所述,除了由陷波滤波器1310产生的增强信号e(t)以外,还确定一个先验的噪声估算值n(t)以用于加权自适应计算。如下所述,求和点1402将路径1470中的中间值φ(t)θ(t)从路径1450中的中间值u(t)+u(t-2)-α2e(t-2)中减去以确定输入采样值u(t)的估算误差n(t),并将该估算误差施加到路径260中以由加权自适应计算单元1312使用。
最后,陷波滤波器1310递归地计算梯度Ψ(t)以用于如下所述的加权自适应计算中。路径260中的当前梯度值Ψ(t)被施加到延迟电路1440中以在路径1474中产生经过一次延迟的梯度值Ψ(t-1)。路径1474中经过一次延迟的梯度值Ψ(t-1)被施加到延迟电路1442中以在路径1480中产生经过两次延迟的梯度值Ψ(t-2)。求积点1434将路径1474中经过一次延迟的梯度值Ψ(t-1)与路径1362中的加权系数θ(t-1)相乘,并将该中间乘积施加到路径1476中。路径1476中的该中间乘积和路径1364中的去偏置参数α被施加到求积点1432以在路径1478中产生中间乘积αθ(t-1)Ψ(t-1)。路径1480中经过两次延迟的梯度Ψ(t-2)和路径1468中去偏置参数的平方α2被施加到求积点1438中。求积点1438的乘积被施加到路径1482中,并由求和点1436从路径1458中的中间值φ(t)中减去以在路径1484中产生中间值φ(t)-α2Ψ(t-2)。求和点1430将路径1478中的中间值从路径1484中的中间值中减去以产生新的梯度值Ψ(t)=φ(t)-α2Ψ(t-2)-αθ(t-1)Ψ(t-1)并将该梯度值施加到路径260中。第二示例实施例-加权自适应图15更加详细地表示了图13所示加权自适应计算单元1302和1312的结构和操作。加权自适应计算单元1302和1312执行相同的计算,但是分别从图13所示的寄存器存贮器1306和从它们相关的自适应陷波滤波器1308和3110中接收唯一的输入值。加权自适应计算单元1302通过路径1358从陷波滤波器1308接收误差因数n和梯度值Ψ,并通过路径1364从寄存器存贮器1306中接收遗忘因数λ1。加权自适应计算单元1302通过路径1360将当前加权值θ(t)施加到陷波滤波器1300和1308中。经过一次延迟的加权值θ(t-1)通过路径1360被施加到陷波滤波器1308中。加权自适应计算单元1312通过路径260从左信道陷波滤波器1310接收噪声估算值n和梯度Ψ,通过路径1364从寄存器存贮器1306接收遗忘因数λ2。加权自适应计算单元1312将当前加权值θ(t)和经过一次延迟的加权值θ(t-1)施加到陷波滤波器1310中,并通过路径1362将当前加权值θ(t)施加到频率计算单元1304。由于两个加权自适应计算单元1302和1312操作方式相同,下面的描述仅仅针对单元1302的操作进行。
加权自适应计算单元1302利用下述的标量算法确定与其相关的陷波滤波器的下一个加权系数(在下列公式中使用的(t)表示对应于采样周期“t”的值)θ(t)=θ(t-1)+P(t)Ψ(t)n(t)更新的加权系数P(t)=(P(t-1)-((P(t-1)Ψ(t)2P(t-1))/(λ+Ψ(t)2P(t-1))))/λ 协方差变量加权自适应计算单元1302确定路径1360中(如下所述)的更新加权系数θ(t),并将其施加到延迟电路1500的输入端以在路径1360中产生经过一次延迟的加权系数θ(t-1)。
加权自适应计算单元1302以每个新采样值作为路径1556中过去计算的协方差变量、施加到路径1358中的梯度值Ψ、和通过路径1364从寄存器存贮器1306中接收的遗忘因数λ1的函数来确定更新的协方差变量P(t)。路径1554中的当前的协方差变量P(t)被施加到延迟电路1508中以产生经过一次延迟的协方差变量P(t-1),并施加到路径1556中。求积点1512接收路径1556中经过一次延迟的协方差变量P(t-1)和路径1358中的梯度值Ψ,并将该乘积P(t-1)Ψ(t)施加到路径1558中。求积点1514接收路径1558中的这个乘积和接收路径1358中的梯度值Ψ,并将乘积P(t-1)Ψ(t)2施加到路径1560中。求积点1516接收路径1560中的这个乘积和接收经过一次延迟的协方差变量P(t-1),并将该乘积P(t-1)Ψ(t)2P(t-1)(在上面所给出的协方差变量计算结果中的分子)施加到路径1562中。求和点1510接收路径1560中的乘积P(t-1)Ψ(t)2和接收路径1364中的遗忘因数λ1,并将其和值λ1+P(t-1)Ψ(t)2(上面所给出的协方差计算结果中的分母)施加到路径1568中。计算单元1518将施加到其输入路径1562中的分子用施加到其输入路径1568中的分母相除以在路径1564中产生一个输出商数。然后求和点1520将路径1564中的这个商数从路径1556中经过一次延迟的协方差变量从减去,并将该结果施加到路径1566中。计算单元1522将在其输入路径1566中的分子用在其输入路径1364中的分母-遗忘因数λ1相除以产生更新的协方差变量P(t),并将结果施加到输出路径1554中。
求积点1502接收路径1358中的误差因数n和路径1358中的梯度值Ψ,并将乘积Ψn施加到路径1550中。求和点1504接收路径1550中的乘积Ψ(t)n(t)和路径1554中更新的协方差变量P(t),并将乘积P(t)Ψ(t)n(t)施加到路径1552中。然后求和点1506接收路径1552中的这个乘积和路径1360中经过一次延迟的加权系数θ(t-1),并将更新的加权系数θ(t)施加到路径1360中。第二示例实施例-频率计算除了自适应陷波滤波器以外,频率计算单元1304通过路径1362从加权自适应计算单元1312接收更新的加权系数θ(t)。图16中更加详细表示的频率计算单元1304累计通过路径1362接收的加权系数值θ(t)以计算Goertzel滤波器加权B’(B’0和B’1)和频率Ω’,并将它们施加到路径358中。图16所示的计算单元1304的操作方式类似于在上文中详细讨论的第一实施例中的图9所示单元308。求和点1600接收路径1652中先前的累计和和路径1362中更新的加权值θ(t),并将该和值通过路径1654施加到多路调制器1602的一个输入端。通常选择多路调制器1602将在其输入路径1654上的累计和施加到其输出路径1650中。路径1650中的累计和被施加到寄存器1604的输入端,以便当采样时钟信号CLK对于施加到路径1362中的每个新的加权值脉冲调制时将该累计和存储在寄存器中。当半窗信号(上文中参照第一实施例和图3-12所述)通过路径274被施加到多路调制器1602中时,通过将输入路径1362中新接收的加权值经由多路调制器1602施加到输出路径1650中而重新设置该累计值。这样就重新设置了寄存器1604中的累计和值,并开始对另外半窗周期的采样值进行新的累计。
在路径1362中接收的加权的和值通过路径1652施加到计算单元1606的X输入端。计算单元1606计算Goertzel滤波器加权的实部(B’0)B’0=-X/2N其中X为如上所述单元1606的输入值,N为在一个半窗周期中的采样值数目。计算单元1606计算出的Goertzel滤波器加权(B’0)的实部被施加到路径358中供上述的半窗系数传输管线310使用。Goertzel滤波器加权的实部还施加到计算单元1608的输入端,其计算出Goertzel滤波器加权的虚部(B’1)B’1=sqrt(1-X2)其中X为上述单元1608的输入值。由计算单元1608计算出的Goertzel滤波器加权(B’1)的虚部施加到路径358中以由上述的半窗系数传输管线310使用。此外,Goertzel滤波器加权的实部施加到计算单元1610的X输入端,其计算出振动流管的基频
Ω’=cos-1X其中X为上述单元1610的输入值。由计算单元1610计算出的基频(Ω’)施加到路径358中供上述的半窗系数传输管线310使用。
可以指出,如果计算单元1606、1608、和1610各自的输入值在适当范围以外,则它们的计算结果是不确定的。这些计算结果的输出值仅仅用于Hanning窗的边界处,在这些时刻确保这些输入值适合于各种计算。因此,图16所指出的不确定计算结果没有实际的意义。如上所述,图16所示伪电路仅仅用于帮助理解本发明的方法和相关的计算。
对于本领域中的普通技术人员来说很显然,在第二实施例中可以使用与上文中对于第一实施例所述相似的试探检测方法。这些试探检测有助于防止由于陷波滤波器自适应方法丧失频率收敛性而引起的错误计算产生的错误的流率测量结果。这种试探检测通常对于每个采样值更新计算(或者在半窗边界),只要这个新值对于具体的流量计而言处于合理的范围之内。如果计算结果不是期望值,则不使用更新值,仍然重复使用过去值。
可以很容易地理解,本发明不限于优选实施例的描述,而是包括在本发明构思的范围内的其它改进和变型。例如,本发明已经介绍了与图1所示流量计结合。可以理解本发明不限于应用于图1所示类型的流量计。可以采用按照科里奥利原理工作的任何类型的流量计,包括那些具有单管、双管、直管、不规则结构管等的流量计。本发明所使用的流量计不需要具有图1所示的特定的法兰和孔结构,而是可以采用任何适合的装置安装到与流量计连接的导管上。或者,例如,在本发明中所述的自适应陷波滤波器可以接收其它抽选形式的采样输入信号值或者甚至不加抽选,只要它们适合于具体的采样速率和具体的应用。此外,加权自适应计算可以根据除左信道采样信号值以外的其它信号值进行。本领域中的普通技术人员应当认识到对于在本申请中所述实施例的各种改进都在权利要求书所要求保护的发明范围之内。
权利要求
1.用于测量科里奥利质量流量计中一种物质的质量流率的装置,所说流量计具有流管和与所说流管相关用于产生指示所说流管振动的输出信号的传感器,所说装置包括用于周期地对所说传感器输出信号采样和将传感器输出信号采样值转换成数字形式以产生一组代表所说第一和第二传感器的输出信号的离散采样值的装置,所说输出信号中包含任何不希望有的分量;数字陷波滤波装置,其响应所说的离散采样值的产生,用于产生一组离散增强值,每个离散增强值对应于所说的一组离散采样值中的一个采样值,所说离散采样值消除了不希望有的分量;相位确定装置,其响应所说一组离散增强值的产生,用于确定所说第一和第二传感器的输出信号之间的相位差;和质量流量测量装置,其响应相位差的确定,用于确定流经流管的物质的质量流率值。
2.如权利要求1所述的装置,其特征在于它还包括陷波自适应装置,其与所说数字陷波滤波器协同操作,用于改变所说数字陷波滤波器的滤波器参数,以影响陷波消除所说第一和第二传感器输出信号中不希望有的分量的能力。
3.如权利要求2所述的装置,其特征在于所说滤波器参数包括施加到所说离散采样值以增强所说离散采样值的变量多项式系数,其中所说变量多项式系数决定了所说数字陷波滤波装置的陷波的中心频率。
4.如权利要求3所述的装置,其特征在于所说陷波自适应装置还包括用于调整为了增强所说离散采样值而施加到所说离散采样值的所说变量多项式系数从而改变所说数字陷波滤波装置的中心频率的加权自适应装置。
5.如权利要求4所述的装置,其特征在于它还包括用于检测所说离散增强值与相应的噪声信号的比值是否低于一个预定阈值,并响应该检测产生一个故障信号的装置;和响应所说故障信号的产生,用于调整所说变量多项式系数的装置。
6.如权利要求4所述装置,其特征在于它还包括用于检测该变量多项式系数的调整过程中的不稳定性并产生一个不稳定性信号以指示所说不稳定性检测结果的稳定性检测装置;和响应所说不稳定性信号的产生以调整所述变量多项式系数减少所说不稳定性的装置。
7.如权利要求2所述的装置,其特征在于所说滤波器参数包括施加到所说离散采样值以增强所说离散采样值的一个变量去偏置参数,其中所说变量去偏置参数决定所说数字陷波滤波器的陷波的频谱宽度。
8.如权利要求7所述的装置,其特征在于所说陷波自适应装置还包括用于调整施加到所说离散采样值以增强所说离散采样值的所说变量去偏置参数的加权自适应装置。
9.如权利要求8所述的装置,其特征在于它还包括用于检测一个离散增强值与一个相应的噪声信号的比值是否低于一个预定阈值并响应所说检测结果产生一个故障信号的装置;和响应所说故障信号,用于调整所说变量去偏置参数的装置。
10.如权利要求1所述的装置,其特征在于所说相位差装置还包括用于限定由一组所说离散增强值的序列值构成的一个窗口的窗装置;和用于抽选在所说窗口中的离散采样值以确定所说窗口的相位值的Goertzel滤波器。
11.如权利要求10所述的装置,其特征在于它还包括用于对在所说窗口中的一组离散增强值的每一个进行加权的Hanning窗装置,其中加权确定为h(k)=(1/2)(1-cos(2πk/(2N-1)))其中N为所说窗口中离散增强值数目的一半,k为加权h(k)所施加的值的索引。
12.如权利要求1所述的装置,其特征在于所说相位差装置还包括用于限定一组窗口的窗装置,所说的一组窗口中的每一个窗口包括一组所说离散增强值的序列值;和用于抽选在所说一组窗口的每一个窗口中的一组离散增强值以确定所说每个窗口的相位值的Goertzel滤波器,其中每个所说窗口包含相等数目的所说离散增强值,其中每个所说窗口与一个在先的窗口偏移相等数目的所说离散增强值。
13.如权利要求12所述的装置,其特征在于它还包括用于对每个所说窗口中的一组离散增强值中的每一个值加权的Hanning窗装置,其中所说加权确定为h(k)=(1/2)(1-cos(2πk/(2N-1)))其中N为所说窗口中离散增强值数目的一半,k为加权h(k)所施加的增强值的索引。
14.如权利要求1所述的装置,其特征在于所说数字陷波滤波器还包括第一数字陷波滤波器,其响应所说的一组离散采样值的产生,用于产生一组离散中间值,每个离散中间值对应于所说的一组离散采样值中的一个采样值,所说离散采样值中包含表示部分消除了不希望有的分量的信号;和第二数字陷波滤波器,其响应所说的一组离散中间值的产生,用于产生所说的一组离散增强值,每个离散增强值对应于所说的一组离散中间值中的一个离散中间值,所说的离散中间值包含表示消除了所说不希望有的分量的信号。
15.如权利要求14所述的装置,其特征在于它还包括第一陷波滤波器,其与所说的第一数字陷波滤波器协同操作,用于改变所说第一数字陷波滤波器的滤波器参数,所说参数确定了表示噪声的信号的特性;和第二陷波滤波器,其与所说的第二数字陷波滤波器协同操作,用于改变所说第二数字陷波滤波器的滤波器参数,所说参数确定了表示噪声的信号的特性。
16.如权利要求15所述的装置,其特征在于所说滤波器参数包括施加到所说离散采样值以增强所说离散采样值的变量多项式系数。
17.如权利要求16所述的装置,其特征在于所说第一陷波自适应装置还包括用于调整施加到所说离散采样值的变量多项式系数以产生所说的一组离散中间值的加权自适应装置,其中所说第二陷波自适应装置还包括用于调整施加到所说的一组离散中间值的变量多项式系数以产生所说的一组离散增强值的加权自适应装置。
18.在一种科里奥利质量流量计中,该流量计具有一个流管装置和与该流管装置相关用于产生指示所说流管装置的振动的输出信号的第一和第二传感器,用于测量流经所说流量计的所说流管装置的一种物质的质量流率的一种方法,该方法包括以下步骤周期地将由所说第一和第二传感器产生的模拟输出信号转换成数字形式以产生代表所说第一和第二传感器的输出信号的一组离散采样值,所说输出信号中包含不希望有的分量;将所说的一组离散采样值施加到数字陷波滤波器中以产生一组离散增强值,每个离散增强值对应于所说的一组离散采样值中的一个采样值,所说离散采样值中包含表示消除了噪声的信号;将所说一组离散增强值施加到相位值确定装置以确定用所说的一组离散增强值指示的与流管振动相关的相位信息;将所说相位信息施加到相位差计算装置以确定所说第一和第二传感器的输出信号之间的相位差;和响应所说的相位差的确定确定流过所说流量计的物质的质量流率。
19.如权利要求18所述的方法,它还包括改变所说数字陷波滤波器的滤波器参数以调整该数字陷波滤波器补偿流管振荡频率的变化。
20.如权利要求19所述的方法,其特征在于所说滤波器参数包括施加到所说离散采样值以增强所说离散采样值的变量多项式系数,其中所说变量多项式系数决定了所说数字陷波滤波器的陷波的中心频率。
21.如权利要求20所述的方法,其特征在于所说改变步骤还包括调整施加到所说离散采样值用于增强所说离散采样值的所说变量多项式系数,以改变所说数字陷波滤波器的中心频率的步骤。
22.如权利要求21所述的方法,它还包括确定离散增强值与相应的噪声信号之间的比值;判定所说比值是否低于一个预定的阈值;响应所说比值已经低于所说预定阈值的判定产生一个故障信号;和响应所说故障信号的产生调整所说变量多项式系数。
23.如权利要求21所述的方法,它还包括判定所说变量多项式系数是否在可接收的稳定值范围以外;响应所说变量多项式系数不稳定的判定结果产生一个不稳定信号;和响应所说不稳定信号的产生调整所说变量多项式系数以减少所说不稳定性。
24.如权利要求19所述的方法,其特征在于所说滤波器参数包括施加到所说离散采样值以增强所说离散采样值的变量去偏置参数,其中所说变量去偏置参数决定了所说数字陷波滤波器的陷波的频谱宽度。
25.如权利要求24所述的方法,其特征在于所说改变所说参数的步骤还包括调整施加到所说离散采样值以增强所说离散采样值的所说变量去偏置参数的步骤。
26.如权利要求25所述的方法,它还包括确定离散增强值与相应的噪声信号之间的比值;判定所说比值是否已经低于一个预定阈值;响应所说比值已经低于所说预定阈值的判定产生一个故障信号;和响应所说故障信号的产生调整所说变量去偏置参数。
27.如权利要求18所述的方法,其特征在于将所说相位值施加到所说相位差计算单元的步骤还包括限定由一组所说离散增强值的序列值构成的一个窗口;和利用Goertzel滤波在所说窗口抽选离散增强值以确定所说窗口的相位值。
28.如权利要求27所述的方法,它还包括确定Hanning窗口加权以对在所说窗口中的所说的一组离散增强值中的每一个值加权,其中加权确定为h(k)=(1/2)(1-cos(2πk/(2N-1)))其中N为所说窗口中离散增强值数目的一半,k为加权h(k)所施加的值的索引。
29.如权利要求18所述的方法,其特征在于将所说相位值施加到所说相位差计算单元的步骤还包括定义一组窗口,所说的一组窗口中的每一个窗口由一组所说离散增强值的序列值构成;和利用一个Goertzel滤波器在所说的一组窗口中每一个窗口中抽选该离散增强值以确定所说的一组窗口中每一个窗口的相位值,其中每一个所说窗口包含相等数目的所说离散增强值,并且每一个所说窗口与在先的一个窗口偏移相等数目的所说离散增强值。
30.如权利要求29所述的方法,它还包括确定Hanning窗口加权以对在所说的一组窗口中每一个窗口中的所说的一组离散增强值中的每一个值加权,其中加权确定为h(k)=(1/2)(1-cos(2πk/(2N-1)))其中N为所说窗口中离散增强值数目的一半,k为加权h(k)所施加的值的索引。
31.如权利要求18所述的方法,其特征在于将所说离散采样值施加到所说数字陷波滤波器的步骤还包括操作一个第一数字陷波滤波器以产生一组离散中间值,每个离散中间值相应于所说的一组离散采样值中的一个采样值,所说离散采样值中包含表示部分消除了噪声的信号;和操作一个第二数字陷波滤波器,响应所说一组离散中间值的产生以产生一组离散增强值,每个离散增强值相应于所说的一组离散中间值中的一个离散中间值,所说离散中间值中包含表示消除了噪声的信号。
32.如权利要求31所述的方法,它还包括操作第一陷波自适应装置改变所说第一数字陷波滤波器的滤波器参数,以调整所说第一数字陷波滤波器补偿所说流管振荡频率的变化;和操作第二陷波自适应装置改变所说第二数字陷波滤波器的滤波器参数,以调整所说第二数字陷波滤波器补偿所说流管振荡频率的变化。
33.如权利要求32所述的方法,其特征在于所说滤波器参数包括施加到所说离散采样值以增强所说离散采样值的变量多项式系数。
34.如权利要求33所述的方法,其特征在于所说改变所说第一陷波自适应装置的步骤还包括操作加权自适应装置以调整施加到所说离散采样值的变量多项式系数以产生所说的一组离散中间值的步骤,其中操作所说第二陷波自适应装置的步骤还包括操作加权自适应装置调整施加到所说的一组离散中间值的变量多项式系数以产生所说的一组离散增强值的步骤。
全文摘要
本发明涉及用于确定科里奥利质量流量计中的振动流管之间的频率和相位关系的一种装置和方法。在数字信号处理器(DSP)中采用了自适应线性增强技术(ALE)和装置以准确地确定振动流管之间的频率和相位关系,从而更加精确地确定流经质量流量计的物质的质量流率。在第一实施例中,使用一个自适应陷波滤波器增强从振动流管上的各个相应传感器输出的信号。在第二实施例中,将一组自适应陷波滤波器级联,以增强各个传感器输出的信号。在两个实施例中,与各个传感器信号相关的一个抗混叠抽选滤波器通过减少从与各个传感器相关的一个固定频率A/D采样装置输出的采样数目降低了计算的复杂程度。进行计算调整以补偿在固定采样频率与振动流管的可变基频之间的频谱遗漏。尽管这样做增加了计算复杂性,本发明仍然比现有技术中的设计简单,并且由于采用自适应陷波滤波技术,具有较好的抗噪声特性。在陷波滤波器的加权自适应算法中使用了试探法以提高数字滤波器的收敛性和减少滤波器的不稳定性干扰质量流量测量的可能性。
文档编号G01F1/84GK1190461SQ96195446
公开日1998年8月12日 申请日期1996年7月3日 优先权日1995年7月12日
发明者H·V·德比, T·波西, S·拉雅 申请人:微动公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1