クラーク変換とパーク変換をとりあえず試す

細かいことは気にせずクラーク変換を実装する。クラーク変換は

\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

コメント

タイトルとURLをコピーしました