基于Kalman滤波的基波提取算法
来源:用户上传
作者:
摘要:电力系统中非线性负载使用逐渐增加,电力系统中谐波问题越来越严重,电能计量和谐波治理都法需要实时、准确的检测出基波。本文基于Kalman滤波算法对系统谐波进行滤波,从而获得所需要的基波分量。最后,通过MATLAB软件仿真验证该方法的可行性。
关键词:基波检测;Kalman滤波;谐波滤除
中图分类号:TM303 文献标识码:A 文章编号:1007-9416(2020)04-0000-00
0 引言
随着各类电力电子装置的使用增多,工业应用的交流电力调整装置,如如整流器、电弧炉等;生活家电中的空调、冰箱、洗衣机等,都会产生大量的谐波,严重影响电能质量。谐波的问题影响到了精密仪器的加工、磁性设备的发热和电能计量的精准。不管是用于谐波治理的有源电力滤波器还是用于精准计量的计量装置都需要计算基波分量。本文提出了一种基于Kalman滤波的基波提取算法,能够实时、准确的计算出基波分量。
卡尔曼算法是以最小均方误差为准则的最优线性估计,根据前一个观测数据和最近一个观测数据,利用状态方程和递推方法对当前过程状态进行实时估计。由于所用的信息都是时域内的量,完全避免了在频域内滤波的限制,适用范围比较广泛[1]。
1 Kalman滤波算法
Kalman滤波算法的基本思想是:采用信号、噪声、状态空间模型,利用前一时刻的状态最优估计值及其误差方差估计和当前时刻的测量值来更新对状态变量的估计,求出当前在时刻的最优估计值。
实际上就是对现在时刻的估计(可能是同时估计好几个变量)是取决于前一时刻估计误差和现在时刻的某个观测值。通过不断的预测和实测来修正自己的估计值,最后达到一个理想的平稳状态。卡尔曼滤波的流程如图1所示。
(1)式为状态一步预测方程,通过上个时刻的估计值预测出一个当前时刻的一步预测值。(2)式是一步预测均方误差方程,是的方差。(3)式计算滤波增益。可以直观的看出量测噪声协方差越大,越小。反映出一步预测值和量测值在估计值中的占比。(4)式是状态估计方程,由两部分组成:一步预测值和新息过程乘以滤波增益。我们把称为新息过程(innovation),可以理解成为系统注入了新的信息。(5)式计算估计均方误差,即是状态估计值的方差[2,3]。
2 谐波电流的提取
对于一般的三相电流可以表示为可以分解为正序、负序、零序,对应表达式可以为:
(1)
在公式(1)中,n表示谐波次数,当n=1时候表示基波;表示正序量的初相位,表示负序量的初相位,表示零序量的初相位。
(2)
(3)
对于三相三线制,零序分量为0,这里不做考虑。按照公式(2)的变化矩阵实行dq变换后,得:
(4)
根据上述变换结果,可发现经过dq变换后:(1)正序基波变成直流,负序基波变成了2次谐波;(2)n次正序谐波变成了n-1次谐波,n次负序谐波变成了n+1次谐波[4-6]。
根据变换后的结论,使用Kalman滤波算法设计成低通滤波器滤除交流分量,得到的直流分量就是静止坐标系中的基波正序分量对应于dq轴的分量,通过反转变换后可以得到三相基波电流,基于Kalman滤波的基波提取的原理框图如图2所示,其中Kalman Filter为S-Function模块。
根据算法原理编写出在Matlab软件中Simulink的S-Function模块Kalman Filter的程序。
function [sys,x0,str,ts] = SimuKalmanFilter(t,x,u,flag)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
case 1
sys=mdlDerivatives(t,x,u);
case 2
sys=mdlUpdate(t,x,u);
case 3
sys=mdlOutputs(t,x,u);
case 4
sys=mdlGetTimeOfNextVarHit(t,x,u);
case 9
sys=mdlTerminate(t,x,u);
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 1;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = 0; 初始状态量设置为0
str = [];
ts = [-1 0]; %采樣时间与输入信号一致 global P;
P=0.0001;設置稳定后的偏移量
function sys=mdlDerivatives(t,x,u)
sys = [];
function sys=mdlUpdate(t,x,u)
global P;
F=1;
B=0;
H=1;
Q=0;
R=0.001;
xpre=F*x+B*u;
Ppre=F*P*F'+Q;
K=Ppre*H'*inv(H*Ppre*H'+R);
e=u-H*xpre;
xnew=xpre+K*e;
P=(eye(1)-K*H)*Ppre;
sys=xnew;
function sys=mdlOutputs(t,x,u)
sys = x;
function sys=mdlGetTimeOfNextVarHit(t,x,u)
sampleTime = 1;
sys = t + sampleTime;
function sys=mdlTerminate(t,x,u)
sys = [];
3 仿真结果
给定三相谐波电流,其中含有基波和5、7、11次谐波电流,基波幅值为14.14A,通过本文提出的基于Kalman滤波的基波检测算法提取的方法,搭建仿真模型进行验证,基波提取仿真结果图如图3所示。
在图3中,(a)波形表示输入的含有谐波的波形,(b)波形为其中含有的基波成分,(c)波形为基于Kalman滤波算法检测出来的基波电流波形,通过三个电流波形对比可以看出本文提出的方法能够快速的检测出基波波形,并能保证其精确性。
4 结论
本文研究基于Kalman滤波基波提取方法,通过将Kalman设计成低通滤波器滤除交流分量得到直流分量,然后逆变换成abc坐标系下的基波电流。最后,通过仿真验证了该方法的可行性。
参考文献
[1] 李江,王义伟,魏超,等.卡尔曼滤波理论在电力系统中的应用综述[J].电力系统保护与控制,2014(6):136-139
[2] 孙曙光,刘建强,杜太行,等.一种基于自适应滤波器的改进ip-iq无功电流检测方法[J].电测与仪表,2018(5):22-27.
[3] 邓自立.卡尔曼滤波与维纳滤波[M].哈尔滨:哈尔滨工业大学出版社,2001.
[4] 王兆安,等.谐波抑制和无功功率补偿(第3版)[M].北京:机械工业出版社,2015.
[5] 戴珂,段科威,刘聪,等.一种SAPF的谐波补偿和谐振阻尼复合控制策略[J].电工技术学报,2013(9):86-90.
[6] 张树全,戴珂,谢斌,等.多同步旋转坐标系下指定次谐波电流控制[J].中国电机工程学报,2010(3):55-62.
收稿日期:2020-03-02
基金项目:湖南省教育厅科学研究项目基金资助项目资助(项目编号:16C0005)。
作者简介:段科威(1986—),男,湖北天门人,硕士,讲师,研究方向:电网运行、电能质量、变电检修。
Fundamental Wave Extraction Algorithm based on Kalman Filtering
Duan Ke-wei
(Changsha Electric Power Technical College, Changsha Hunan 410131)
Abstract: The use of non-linear loads in power systems is gradually increasing, and the problem of harmonics in power systems is becoming more and more serious, both power measurement and harmonic control methods need to detect the fundamental waves in real time and accurately. In this paper, the harmonics of the system are filtered based on the Kalman filter algorithm, to obtain the required fundamental components. Finally, the feasibility of the method is verified by MATLAB software simulation.
Key words: fundamental detection; Kalman filter; Harmonic filtering
转载注明来源:https://www.xzbu.com/8/view-15251880.htm