function [A_out,B_out,C_out] = harmonic_injection(A,B,C) %#codegen %变量初始化 % A_out=0; % B_out=0; % C_out=0;
%3S-2S变换(等幅值) a=2/3*(A-0.5*B-0.5*C); b=2/3*(sqrt(3)/2*B-sqrt(3)/2*C);
%求模长和相角 mo_base=sqrt(a^2+b^2); if a>=0 sita_base=atan(b/a); else sita_base=atan(b/a)+pi; end
%三次注入谐波在两相静止坐标系的值 a_3=mo_base/6*cos(sita_base*3); b_3=mo_base/6*sin(sita_base*3);
%2S-3S还原三次谐波到ABC坐标系 A_3=a_3; % B_3=-0.5*a_3+sqrt(3)/2*b_3; % C_3=-0.5*a_3-sqrt(3)/2*b_3; %输出 A_out=A+A_3; B_out=B+A_3; C_out=C+A_3; end
|