В этом примере показано, как улучшить систему, используя оба d2d
и upsample
команды и сравнение результатов обоих команд с исходной системой.
Увеличение дискретизации системы может быть полезно, например, когда необходимо реализовать цифровой контроллер с более высокой скоростью, чем вы изначально проектировали его.
Создайте систему в дискретном времени
со шаг расчета 0,3 с.
G = tf([1,0.4],[1,-0.7],0.3);
Повторно отобразите систему на 0.1 с, используя d2d
.
G_d2d = d2d(G,0.1)
G_d2d = z - 0.4769 ---------- z - 0.8879 Sample time: 0.1 seconds Discrete-time transfer function.
По умолчанию d2d
использует метод нуля order-hold (ZOH), чтобы повторно отобразить систему. Повторно дискретизированная система имеет тот же порядок, что и G
.
Повторно отобразите систему на отметке 0,1 с, используя upsample
.
G_up = upsample(G,3)
G_up = z^3 + 0.4 --------- z^3 - 0.7 Sample time: 0.1 seconds Discrete-time transfer function.
Второй вход, 3
, говорит upsample
для повторной выборки G
во шаге расчета в три раза быстрее, чем во шаге расчета G
. Этот вход в upsample
должно быть целым числом.
G_up
имеет в три раза больше полюсов и нулей, чем G
.
Сравните переходные характеристики исходной модели G
с повторно дискретизированными моделями G_d2d
и G_up
.
step(G,'-r',G_d2d,':g',G_up,'--b') legend('G','d2d','upsample','Location','SouthEast')
Переходная характеристика повышенной дискретизации модели G_up
точно совпадает с переходной характеристикой исходной модели G
. Реакция повторно дискретизированной модели G_d2d
соответствует только на каждой третьей выборке.
Сравните частотную характеристику исходной модели с повторно дискретизированными моделями.
bode(G,'-r',G_d2d,':g',G_up,'--b') legend('G','d2d','upsample','Location','SouthWest')
В частотный диапазон также модель G_up
созданный с помощью upsample
команда соответствует исходной модели точно до частоты Найквиста исходной модели.
Использование upsample
обеспечивает лучшее соответствие, чем d2d
как во временной, так и в частотной областях. Однако upsample
увеличивает порядок модели, что может быть нежелательно. Кроме того, upsample
доступен только там, где исходный шаг расчета является целым числом, кратным новому шагу расчета.
d2d
| d2dOptions
| upsample