the function c2d allows to convert a continuous laplace transfer function to a discrete z-transform transfer function. The base method is the Zero Order Holder. In example:
s=tf('s'); P=3/(3+s); Pd=c2d(P,0.1); % 0.1 is the sampling time Produces
$$ \frac{0.25918178 }{z - 0.74081822068} $$
$0.74081822068 = e^{-0.1 \ \cdot \ 3}$ as expected.
If we had a delay to the tf such as
$$ e^{-2 s} \ \frac{3}{3+s} $$
the conversion will result obviously in:
$$ z^{-20} \ \frac{0.25918178 }{z - 0.74081822068}$$
But if we introduce a delay not multiple of $0.1$ like this:
$$ e^{-1.95 \ s} \ \frac{3}{3+s} $$
it will produce:
$$ z^{-20} \ \frac{0.1393 z + 0.1199}{z - 0.7408} $$
As stated here, for "ZOH Method for Systems with Time Delays":
- Decomposes the delay $\tau$ as $\tau=kT+\rho$ with $0\le\rho<\tau$
- Absorbs the fractional delay $\rho$ into $H(s)$.
I ask how it is done the second step (if it is known), so how are calculated the coefficient of the numerator
$$ 0.1393 z + 0.1199 $$
and why that algorithm adds a zero to the transfer function and increases the order of the numerator to compensate the fractional delay. Actually, the algorithm seems provide good results:
Thank you.
