c2d

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

Синтаксис

sysd = c2d(sys,Ts)
sysd = c2d(sys,Ts,method)
sysd = c2d(sys,Ts,opts)
[sysd,G] = c2d(sys,Ts,method)
[sysd,G] = c2d(sys,Ts,opts)

Описание

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

sysd = c2d(sys,Ts,method) дискретизирует sys с помощью заданного метода дискретизации method.

sysd = c2d(sys,Ts,opts) дискретизирует sys с помощью набора опции opts, заданное использование команды c2dOptions.

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

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

sys

Непрерывно-разовая модель динамической системы (кроме моделей данных частотной характеристики). sys может представлять SISO или систему MIMO, за исключением того, что метод дискретизации 'matched' поддерживает системы SISO только.

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

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

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

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

Для синтаксиса [sysd,G] = c2d(sys,Ts,opts) sys должен быть моделью в пространстве состояний.

Ts

'SampleTime' .

method

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

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

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

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

  • 'tustin' — Билинейный (Тастин) метод

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

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

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

opts

Опции дискретизации. Создайте opts с помощью c2dOptions.

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

sysd

Модель дискретного времени того же типа как входная система sys.

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

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

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

G

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

x[ 0]=G[x0u0]

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

Примеры

свернуть все

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

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,'--')

Дискретизируйте следующую задержанную передаточную функцию с помощью нулевого порядка, держатся вход, и 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,'-')

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

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)

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

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

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

load iddata2
sysc = ssest(z2,4);

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

predict(sysc,z2)

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

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])

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

Советы

  • Используйте синтаксис sysd = c2d(sys,Ts,method), чтобы дискретизировать sys с помощью опций по умолчанию для method. Чтобы задать дополнительные опции дискретизации, используйте синтаксис sysd = c2d(sys,Ts,opts).

  • Чтобы задать метод tustin с предварительным деформированием частоты (раньше известный как метод 'prewarp'), используйте опцию PrewarpFrequency c2dOptions.

Алгоритмы

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

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