Этот пример показывает, как сверхдискретизировать систему с помощью и 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
использует метод "нулевого порядка содержит" (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