首页> 中国专利> 一种基于卡尔曼滤波器的适用于ACCT的数据处理方法

一种基于卡尔曼滤波器的适用于ACCT的数据处理方法

摘要

本发明公开了一种基于卡尔曼滤波器的适用于ACCT的数据处理方法,属于粒子加速器技术领域,在卡尔曼滤波器的数学模型中,加入一个当前的时刻下的同步信号,解决了ACCT测量束流流强时发生的拖尾与振铃问题的技术问题,本发明适用于测量精度不确定的系统,本发明使用的卡尔曼滤波器可以在任何含有不确定信息的动态系统中使用,能够对系统下一步的走向做出有根据的预测,即使伴随着各种干扰,卡尔曼滤波总是能指出真实发生的情况,自适应的。可以根据量测精度和模型精度在迭代的过程中自适应的调整二者的权重,获得精确的结果。

著录项

说明书

技术领域

本发明属于粒子加速器技术领域,涉及一种基于卡尔曼滤波器的适用于ACCT的数据处理方法。

背景技术

作为粒子加速器中使用及其广泛的非拦截式脉冲束流流强测量仪器ACCT(交流电流互感器),以其使用简单、可以在加速器运行的过程中使用、精度高和响应速度快在粒子加速器中具有很大的应用市场。交流电流互感器原理是依据电磁感应原理的。电流互感器是由闭合的铁心和绕组组成。它的一次绕组匝数很少,串在需要测量的电流的线路中,因此它经常有线路的全部电流流过,二次绕组匝数比较多,串接在测量仪表和保护回路中,电流互感器在工作时,它的二次回路始终是闭合的,因此测量仪表和保护回路串联线圈的阻抗很小,电流互感器的工作状态接近短路。电流互感器与变压器类似也是根据电磁感应原理工作,变压器变换的是电压而电流互感器变换的是电流罢了。电流互感器接被测电流的绕组(匝数为N1),称为一次绕组(或原边绕组、初级绕组);接测量仪表的绕组(匝数为N2)称为二次绕组(或副边绕组、次级绕组)。电流互感器一次绕组电流I1与二次绕组I2的电流比,叫实际电流比K。电流互感器在额定电流下工作时的电流比叫电流互感器额定电流比,用Kn表示(Kn=I1n/I2n)。电流互感器(Current transformer简称CT)的作用是可以把数值较大的一次电流通过一定的变比转换为数值较小的二次电流,用来进行保护、测量等用途。如变比为400/5的电流互感器,可以把实际为400A的电流转变为5A的电流。对于加速器中使用的ACCT,由于其待测信号的特殊性,只能选择穿心式的电流互感器,即:束流从线圈的中间穿过,作为单匝的初级线圈;测量信号由线圈上的导线引出。考虑到加速器中的束流流强(电流)很小(一般在mA量级),ACCT的次级绕组不能选的很大,一般小于100匝。

然而,ACCT由于其自身的原理,在使用的过程中会受到外界噪声的干扰。其次,次级线圈中感应的电流非常的小,一般在微安量级,很容易湮没在噪声里。除了采取良好的额电磁屏蔽,对采集的信号使用滤波器进行噪声滤除也是非常重要的环节。目前,对于采集的信号采用低通滤波器、FIR来滤除噪声,这些滤波器由于自身的缺陷,会造成采集信号的丢失。同时,FIR滤波器的精度与运算量呈正比,这导致处理信号的硬件成本的上升。而低通滤波器的处理精度较低,效果也不够理想。除此之外,如果滤波器不能很好得到处理测量数据里的噪声,势必会要求ACCT探头更高的灵敏度、更低的测量噪声、更好的磁屏蔽。这无疑会导致成本的大幅度提高。当前完整ACCT价格较为昂贵(价格在20万人民币,并且主要被国外垄断)。

发明内容

本发明的目的是提供一种基于卡尔曼滤波器的适用于ACCT的数据处理方法,解决了ACCT测量束流流强时发生的拖尾与振铃问题的技术问题。

为实现上述目的,本发明采用如下技术方案:

一种基于卡尔曼滤波器的适用于ACCT的数据处理方法,包括如下步骤:

步骤1:建立ACCT交流电流互感器、数据采集装置和数据处理装置,数据采集装置用于采集ACCT交流电流互感器输出的数据;

数据处理装置用于处理数据采集装置所采集到的数据;

步骤2:数据采集装置采集ACCT交流电流互感器输出的数据,产生原始数据;

步骤3:数据采集装置将原始数据发送给数据处理装置;

步骤4:在数据处理装置中建立卡尔曼滤波器,通过卡尔曼滤波器对原始数据进行滤波,具体步骤如下:

步骤S1:建立卡尔曼滤波器的数学模型;

步骤S2:在卡尔曼滤波器的数学模型中,加入一个当前的时刻下的同步信号;同步信号用于控制交流束流的产生,当同步信号为1,即方波脉冲为有脉冲,此时输出束流,反之,同步信号为0时,即方波脉冲为无脉冲,此时不输出束流;

步骤S3:同步信号由控制端的同步时钟信号提供,控制端为ACCT所安装段工控系统所输出的的束流同步时钟。

优选的,在执行步骤4时,具体根据以下公式进行滤波:

x_1_k_=x_1_k;

x_2_k_=x_2_k;

P_k_pie_11=P_k_11+q1;

P_k_pie_12=P_k_12;

P_k_pie_21=P_k_21;

P_k_pie_22=P_k_22+q2;

D=g^2×P_k_pie_11+g(i)×(P_k_pie_12+

P_k_pie_21)+P_k_pie_22+r;

K_k_1=1/D×(g×P_k_pie_11+P_k_pie_12);

K_k_2=1/D×(g×P_k_pie_21+P_k_pie_22);

x_1_k=x_1_k_×(1-g(i)*K_k_1)+K_k_1×(data_in-x_2_k_);

x_2_k=x_2_k_×(1-K_k_2)+K_k_2×(data_in-g×x_2_k_);

P_k_11=(1-g×K_k_1)*P_k_pie_11-K_k_1×P_k_pie_21;

P_k_12=(1-g×K_k_1)×P_k_pie_12-K_k_1×P_k_pie_22;

P_k_21=(1-g×K_k_1)×P_k_pie_21-K_k_1×P_k_pie_22;

P_k_22=(-g×K_k_2×P_k_pie_12)+(1-K_k_2)×P_k_pie_22;

其中,g为当前的时刻下的同步信号,对于方波脉冲为无方波或有方波,由控制端的同步时钟信号提供,x_1_k_和x_2_k_为根据上一步的最优估计值所确定的一步预测值;data_in为当前测得的实际数据,由所述数据采集装置的AD模块获得;K_k_1和K_k_2均为卡尔曼增益;X_k_1和X_k_2为分离的值,其中X_k_1为目标信号,X_k_2位噪声数据;q和r为卡尔曼滤波器的参数;q为状态噪声的协方差矩阵,Q_11为q1,Q_22为q2;P为预测估计偏差协方差矩阵;P_k_11,P_k_12,P_k_21,P_k_22构成2*2的矩阵,k代表第k次迭代,pie表示的是当前计算完最优估计值后所更新的P矩阵,用于下一次的滤波。

优选的,所述数据处理装置为FPGA处理器或STM32处理器。

优选的,所述数据采集装置为AD模块。

本发明的有益效果:

本发明所述的一种基于卡尔曼滤波器的适用于ACCT的数据处理方法,解决了ACCT测量束流流强时发生的拖尾与振铃问题的技术问题,本发明适用于测量精度不确定的系统,本发明使用的卡尔曼滤波器可以在任何含有不确定信息的动态系统中使用,能够对系统下一步的走向做出有根据的预测,即使伴随着各种干扰,卡尔曼滤波总是能指出真实发生的情况,自适应的。可以根据量测精度和模型精度在迭代的过程中自适应的调整二者的权重,获得精确的结果。本发明实现难度较低,在连续变化的系统中使用卡尔曼滤波是非常理想的,它具有占用内存小的优点(除了前一个状态量外,不需要保留其它历史数据),并且数据处理速度很快,很适合应用于实时问题和嵌入式系统,本发明普适性强,对于用于测量在不同频率脉冲束流的ACCT,往往需要根据实际情况设计相应的频域滤波器,而卡尔曼滤波器是从时域角度来处理含有噪声的原始数据,可以实时处理任意频率的脉冲方波信号的滤波问题。

附图说明

图1为本发明对一带有测量噪声的方波数据的滤波效果示意图;

图2为本发明对第一组带有测量噪声和拖尾的方波数据的滤波效果示意图;

图3为本发明对第二组带有测量噪声和拖尾的方波数据的滤波效果示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-图3所示的一种基于卡尔曼滤波器的适用于ACCT的数据处理方法,包括如下步骤:

步骤1:建立ACCT交流电流互感器、数据采集装置和数据处理装置,数据采集装置用于采集ACCT交流电流互感器输出的数据;

数据处理装置用于处理数据采集装置所采集到的数据;

步骤2:数据采集装置采集ACCT交流电流互感器输出的数据,产生原始数据;

步骤3:数据采集装置将原始数据发送给数据处理装置;

步骤4:在数据处理装置中建立卡尔曼滤波器,通过卡尔曼滤波器对原始数据进行滤波,具体步骤如下:

步骤S1:建立卡尔曼滤波器的数学模型;

步骤S2:在卡尔曼滤波器的数学模型中,加入一个当前的时刻下的同步信号;同步信号用于控制交流束流的产生,当同步信号为1,即方波脉冲为有脉冲,此时输出束流,反之,同步信号为0时,即方波脉冲为无脉冲,此时不输出束流;

步骤S3:同步信号由控制端的同步时钟信号提供,控制端为ACCT所安装段工控系统所输出的的束流同步时钟。

ACCT是安装在加速器上的一个设备,它的作用是测量当前束流的流强。整体加速器的运行是需要总体的控制系统提供一个基准信号,也就是本文里写的同步信号。这个同步信号的作用是控制交流(AC)束流的产生,同步信号为1(方波脉冲为1)时输出束流,同步信号为0(方波脉冲为0)。因此,控制端的同步时钟信号决定了当前时刻是否有束流。

比如说,南京质子源LEBT段质子源,AC(脉冲)束流信号的产生是使用高压开关来控制的。束流默认情况下为CW(直流),加上高压开关之后(高压开关开的时候输出束流,管的时候停止束流输出)输出AC束流。控制高压开关的开与闭是通过LEBT段的PLC工控机输出一个同步时钟信号(脉冲方波)完成。

优选的,在执行步骤4时,具体根据以下公式进行滤波:

x_1_k_=x_1_k;

x_2_k_=x_2_k;

P_k_pie_11=P_k_11+q1;

P_k_pie_12=P_k_12;

P_k_pie_21=P_k_21;

P_k_pie_22=P_k_22+q2;

D=g^2×P_k_pie_11+g(i)×(P_k_pie_12+

P_k_pie_21)+P_k_pie_22+r;

K_k_1=1/D×(g×P_k_pie_11+P_k_pie_12);

K_k_2=1/D×(g×P_k_pie_21+P_k_pie_22);

x_1_k=x_1_k_×(1-g(i)*K_k_1)+K_k_1×(data_in-x_2_k_);

x_2_k=x_2_k_×(1-K_k_2)+K_k_2×(data_in-g×x_2_k_);

P_k_11=(1-g×K_k_1)*P_k_pie_11-K_k_1×P_k_pie_21;

P_k_12=(1-g×K_k_1)×P_k_pie_12-K_k_1×P_k_pie_22;

P_k_21=(1-g×K_k_1)×P_k_pie_21-K_k_1×P_k_pie_22;

P_k_22=(-g×K_k_2×P_k_pie_12)+(1-K_k_2)×P_k_pie_22;

其中,g为当前的时刻下的同步信号,对于方波脉冲为无方波或有方波,由控制端的同步时钟信号提供,x_1_k_和x_2_k_为根据上一步的最优估计值所确定的一步预测值;data_in为当前测得的实际数据,由所述数据采集装置的AD模块获得;K_k_1和K_k_2均为卡尔曼增益;X_k_1和X_k_2为分离的值,其中X_k_1为目标信号,X_k_2位噪声数据;q和r为卡尔曼滤波器的参数;q为状态噪声的协方差矩阵,(2*2的矩阵)为了移植的方遍将其拆为两项,Q_11为q1,Q_22为q2;P为预测估计偏差协方差矩阵;P_k_11,P_k_12,P_k_21,P_k_22构成2*2的矩阵,k代表第k次迭代,pie表示的是当前计算完最优估计值后所更新的P矩阵,用于下一次的滤波。

优选的,所述数据处理装置为FPGA处理器或STM32处理器。

优选的,所述数据采集装置为AD模块。

束流流强是加速器中的一个重要的参数,在加速器运行的过程中需要对流强进行准确的测量。对于脉冲方波束流,一般采用非拦截式的电流互感器(ACCT)对流强进行实时测量。由于ACCT自身的特性,测量的数据存在上升沿,下降沿。除此之外,由于ACCT是基于电磁感应原理完成对束流流强的测量,当脉冲束流达到平稳状态时束流的电磁场也会趋于平稳,导致测量结果不可避免的下降。其次,当脉冲束流降为0后的短时间内,CT的二次绕组的电流不为0,存在衰减的非周期电流分量拖尾。这些因素导致了测量的波形和理想波形的偏差。其次测量过程也存在外界电磁场的干扰导致的噪声。信号传输的过程中也会产生噪声。虽然使用FIR、低通滤波器等可以对噪声进行滤除,但是对信号波形的畸变却不能有效的处理。进一步的,需要一个方法来处理信号畸变所造成的影响。

本发明提出了基于卡尔曼滤波器的信号处理方法对测量的信号进行处理。ACCT以及其相关的电子学系统可以被看作是线性系统,符合卡尔曼滤波器的要求。其次,本发明假设测量过程中的量测噪声和状态噪声均是高斯噪声。因此,本发明可以使用线性系统的卡尔曼滤波器进行信号处理。使用卡尔曼滤波器处理方波信号的可行性在文献中探讨。作为一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法,卡尔曼滤波器可以给出测量数据最优估计值。给出最优估计值的过程可以看作是滤波的过程。卡尔曼滤波不要求信号和噪声都是平稳过程的假设条件。对于每个时刻的系统扰动和观测误差(即噪声),只要对它们的统计性质作某些适当的假定,通过对含有噪声的观测信号进行处理,就能在平均的意义上,求得误差为最小的真实信号的估计值。

如图1所示为对一带有测量噪声的方波数据使用本发明所提出的方法进行滤波的结果,数据来源均为南京质子源中的ACCT测量的原始数据,将数据导入matlab中后进行仿真,本发明公开的卡尔曼滤波器中将采集的数据分为了x1(目标信号)和x2(噪声),对于方波信号会将峰值平均分给x1和x2,导致滤波后x1的峰值降低为原始峰值的一半,测量信号的其余特性不受影响。可见,本发明所提出的卡尔曼滤波器可以很有效的滤除强噪声信号,从低信噪比的数据中有效的恢复原始信号。

如图2所示为对一带有测量噪声和拖尾的方波数据使用本发明所提出的方法进行滤波的结果,,数据来源均为南京质子源中的ACCT测量的原始数据,将数据导入matlab中后进行仿真,图中,每一个方波信号后都存在一个干扰的拖尾信号,使用本发明中的卡尔曼滤波器可以有效的滤除这一干扰得到影响,很好的恢复原始的方波信号。同样的,由于算法中将采集的数据分为了x1(目标信号)和x2(噪声),对于方波信号会将峰值平均分给x1和x2,导致滤波后x1的峰值降低为原始峰值的一半,测量信号的其余特性不受影响。

如图3所示为另一组对一带有测量噪声和拖尾的方波数据使用本发明所提出的方法进行滤波的结果,数据来源均为南京质子源中的ACCT测量的原始数据,将数据导入matlab中后进行仿真,图中,测量数据由于外界的干扰,有一个很强的拖尾段,采用了本发明中的方法后,可以看到,拖尾段被完全滤除,并且原始的方波信号除了峰值降低一半以外,并未受到明显的影响。

本发明引入了额外的控制变量g(同步脉冲信号),使得卡尔曼滤波器的建模更加的精确,效果更好。可以有效的滤除噪声、拖尾等测量误差。

本发明全套算法移植到FPGA里需要约120个DSP,目前,市面上的低功耗的低端FPGA芯片(如Xilinx的Artix7和ZYNQ7000系列)均可以胜任这一算法,从而,可以大幅度降低ACCT的价格。

本发明所述的一种基于卡尔曼滤波器的适用于ACCT的数据处理方法,解决了ACCT测量束流流强时发生的拖尾与振铃问题的技术问题,本发明适用于测量精度不确定的系统,本发明使用的卡尔曼滤波器可以在任何含有不确定信息的动态系统中使用,能够对系统下一步的走向做出有根据的预测,即使伴随着各种干扰,卡尔曼滤波总是能指出真实发生的情况,自适应的。可以根据量测精度和模型精度在迭代的过程中自适应的调整二者的权重,获得精确的结果。本发明实现难度较低,在连续变化的系统中使用卡尔曼滤波是非常理想的,它具有占用内存小的优点(除了前一个状态量外,不需要保留其它历史数据),并且数据处理速度很快,很适合应用于实时问题和嵌入式系统,本发明普适性强,对于用于测量在不同频率脉冲束流的ACCT,往往需要根据实际情况设计相应的频域滤波器,而卡尔曼滤波器是从时域角度来处理含有噪声的原始数据,可以实时处理任意频率的脉冲方波信号的滤波问题。

在本发明中,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(ePROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述的程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述的程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、本实施例、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的本实施例或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用本实施例功能模块的形式实现。所述的集成的模块如果以本实施例功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号