Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

thiran

Generate fractional delay filter based on Thiran approximation

Syntax

sys = thiran(tau, Ts)

Description

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 sample time.

Input Arguments

tau

Time delay to discretize.

Ts

Sample time.

Output Arguments

sys

Discrete-time tf object.

Examples

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
 
Sample 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
 
Sample time: 1

More About

collapse all

Tips

  • If tau is an integer multiple of Ts, then sys represents the pure discrete delay zN, 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.

Algorithms

The Thiran fractional delay filter has the following form:

H(z)=aNzN+aN1zN1++a1a0zN+a1zN1++aN.

The coefficients a0, ..., aN are given by:

ak=(1)k(Nk)i=0NDN+iDN+k+i,k:1,2,,Na0=1

where D = τ/Ts and N = ceil(D) is the filter order. See [1].

References

[1] T. Laakso, V. Valimaki, "Splitting the Unit Delay", IEEE Signal Processing Magazine, Vol. 13, No. 1, p.30-60, 1996.

See Also

| |

Introduced in R2010a

Was this topic helpful?