clear; close all; clc;
tau1 = 9;
sampling_time = 0.01;
s = tf('s');
G = 1/tau1*(1-exp(-tau1*s))/s;
H = c2d(G,sampling_time,'zoh');
[A,B1,B2,C1,C2,D11,D12,D21,D22,E,tau] = getDelayModel(H);
max_simulation_time = 20;
kmax = round(max_simulation_time/sampling_time);
x = zeros(1,kmax);
y = zeros(1,kmax);
z = zeros(1,kmax);
w = zeros(1,kmax);
Vmax = 5;
u = Vmax*ones(1,kmax);
for k=1:kmax
x(k+1) = A*x(k) + B1*u(k) + B2*w(k);
y(k) = C1*x(k) + D11*u(k) + D12*w(k);
z(k) = C2*x(k) + D21*u(k) + D22*w(k);
w(k+1) = z(max(1,k-tau));
end
t = (1:kmax)*sampling_time;
subplot(211);
plot(t,u);
xlabel('Time [s]');
ylabel('Input voltage [V]');
subplot(212);
plot(t,y,'r');
xlabel('Time [s]');
ylabel('Output voltage [V]');
big;