Сверхдискретизируйте систему дискретного времени

В этом примере показано, как сверхдискретизировать систему с помощью обоих d2d и upsample команды и сравнивают результаты обоих к исходной системе.

Повышающая дискретизация системы может быть полезной, например, когда необходимо реализовать цифровой контроллер на более быстром уровне, чем вы первоначально спроектировали ее для.

Создайте систему дискретного времени

G(z)=z+0.4z-0.7

с шагом расчета 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 только доступно, где исходный шаг расчета является целочисленным кратным новый шаг расчета.

Смотрите также

Функции

Задачи Live Editor

Похожие темы