Main Content

thiran

Generate fractional delay filter based on Thiran approximation

Syntax

sys= thiran(tau,Ts)

Description

sys= thiran(tau,Ts)discretizes the continuous-time delaytauusing a Thiran filter to approximate the fractional part of the delay.Tsspecifies the sample time.

Input Arguments

tau

Time delay to discretize.

Ts

Sample time.

Output Arguments

sys

Discrete-timetfobject.

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是一个订单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

Tips

  • Iftauis an integer multiple ofTs, thensysrepresents the pure discrete delayzN, withN=tau/Ts. Otherwise,sysis a discrete-time, all-pass, infinite impulse response (IIR) filter of orderceil(tau/Ts).

  • thiranapproximates and discretizes a pure time delay. To approximate a pure continuous-time time delay without discretizing, usepade. To discretize continuous-time models having time delays, usec2d.

Algorithms

The Thiran fractional delay filter has the following form:

H ( z ) = a N z N + a N 1 z N 1 + + a 1 a 0 z N + a 1 z N 1 + + a N .

The coefficientsa0, ...,aNare given by:

a k = ( 1 ) k ( N k ) i = 0 N D N + i D N + k + i , k : 1 , 2 , , N a 0 = 1

whereD=τ/TsandN= 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