换了一种计算序量测量的方式。
用最大误差作为量测误差。 Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
77dd602671
commit
92469a3004
146
run.m
146
run.m
|
|
@ -127,33 +127,46 @@ fprintf('
|
|||
%% 开始进入状态估计
|
||||
% clear PD QD PG QG;
|
||||
%准备量测量
|
||||
sigma=0.03;
|
||||
iterPhaseASpotLoadP=phaseASpotLoadP;
|
||||
iterPhaseBSpotLoadP=phaseBSpotLoadP;
|
||||
iterPhaseCSpotLoadP=phaseCSpotLoadP;
|
||||
iterPhaseASpotLoadQ=phaseASpotLoadQ;
|
||||
iterPhaseBSpotLoadQ=phaseBSpotLoadQ;
|
||||
iterPhaseCSpotLoadQ=phaseCSpotLoadQ;
|
||||
%加误差
|
||||
mphaseASpotLoadP=phaseASpotLoadP.*(1+normrnd(0,sigma,length(phaseASpotLoadP),1));
|
||||
mphaseBSpotLoadP=phaseBSpotLoadP.*(1+normrnd(0,sigma,length(phaseBSpotLoadP),1));
|
||||
mphaseCSpotLoadP=phaseCSpotLoadP.*(1+normrnd(0,sigma,length(phaseCSpotLoadP),1));
|
||||
mphaseASpotLoadQ=phaseASpotLoadQ.*(1+normrnd(0,sigma,length(phaseASpotLoadQ),1));
|
||||
mphaseBSpotLoadQ=phaseBSpotLoadQ.*(1+normrnd(0,sigma,length(phaseBSpotLoadQ),1));
|
||||
mphaseCSpotLoadQ=phaseCSpotLoadQ.*(1+normrnd(0,sigma,length(phaseCSpotLoadQ),1));
|
||||
%电压量测量
|
||||
mVoltpA=VoltpA.*(1+normrnd(0,sigma,length(VoltpA),1));
|
||||
mVoltpB=VoltpB.*(1+normrnd(0,sigma,length(VoltpB),1));
|
||||
mVoltpC=VoltpC.*(1+normrnd(0,sigma,length(VoltpC),1));
|
||||
%转换得到徐电压的量测量
|
||||
fV012=Tp2f*conj([mVoltpA';mVoltpB';mVoltpC']);
|
||||
mfV0=conj(fV012(1,:)');
|
||||
mfV1=conj(fV012(2,:)');
|
||||
mfV2=conj(fV012(3,:)');
|
||||
% VoltpA=sparse(ones(busNum,1));
|
||||
% VoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
||||
% VoltpC=sparse(ones(busNum,1)).*exp(1j*+120/180*pi);
|
||||
%全部转换为负荷电流
|
||||
VoltpA=sparse(ones(busNum,1));
|
||||
VoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
||||
VoltpC=sparse(ones(busNum,1)).*exp(1j*+120/180*pi);
|
||||
CurpA=conj((iterPhaseASpotLoadP+1j*iterPhaseASpotLoadQ)./VoltpA);
|
||||
CurpB=conj((iterPhaseBSpotLoadP+1j*iterPhaseBSpotLoadQ)./VoltpB);
|
||||
CurpC=conj((iterPhaseCSpotLoadP+1j*iterPhaseCSpotLoadQ)./VoltpC);
|
||||
mCurpA=conj((mphaseASpotLoadP+1j*mphaseASpotLoadQ)./mVoltpA);
|
||||
mCurpB=conj((mphaseBSpotLoadP+1j*mphaseBSpotLoadQ)./mVoltpB);
|
||||
mCurpC=conj((mphaseCSpotLoadP+1j*mphaseCSpotLoadQ)./mVoltpC);
|
||||
%转换为序电流
|
||||
f012=Tp2f*conj([CurpA';CurpB';CurpC']);
|
||||
mf012=Tp2f*conj([mCurpA';mCurpB';mCurpC']);
|
||||
%把三序电流分离出来
|
||||
If0=conj(f012(1,:)');
|
||||
If1=conj(f012(2,:)');%负荷电流
|
||||
If2=conj(f012(3,:)');
|
||||
%试着算一下正序电流
|
||||
% fsY11*V1;
|
||||
%形成负荷序电流的测量值
|
||||
mIf0=conj(mf012(1,:)');
|
||||
mIf1=conj(mf012(2,:)');%负荷电流
|
||||
mIf2=conj(mf012(3,:)');
|
||||
mIf0=-mIf0;
|
||||
mIf1=-mIf1;%mIf1是注入电流,相当于发电机电流
|
||||
mIf2=-mIf2;
|
||||
%% 设定量测误差
|
||||
sigma=0.03;
|
||||
mIf0=-If0;
|
||||
mIf1=-If1;%mIf1是注入电流,相当于发电机电流
|
||||
mIf2=-If2;
|
||||
%% 先算正序的
|
||||
%平衡节点电流
|
||||
fprintf('正序\n');
|
||||
|
|
@ -161,19 +174,26 @@ BalI1r=real(-sum(mIf1));
|
|||
BalI1i=imag(-sum(mIf1));
|
||||
%电压
|
||||
%制作量测量
|
||||
mfsY11=fsY11;
|
||||
mfsY11(:,Balance)=0;
|
||||
mfsY11(Balance,:)=0;
|
||||
mfsY11=mfsY11+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
rV1=inv(mfsY11)*(mIf1)+1;
|
||||
sigmaV1=normrnd(0,sigma,length(Loadi),1);
|
||||
V1measurement=rV1(Loadi).*(1+sigmaV1);
|
||||
wV1r=abs(real( rV1(Loadi).*sigmaV1 ));
|
||||
wV1i=abs(imag( rV1(Loadi).*sigmaV1 ));
|
||||
sigmaI1=normrnd(0,sigma,length(Loadi),1);
|
||||
I1measurement=mIf1(Loadi).*(1+sigmaI1);%测量值是等效发电机电流
|
||||
wI1r=abs( real(mIf1(Loadi).*sigmaI1) );
|
||||
wI1i=abs( imag(mIf1(Loadi).*sigmaI1) );
|
||||
% mfsY11=fsY11;
|
||||
% mfsY11(:,Balance)=0;
|
||||
% mfsY11(Balance,:)=0;
|
||||
% mfsY11=mfsY11+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
% rV1=inv(mfsY11)*(mIf1)+1;
|
||||
% sigmaV1=normrnd(0,sigma,length(Loadi),1);
|
||||
% V1measurement=rV1(Loadi).*(1+sigmaV1);
|
||||
V1measurement=mfV1(Loadi);
|
||||
% wV1r=abs(real( rV1(Loadi).*sigmaV1 ));
|
||||
% wV1i=abs(imag( rV1(Loadi).*sigmaV1 ));
|
||||
% sigmaI1=normrnd(0,sigma,length(Loadi),1);
|
||||
% I1measurement=mIf1(Loadi).*(1+sigmaI1);%测量值是等效发电机电流
|
||||
I1measurement=mIf1(Loadi);
|
||||
% wI1r=abs( real(mIf1(Loadi).*sigmaI1) );
|
||||
% wI1i=abs( imag(mIf1(Loadi).*sigmaI1) );
|
||||
%正序测量误差的第二种形式
|
||||
wV1r=abs(real(V1measurement)).*sigma;
|
||||
wV1i=abs(imag(V1measurement)).*sigma;
|
||||
wI1r=abs(real(I1measurement)).*sigma;
|
||||
wI1i=abs(imag(I1measurement)).*sigma;
|
||||
% [ V1r,V1i,I1r,I1i ]=IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1 );
|
||||
% f=sum(([real(I1measurement);imag(I1measurement)]-[I1r;I1i]).^2)+sum((real(rV1)-V1r).^2)+sum((imag(rV1)-V1i).^2);
|
||||
% fprintf('目标值 %f\n',full(f));
|
||||
|
|
@ -183,19 +203,26 @@ BalI2r=real(-sum(mIf2));
|
|||
BalI2i=imag(-sum(mIf2));
|
||||
%电压
|
||||
%制作量测量
|
||||
mfsY22=fsY22;
|
||||
mfsY22(:,Balance)=0;
|
||||
mfsY22(Balance,:)=0;
|
||||
mfsY22=mfsY22+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
rV2=inv(mfsY22)*(mIf2);
|
||||
sigmaV2=normrnd(0,sigma,length(Loadi),1);
|
||||
V2measurement=rV2(Loadi).*(1+sigmaV2);
|
||||
wV2r=abs(real( rV2(Loadi).*sigmaV2 ));
|
||||
wV2i=abs(imag( rV2(Loadi).*sigmaV2 ));
|
||||
sigmaI2=normrnd(0,sigma,length(Loadi),1);
|
||||
I2measurement=mIf2(Loadi).*(1+sigmaI2);%测量值是等效发电机电流
|
||||
wI2r=abs( real(mIf2(Loadi).*sigmaI2) );
|
||||
wI2i=abs( imag(mIf2(Loadi).*sigmaI2) );
|
||||
% mfsY22=fsY22;
|
||||
% mfsY22(:,Balance)=0;
|
||||
% mfsY22(Balance,:)=0;
|
||||
% mfsY22=mfsY22+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
% rV2=inv(mfsY22)*(mIf2);
|
||||
% sigmaV2=normrnd(0,sigma,length(Loadi),1);
|
||||
% V2measurement=rV2(Loadi).*(1+sigmaV2);
|
||||
V2measurement=mfV2(Loadi);
|
||||
% wV2r=abs(real( rV2(Loadi).*sigmaV2 ));
|
||||
% wV2i=abs(imag( rV2(Loadi).*sigmaV2 ));
|
||||
% sigmaI2=normrnd(0,sigma,length(Loadi),1);
|
||||
% I2measurement=mIf2(Loadi).*(1+sigmaI2);%测量值是等效发电机电流
|
||||
I2measurement=mIf2(Loadi);
|
||||
% wI2r=abs( real(mIf2(Loadi).*sigmaI2) );
|
||||
% wI2i=abs( imag(mIf2(Loadi).*sigmaI2) );
|
||||
%负序误差的第二种形式
|
||||
wV2r=abs(real(V2measurement)).*sigma;
|
||||
wV2i=abs(imag(V2measurement)).*sigma;
|
||||
wI2r=abs(real(I2measurement)).*sigma;
|
||||
wI2i=abs(imag(I2measurement)).*sigma;
|
||||
% [ V2r,V2i,I2r,I2i ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0 );
|
||||
% f=sum(([real(I2measurement);imag(I2measurement)]-[I2r;I2i]).^2)+sum((real(rV2)-V2r).^2)+sum((imag(rV2)-V2i).^2);
|
||||
% fprintf('目标值 %f\n',full(f));
|
||||
|
|
@ -205,19 +232,26 @@ BalI0r=real(-sum(mIf0));
|
|||
BalI0i=imag(-sum(mIf0));
|
||||
%电压
|
||||
%制作量测量
|
||||
mfsY00=fsY00;
|
||||
mfsY00(:,Balance)=0;
|
||||
mfsY00(Balance,:)=0;
|
||||
mfsY00=mfsY00+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
rV0=inv(mfsY00)*(mIf0);
|
||||
sigmaV0=normrnd(0,sigma,length(Loadi),1);
|
||||
V0measurement=rV0(Loadi).*(1+sigmaV0);
|
||||
wV0r=abs(real( rV0(Loadi).*sigmaV0 ));
|
||||
wV0i=abs(imag( rV0(Loadi).*sigmaV0 ));
|
||||
sigmaI0=normrnd(0,sigma,length(Loadi),1);
|
||||
I0measurement=mIf0(Loadi).*(1+sigmaI0);%测量值是等效发电机电流
|
||||
wI0r=abs( real(mIf0(Loadi).*sigmaI0) );
|
||||
wI0i=abs( imag(mIf0(Loadi).*sigmaI0) );
|
||||
% mfsY00=fsY00;
|
||||
% mfsY00(:,Balance)=0;
|
||||
% mfsY00(Balance,:)=0;
|
||||
% mfsY00=mfsY00+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
% rV0=inv(mfsY00)*(mIf0);
|
||||
% sigmaV0=normrnd(0,sigma,length(Loadi),1);
|
||||
% V0measurement=rV0(Loadi).*(1+sigmaV0);
|
||||
V0measurement=mfV0(Loadi);
|
||||
% wV0r=abs(real( rV0(Loadi).*sigmaV0 ));
|
||||
% wV0i=abs(imag( rV0(Loadi).*sigmaV0 ));
|
||||
% sigmaI0=normrnd(0,sigma,length(Loadi),1);
|
||||
% I0measurement=mIf0(Loadi).*(1+sigmaI0);%测量值是等效发电机电流
|
||||
I0measurement=mIf0(Loadi);
|
||||
% wI0r=abs( real(mIf0(Loadi).*sigmaI0) );
|
||||
% wI0i=abs( imag(mIf0(Loadi).*sigmaI0) );
|
||||
%零序误差的第二种形式
|
||||
wV0r=abs(real(V0measurement)).*sigma;
|
||||
wV0i=abs(imag(V0measurement)).*sigma;
|
||||
wI0r=abs(real(I0measurement)).*sigma;
|
||||
wI0i=abs(imag(I0measurement)).*sigma;
|
||||
% matlabpool local 3
|
||||
tic
|
||||
for II=1:3
|
||||
|
|
|
|||
Loading…
Reference in New Issue