The Z-Domain transform creates the discrete tranfer function, that unlike the continuous transfer function (from the classic S-Domain) can be implemented on a digital computer efficiently.
S-Domain vs Z-Domain (Controllers)
S-Domain :
Z-Domain:
(Scilab) S-Domain to Z-Domain:
clear;
clc;
s = poly(0,'s'); z = poly(0,'z');
sl = syslin('c', 2/(s*(s+2))); // Continuous-time system in transfer form
slss = tf2ss(sl); // Now in state-space form
sl1 = cls2dls(slss,0.2); // sl1= output of cls2dls
sl1t = ss2tf(sl1) // Converts in transfer form
sl2 = horner(sl,(2/0.2)*(z-1)/(z+1)) // Compare sl2 and sl1(Octave) S-Domain to Z-Domain:
clear;
clc;
pkg load control;
z = tf('z', 1);
s = tf('s');
sistema_s = 1/((s+15)*((s^2)+(6*s)+13))
sistema_z = c2d(sistema_s, 0.5) % Continuous Domain to Discrete Domain.
figure(1);
step(sistema_z,10)
hold on;
step(sistema_s,10,'r')(Octave) Z-Domain to S-Domain:
clear;
clc;
pkg load control;
z = tf('z', 1);
s = tf('s');
sistema_z = (3*(z^3) + 12) / (2*(z^3)-3.5*(z^2) -1.5)
sistema_s = d2c(sistema_z, 'zoh')