d2c

Преобразуйте модель из дискретного в непрерывное время

Описание

пример

sysc = d2c(sysd) преобразует модель динамической системы в дискретном времени sysd в модель непрерывного времени, использующую удержание нулевого порядка на входах.

пример

sysc = d2c(sysd,method) задает метод преобразования.

пример

sysc = d2c(sysd,opts) задает опции преобразования для дискретизации.

[sysc,G] = d2c(___), где sysd является моделью пространства состояний, возвращает матрицу G который отображает состояния xd[k] модели пространства состояний в дискретном времени состояниям xc(t) от sysc.

Примеры

свернуть все

Создайте следующую передаточную функцию в дискретном времени:

H(z)=z-1z2+z+0.3

H = tf([1 -1],[1 1 0.3],0.1);

Шаг расчета модели является Ts=0.1s.

Выведите эквивалентную модель с постоянным нулем времени удержания порядка.

Hc = d2c(H)
Hc =
 
   121.7 s + 2.904e-12
  ---------------------
  s^2 + 12.04 s + 776.7
 
Continuous-time transfer function.

Дискретизируйте полученную модель, Hc, с методом удержания нулевого порядка по умолчанию и шагом расчета 0.1 с, чтобы вернуть исходную дискретную модель, H.

c2d(Hc,0.1)
ans =
 
      z - 1
  -------------
  z^2 + z + 0.3
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Используйте метод приближения Тастина, чтобы преобразовать H к модели непрерывного времени.

Hc2 = d2c(H,'tustin');

Дискретизируйте полученную модель, Hc2, чтобы вернуть исходную модель дискретного времени, H.

c2d(Hc2,0.1,'tustin');

Оцените модель передаточной функции в дискретном времени и преобразуйте ее в модель в непрерывном времени.

load iddata1
sys1d = tfest(z1,2,'Ts',0.1);
sys1c = d2c(sys1d,'zoh');

Оцените модель передаточной функции в непрерывном времени.

sys2c = tfest(z1,2);

Сравните ответ sys1c и непосредственно оцененную модель в непрерывном времени, sys2c.

compare(z1,sys1c,sys2c)

Figure contains an axes. The axes contains 3 objects of type line. These objects represent z1 (y1), sys1c: 69.3%, sys2c: 70.77%.

Две системы практически идентичны.

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

load iddata1
sysd = tfest(z1,2,'Ts',0.1);
sysc = d2c(sysd,'zoh');

sys1c не имеет ковариационной информации. The d2c операция приводит к потере ковариационных данных идентифицированных моделей.

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

opt = tfestOptions; 
opt.SearchOptions.MaxIterations = 0;
sys1c = tfest(z1,sysc,opt);

Анализируйте эффект на неопределенность частотной характеристики.

h = bodeplot(sysd,sys1c);
showConfidence(h,3)

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent sysd, sys1c. Axes 2 contains 2 objects of type line. These objects represent sysd, sys1c.

Неопределенности sys1c и sysd сопоставимы с частотой Найквиста. Однако sys1c показывает большую неопределенность в частотной области значений, для которого данные оценки не предоставляют никакой информации.

Если у вас нет доступа к данным оценки, используйте translatecov команда, которая является переводом ковариации, основанным на формуле Гаусса, через операции преобразования типов модели.

Входные параметры

свернуть все

Модель в дискретном времени, заданная как динамическая системная модель, такая как tf, ss, или zpk.

Вы не можете непосредственно использовать idgrey модель, чья FunctionType является 'd' с d2c. Преобразуйте модель в idss сначала форма.

Метод преобразования дискретного времени в непрерывное, заданный как одно из следующих значений:

  • 'zoh' - Удержание нулевого порядка на входах. Принимает, что входы управления являются кусочно-постоянными в течение периода дискретизации.

  • 'foh' - Линейная интерполяция входов (модифицированное удержание первого порядка). Принимает, что входы управления являются кусочно-линейными в течение периода дискретизации.

  • 'tustin' - Билинейное (Tustin) приближение к производной. Чтобы задать этот метод с подготовкой частоты (ранее известной как 'prewarp' метод), используйте PrewarpFrequency опция d2cOptions.

  • 'matched' - Метод соответствия нулевых полюсов (только для систем SISO). См. раздел [1].

Для получения информации об алгоритмах для каждого d2c метод преобразования, см. Непрерывно-дискретные методы преобразования.

Опции преобразования дискретного времени в непрерывное, созданные с помощью d2cOptions. Для примера укажите предварительную частоту или метод преобразования как опцию.

Выходные аргументы

свернуть все

Модель в непрерывном времени, возвращенная как динамическая системная модель того же типа, что и входная система sysd.

Когда sysd является идентифицированной (IDLTI) моделью, sysc:

  • Включает как измеренную, так и шумовые компоненты sysd. Если отклонение шума λ в sysd, затем модель в непрерывном времени sysc имеет указанный уровень спектральной плотности шума, равный Ts*λ.

  • Не включает предполагаемую ковариацию параметра sysd. Если вы хотите перевести ковариацию при преобразовании модели, используйте translatecov (System Identification Toolbox).

Отображение состояний xd[k] модели пространства состояний sysd состояниям xc(t) от sysc, возвращается как матрица. Отображение состояний выглядит следующим образом:

xc(kTs)=G[xd[k]u[k]].

Учитывая начальное условие x0 для sysd и начальный вход u0 = u[0], соответствующее начальное условие для sysc (при условии u[k] = 0 для k < 0 является:

xc(0)=G[x0u0].

Ссылки

[1] Franklin, G.F., Powell, D.J., and Workman, M.L., Digital Control of Динамические Системы (3-е издание), Prentice Hall, 1997.

[2] Kollár, I., G.F. Franklin, and R. Pintelon, «Об эквивалентности моделей z-домена и s-домена в системе идентификации», Труды IEEE® Инструментирование и Измерение конференция по технологиям, Брюссель, Бельгия, июнь 1996 года, том 1, стр. 14-19.

Представлено до R2006a