Преобразуйте модель из непрерывной в дискретное время
дискретизирует динамическую модель динамической системы в непрерывном времени
syscsysd
= c2d(sysc
,Ts
) использование удержания нулевого порядка на входах и шага расчета
Ts
.
Дискретизируйте следующую передаточную функцию в непрерывном времени:
Эта система имеет вход задержку 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-Hz частоту дискретизации.
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
соответствующий триановому фильтру третьего порядка. Поскольку временная задержка, разделенная на шаг расчета, составляет 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
является моделью с двумя входами, которая использует измеренные выходные и входные сигналы ([z1.y z1.u])
для вычисления 1-шагового предсказанного отклика sysc
.
Симулируйте модель предиктора, чтобы получить тот же ответ, что и predict
команда.
lsim(Predictor,[z2.y,z2.u])
Симуляция модели предиктора дает тот же ответ, что и predict(sysc,z2)
.
sysc
- Динамическая система в непрерывном времениМодель в непрерывном времени, заданная как динамическая системная модель, такая как tf
, ss
, или zpk
. sysc
не может быть моделью данных частотной характеристики. sysc
может быть системой SISO или MIMO, за исключением того, что 'matched'
метод дискретизации поддерживает только системы SISO.
sysc
может иметь вход/выход или внутренние задержки времени; однако, 'matched'
, 'impulse'
, и 'least-squares'
методы не поддерживают модели пространства состояний с внутренними временными задержками.
Следующие идентифицированные линейные системы не могут быть дискретизированы непосредственно:
idgrey
модели, чьи FunctionType
является 'c'
. Преобразовать в idss
сначала модель.
idproc
модели. Преобразовать в idtf
или idpoly
сначала модель.
Ts
- Шаг расчетаШаг расчета, заданная как положительная скалярная величина, которая представляет период выборки полученной системы дискретного времени. Ts
находится в TimeUnit
, который является sysc.TimeUnit
свойство.
method
- Метод дискретизации'zoh'
(по умолчанию) | 'foh'
| 'impulse'
| 'tustin'
| 'matched'
| 'least-squares'
Метод дискретизации, заданный как одно из следующих значений:
'zoh'
- Удержание нулевого порядка (по умолчанию). Принимает, что входы управления являются кусочно-постоянными во шаг расчета Ts
.
'foh'
- треугольное приближение (модифицированное удержание первого порядка). Предполагает, что входы управления являются кусочно-линейными за шаг расчета Ts
.
'impulse'
- Импульсная инвариантная дискретизация
'tustin'
- Билинейный (Тастин) метод. Чтобы задать этот метод с подготовкой частоты (ранее известной как 'prewarp'
метод), используйте PrewarpFrequency
опция c2dOptions
.
'matched'
- Метод соответствия нулевого полюса
'least-squares'
- Метод наименьших квадратов
'damped'
- Демпфированное приближение Тастина на основе TRBDF2
формула только для разреженных моделей.
Для получения информации об алгоритмах для каждого метода преобразования, смотрите Непрерывно-Дискретные Методы Преобразования.
opts
- Опции дискретизацииc2dOptions
объектОпции дискретизации, заданные как c2dOptions
объект. Для примера задайте предварительную частоту, порядок фильтра Thiran или метод дискретизации как опцию.
sysd
- Модель в дискретном времениМодель в дискретном времени, возвращенная как динамическая системная модель того же типа, что и входная система sysc
.
Когда sysc
является идентифицированной (IDLTI) моделью, sysd
:
Включает как измеренные, так и шумовые компоненты sysc
. Инновации отклонения λ идентифицированной модели в непрерывном времени sysc
, хранится в его NoiseVariance
свойство, интерпретируется как интенсивность спектральной плотности шумового спектра. Отклонение шума в sysd
таким образом, λ/Ts.
Не включает предполагаемую ковариацию параметра sysc
. Если вы хотите перевести ковариацию при дискретизации модели, используйте translatecov
.
G
- Отображение непрерывных начальных условий модели пространства состояний на вектор начального состояния в дискретном времениОтображение начальных условий в непрерывном времени x 0 и u 0 модели
пространства состояний sysc
к вектору начального состояния x [0] в дискретном времени, возвращенному в виде матрицы. Отображение начальных условий к вектору начального состояния выглядит следующим образом :
Для моделей пространства состояний с задержками во времени, c2d
заполняет матрицу G
с нулями для учета дополнительных состояний, введенных путем дискретизации этих задержек. Смотрите Непрерывно-Дискретные Методы Преобразования для обсуждения задержек моделирования в дискретизированных системах.
c2dOptions
| Преобразуйте скорость модели | d2c
| d2d
| thiran
| translatecov
(System Identification Toolbox)
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.