Сгенерируйте дробный фильтр задержки на основе приближения Thiran
sys
= thiran(tau
, Ts
)
дискретизирует задержку непрерывного времени sys
= thiran(tau
, Ts
)tau
использование Thiran фильтрует, чтобы аппроксимировать дробную часть задержки. Ts
задает шаг расчета.
|
Задержка, чтобы дискретизировать. |
|
Размер шага. |
|
Дискретное время |
Аппроксимируйте и дискретизируйте задержку, которая является кратным нецелого числа целевой шаг расчета.
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
Задержка составляет 2,4 с, и шаг расчета составляет 1 с. Поэтому sys1
передаточная функция дискретного времени порядка 3.
Дискретизируйте задержку, которая является целочисленным кратным целевой шаг расчета.
sys2 = thiran(10, 1) Transfer function: 1 ---- z^10 Sample time: 1
Если tau
целочисленное кратное Ts
, затем sys
представляет чистую дискретную задержку z–N, с N = tau/Ts
. В противном случае, sys
дискретное время, все-передача, фильтр бесконечной импульсной характеристики (IIR) порядка ceil(tau/Ts)
.
thiran
аппроксимирует и дискретизирует чистую задержку. Чтобы аппроксимировать чистую задержку непрерывного времени без дискретизации, использовать pade
. Чтобы дискретизировать модели непрерывного времени, имеющие задержки, использовать c2d
.
Дробный фильтр задержки Thiran имеет следующую форму:
Коэффициенты a 0 ..., aN дают:
то, где D = τ/Ts и N = перекрывают (D), является порядком фильтра. См. [1].
[1] Т. Лааксо, В. Вэлимэки, “Разделяя Unit Delay”, Журнал Обработки сигналов IEEE, Издание 13, № 1, p.30-60, 1996.