| Contents | Index |
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.
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.
tau |
Time delay to discretize. |
Ts |
Sampling time. |
sys |
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
The Thiran fractional delay filter has the following form:
![]()
The coefficients a0, ..., aN are given by:

where D = τ/Ts and N = ceil(D) is the filter order. See [1].
[1] T. Laakso, V. Valimaki, "Splitting the Unit Delay", IEEE Signal Processing Magazine, Vol. 13, No. 1, p.30-60, 1996.

Learn more about resources for designing, testing, and implementing control systems.
Get free kit| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |