You are on page 1of 1

sampling_interval = 100;

step_size = 0.001;
V_mag = 3;
f1 = 50; %
f2 = zeros(1,sampling_interval*(1/step_size)+1);
index = 1;
If2 = zeros(1,sampling_interval*(1/step_size)+1);
phase_err = zeros(1,sampling_interval*(1/step_size)+1);
y = zeros(1,sampling_interval*(1/step_size)+1);
phase_out = 0;
phase_ref = 0;
P = 0.005;
I = 0.045;
w_out = 0;
w_ref = 0;
E_f = zeros(1,sampling_interval*(1/step_size)+1);
%E_f = beklenen frekans
t = 0:step_size:sampling_interval;

Vref = V_mag*sin(2*pi*f1*t);
% Vout = V_mag*sin(2*pi*f2*t);
Vout = zeros(1,sampling_interval*(1/step_size)+1);
for i = 0:step_size:(sampling_interval-step_size)

phase_out = phase_out - 100;


end
if index>5
y(index) = num(1)*phase_err(index) + num(2)*phase_err(index-1) +
num(3)*phase_err(index-2) + num(4)*phase_err(index-3) + num(5)*phase_err(index-4) +
num(6)*phase_err(index-5) - denum(2)*y(index-1) - denum(3)*y(index-2) -
denum(4)*y(index-3) - denum(5)*y(index-4) - denum(6)*y(index-5);
Iphase_err = sum(y(1:index))/index;
f2(index) = I*Iphase_err; %PI kontrolcu
%f2(index) = sum(If2(1:index))/index; %frekansin integralini alma fikri
sacma
%frekans duzelseydi bile faz duzelmezdi
end
if f2(index) < 10
f2(index) = 10;
end
Vout(index) = V_mag*sin(2*pi*f2(index)*t(index));

%kalan hepsini yapmasina


end
bbss = 1/step_size; %bbss bir_bolu_step_size
aralik = 10;

%hold
% plot(t(bbss*aralik:bbss*(aralik+0.1)),Vref(bbss*aralik:bbss*(aralik+0.1)))
% plot(t(bbss*aralik:bbss*(aralik+0.1)),Vout(bbss*aralik:bbss*(aralik+0.1)))

plot(t,E_f) %bunu commente alip digerlerine bak yoksa olmuyor nedense xd

You might also like