Main Content

thiran

Thiran 近似に基づいて非整数遅延フィルターを作成

説明

sys = thiran(tau,Ts) は、Thiran フィルターを使用して連続むだ時間 tau を離散化し、遅延の非整数部を近似します。Ts は、離散時間伝達関数モデルとして返されるフィルターのサンプル時間を指定します。Thiran 非整数遅延フィルターは次の形をとります。

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]を参照してください。

すべて折りたたむ

2.4 秒のむだ時間をサンプル時間 1 秒で近似して離散化します。

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.

むだ時間はサンプル時間の整数倍でありません。したがって、近似 sys は次数 3 の離散時間伝達関数です。

2.5 秒のむだ時間をサンプル時間 0.5 秒で離散化します。

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

ここで、むだ時間はターゲット サンプル時間のちょうど 5 倍です。したがって、sys は次数 5 の純粋な離散遅延です。

入力引数

すべて折りたたむ

むだ時間。正のスカラー値として指定します。thirantau を秒単位と仮定します。

むだ時間の離散近似のサンプル時間。正のスカラー値として指定します。thiranTs を秒単位と仮定します。

出力引数

すべて折りたたむ

むだ時間の離散近似。サンプル時間 Ts の離散時間伝達関数 (tf) モデルとして返されます。

  • tauTs の整数倍の場合は、sys は純粋な離散遅延 z–N を表し、ここで 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 で導入

参考

| |