主要内容

thiran

基于蒂兰逼近生成小数延迟滤波器

说明

sys = thiran(tau,Ts) 使用蒂兰滤波器对连续时间时滞 tau 进行离散化,以逼近延迟的小数部分。Ts 指定滤波器的采样时间,以离散时间传递函数模型形式返回。蒂兰小数延迟滤波器具有以下形式:

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

系数 a0, ..., aN 由下式给出:

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

其中 D = τ/TsN = ceil(D) 是滤波器阶数。请参阅[1]

示例

示例

全部折叠

使用 1 秒的采样时间对 2.4 秒的时滞进行逼近和离散化。

sys = thiran(2.4,1)
sys =
 
  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 seconds
Discrete-time transfer function.
Model Properties

该时滞不是采样时间的整数倍。因此,逼近 sys 是一个 3 阶离散时间传递函数。

使用 0.5 秒的采样时间对 2.5 秒的时滞进行离散化。

sys = thiran(2.5,0.5)
sys =
 
   1
  ---
  z^5
 
Sample time: 0.5 seconds
Discrete-time transfer function.
Model Properties

此处,时滞恰好是目标采样时间的五倍。因此,sys 是一个 5 阶纯离散延迟。

输入参数

全部折叠

要进行离散化的时滞,指定为正标量值。thiran 假定 tau 的单位为秒。

时滞的离散化逼近的采样时间,指定为正标量值。thiran 假定 Ts 的单位为秒。

输出参量

全部折叠

时滞的离散化逼近,以采样时间为 Ts 的离散时间传递函数 (tf) 模型形式返回。

  • 如果 tauTs 的整数倍,则 sys 表示纯离散延迟 zN,其中 N = tau/Ts

  • 否则,sys 是阶数为 ceil(tau/Ts) 的离散时间全通无限冲激响应 (IIR) 滤波器。

该滤波器是阶数为 ceil(tau/Ts) 的离散时间全通无限冲激响应 (IIR) 滤波器。单位 sys.TimeUnit'seconds'

提示

  • thiran 用于对纯时滞进行逼近和离散化。要对纯连续时间延迟进行逼近而不进行离散化,请使用 pade。要对具有时滞的连续时间模型进行离散化,请使用 c2d

参考

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

版本历史记录

在 R2010a 中推出

另请参阅

| |