細かいことは気にせずクラーク変換を実装する。クラーク変換は
\begin{align}
\begin{bmatrix}
\alpha \\ \beta \\ \gamma
\end{bmatrix}=
k \begin{bmatrix}
1 & -\frac{1}{2} & -\frac{1}{2} \\
1 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
\frac{1}{2} & \frac{1}{2} & \frac{1}{2}
\end{bmatrix}
\begin{bmatrix}
u\\ v \\w
\end{bmatrix}
\end{align}
で定義され、定数\(k\)は絶対変換\(\sqrt{\frac{2}{3}}\)か相対変換\(\frac{2}{3}\)かで決まる定数である。
パーク変換は非常に単純で、ただの回転行列であるから
\begin{align}
\begin{bmatrix}
d \\ q
\end{bmatrix}=
\begin{bmatrix}
\cos \theta & \sin \theta \\
-\sin \theta & \cos \theta
\end{bmatrix}
\begin{bmatrix}
\alpha \\ \beta
\end{bmatrix}
\end{align}
となる。
MATLABでこれらを実装し平衡三相交流を入力に与え、クラーク変換についての順変換と逆変換を行った。今回のように平衡三相交流であればパーク変換は
\begin{align}
\begin{bmatrix}
\alpha \\ \beta
\end{bmatrix}=
k \begin{bmatrix}
1 & -\frac{1}{2} & -\frac{1}{2} \\
1 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
\end{bmatrix}
\begin{bmatrix}
u\\ v \\w
\end{bmatrix}
\end{align}
ともできる。
global C
% gain=2/3;
gain=sqrt(2/3);
C=gain*[...
1 -1/2 -1/2;...
1 sqrt(3)/2 -sqrt(3)/2;...
1/2 1/2 1/2;...
];
t=0:0.01:10;
iu=sin(t);
iv=sin(t+deg2rad(120));
iw=sin(t+deg2rad(240));
figure;
plot(t,iu)
hold on
plot(t,iv)
hold on
plot(t,iw)
hold on
grid on
[alpha,beta,gamma]=clarke(iu,iv,iw);
figure;
plot(t,alpha)
hold on
plot(t,beta)
hold on
grid on
[iu2,iv2,iw2]=invclarke(alpha,beta,gamma);
figure;
plot(t,iu2)
hold on
plot(t,iv2)
hold on
plot(t,iw2)
hold on
grid on
function [alpha,beta,gamma]=clarke(u,v,w)
global C
result= C*[u;v;w];
alpha=result(1,:);
beta=result(2,:);
gamma=result(3,:);
end
function [u,v,w]=invclarke(alpha,beta,gamma)
global C
result= inv(C)*[alpha;beta;gamma];
u=result(1,:);
v=result(2,:);
w=result(3,:);
end
function [d,q]=park(alpha,beta,theta)
result=[...
cos(theta) sin(theta);...
-sin(theta) cos(theta)
]*[alpha;beta];
d=result(1,:);
q=result(2,:);
end
コメント