c2d

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

Описание

пример

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

пример

sysd = c2d(sysc,Ts,method) задает метод дискретизации.

пример

sysd = c2d(sysc,Ts,opts) задает дополнительные опции для дискретизации.

[sysd,G] = c2d(___), где sysc модель в пространстве состояний, возвращает матрицу, G это сопоставляет непрерывные начальные условия x 0 и u 0 из модели в пространстве состояний к вектору начального состояния дискретного времени x [0].

Примеры

свернуть все

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

H(s)=e-0.3ss-1s2+4s+5.

Эта система имеет входную задержку 0,3 с. Дискретизируйте систему с помощью треугольника (задержка первого порядка) приближение с шагом расчета Ts = 0,1 с.

H = tf([1 -1],[1 4 5],'InputDelay', 0.3); 
Hd = c2d(H,0.1,'foh');

Сравните переходные процессы непрерывного времени и дискретизированных систем.

step(H,'-',Hd,'--')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent H, Hd.

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

H(s)=e-0.25s10s2+3s+10.

h = tf(10,[1 3 10],'IODelay',0.25); 
hd = c2d(h,0.1)
hd =
 
           0.01187 z^2 + 0.06408 z + 0.009721
  z^(-3) * ----------------------------------
                 z^2 - 1.655 z + 0.7408
 
Sample time: 0.1 seconds
Discrete-time transfer function.

В этом примере, дискретизированной модели hd имеет задержку трех периодов выборки. Алгоритм дискретизации поглощает остаточную задержку полупериода в коэффициенты hd.

Сравните переходные процессы непрерывного времени и дискретизированных моделей.

step(h,'--',hd,'-')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent h, hd.

Создайте модель в пространстве состояний непрерывного времени с двумя состояниями и входной задержкой.

sys = ss(tf([1,2],[1,4,2]));
sys.InputDelay = 2.7
sys =
 
  A = 
       x1  x2
   x1  -4  -2
   x2   1   0
 
  B = 
       u1
   x1   2
   x2   0
 
  C = 
        x1   x2
   y1  0.5    1
 
  D = 
       u1
   y1   0
 
  Input delays (seconds): 2.7 
 
Continuous-time state-space model.

Дискретизируйте модель с помощью метода дискретизации Тастина и фильтра Thiran, чтобы смоделировать дробные задержки. Шаг расчета Ts = 1 секунда.

opt = c2dOptions('Method','tustin','FractDelayApproxOrder',3);
sysd1 = c2d(sys,1,opt)
sysd1 =
 
  A = 
              x1         x2         x3         x4         x5
   x1    -0.4286    -0.5714   -0.00265    0.06954      2.286
   x2     0.2857     0.7143  -0.001325    0.03477      1.143
   x3          0          0    -0.2432     0.1449    -0.1153
   x4          0          0       0.25          0          0
   x5          0          0          0      0.125          0
 
  B = 
             u1
   x1  0.002058
   x2  0.001029
   x3         8
   x4         0
   x5         0
 
  C = 
              x1         x2         x3         x4         x5
   y1     0.2857     0.7143  -0.001325    0.03477      1.143
 
  D = 
             u1
   y1  0.001029
 
Sample time: 1 seconds
Discrete-time state-space model.

Дискретизированная модель теперь содержит три дополнительных состояния x3, x4, и x5 соответствие третьему порядку фильтр Thiran. Поскольку задержка, разделенная на шаг расчета, 2.7, третий порядок фильтр Thiran ('FractDelayApproxOrder' = 3) может аппроксимировать целую задержку.

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

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

Оцените передаточную функцию дискретного времени второго порядка.

sys2d = tfest(z1,2,'Ts',0.1);

Сравните ответ дискретизированной модели передаточной функции непрерывного времени, sys1d, и непосредственно предполагаемая модель дискретного времени, sys2d.

compare(z1,sys1d,sys2d)

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

Эти две системы почти идентичны.

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

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

load iddata2
sysc = ssest(z2,4);

Предскажите, что 1 шаг вперед предсказал ответ sysc.

predict(sysc,z2)

Figure contains an axes. The axes contains an object of type line. These objects represent z2 (y1), sysc.

Дискретизируйте модель.

sysd = c2d(sysc,0.1,'zoh');

Создайте модель предиктора из дискретизированной модели, sysd.

[A,B,C,D,K] = idssdata(sysd);
Predictor = ss(A-K*C,[K B-K*D],C,[0 D],0.1);

Predictor 2D входная модель, которая использует измеренный выход и входные сигналы ([z1.y z1.u]) вычислить 1 шаг предсказало ответ sysc.

Симулируйте модель предиктора, чтобы получить тот же ответ как predict команда.

lsim(Predictor,[z2.y,z2.u])

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Driving inputs, Predictor.

Симуляция модели предиктора дает тот же ответ как predict(sysc,z2).

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

свернуть все

Модель непрерывного времени в виде модели динамической системы, такой как idtf, idss, или idpoly. sysc не может быть модель данных частотной характеристики. sysc может быть SISO или система MIMO, за исключением того, что 'matched' метод дискретизации поддерживает системы SISO только.

sysc может иметь ввод/вывод или внутренние задержки; однако, 'matched', 'impulse', и 'least-squares' методы не поддерживают модели в пространстве состояний с внутренними задержками.

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

  • idgrey модели, чей FunctionType 'c'. Преобразуйте в idss модель сначала.

  • idproc модели. Преобразуйте в idtf или idpoly модель сначала.

Шаг расчета в виде положительной скалярной величины, которая представляет период выборки получившейся системы дискретного времени. Ts находится в TimeUnit, который является sysc.TimeUnit свойство.

Метод дискретизации в виде одного из следующих значений:

  • 'zoh' — Нулевой порядок содержит (значение по умолчанию). Принимает, что входные параметры управления являются кусочной константой по шагу расчета Ts.

  • 'foh' — Треугольное приближение (изменил хранение первого порядка). Принимает, что входные параметры управления кусочны линейный по шагу расчета Ts.

  • 'impulse' — Импульсная дискретизация инварианта

  • 'tustin' — Билинейный (Тастин) метод. Задавать этот метод с предварительным деформированием частоты (раньше известный как 'prewarp' метод), используйте PrewarpFrequency опция c2dOptions.

  • 'matched' — Нулевой полюсный метод сопоставления

  • 'least-squares' — Метод наименьших квадратов

  • 'damped' — Ослабленное приближение Тастина на основе TRBDF2 формула для разреженных моделей только.

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

Опции дискретизации в виде a c2dOptions объект. Например, задайте частоту перед деформацией, порядок фильтра Thiran или метода дискретизации как опция.

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

свернуть все

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

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

  • Включает и измеренные и шумовые компоненты sysc. Инновационное отклонение λ непрерывного времени идентифицировало модель sysc, сохраненный в его NoiseVarianceсвойство, интерпретирован как интенсивность спектральной плотности шумового спектра. Шумовое отклонение в sysd таким образом λ/Ts.

  • Не включает предполагаемую ковариацию параметра sysc. Если вы хотите перевести ковариацию при дискретизации модели использовать translatecov.

Отображение начальных условий непрерывного времени x 0 и u 0 из модели в пространстве состояний sysc к вектору начального состояния дискретного времени x [0], возвращенный как матрица. Отображение начальных условий к вектору начального состояния следующие:

x[0]=G[x0u0]

Для моделей в пространстве состояний с задержками, c2d заполняет матричный G с обнуляет с учетом дополнительных состояний, введенных путем дискретизации тех задержек. См. Непрерывно-дискретные Методы Преобразования для обсуждения моделирования задержек дискретизированных систем.

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