Generate fractional delay filter based on Thiran approximation
sys = thiran(tau, Ts)
sys = thiran(tau, Ts) discretizes the continuous-time delay tau using a Thiran filter to approximate the fractional part of the delay. Ts specifies the sampling time.
Discrete-time tf object.
Approximate and discretize a time delay that is a noninteger multiple of the target sample time.
sys1 = thiran(2.4, 1) Transfer function: 0.004159 z^3 - 0.04813 z^2 + 0.5294 z + 1 ----------------------------------------- z^3 + 0.5294 z^2 - 0.04813 z + 0.004159 Sampling time: 1
The time delay is 2.4 s, and the sample time is 1 s. Therefore, sys1 is a discrete-time transfer function of order 3.
Discretize a time delay that is an integer multiple of the target sample time.
sys2 = thiran(10, 1) Transfer function: 1 ---- z^10 Sampling time: 1
If tau is an integer multiple of Ts, then sys represents the pure discrete delay z–N, with N = tau/Ts. Otherwise, sys is a discrete-time, all-pass, infinite impulse response (IIR) filter of order ceil(tau/Ts).
thiran approximates and discretizes a pure time delay. To approximate a pure continuous-time time delay without discretizing, use pade. To discretize continuous-time models having time delays, use c2d.
 T. Laakso, V. Valimaki, "Splitting the Unit Delay", IEEE Signal Processing Magazine, Vol. 13, No. 1, p.30-60, 1996.