Сгенерируйте дробный фильтр задержки на основе приближения Thiran
sys
= thiran(tau
, Ts
)
дискретизирует непрерывно-разовую задержку sys
= thiran(tau
, Ts
)tau
с помощью фильтра Thiran, чтобы аппроксимировать дробную часть задержки. Ts
задает шаг расчета.
|
Задержка, чтобы дискретизировать. |
|
'SampleTime' . |
|
Объект |
Аппроксимируйте и дискретизируйте задержку, которая является кратным нецелого числа целевой шаг расчета.
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] Т. Лааксо, В. Вэлимэки, “Разделяя Единичную задержку”, Журнал Обработки сигналов IEEE, Издание 13, № 1, p.30-60, 1996.