В этом примере показано, как использовать команды для непрерывных/дискретных, дискретных/непрерывных и дискретных/дискретных преобразований.
Система управления Toolbox™ обеспечивает широкую поддержку дискретизации и повторной дискретизации линейных систем, включая:
c2d дискретизирует модели непрерывного времени
d2c вычислять непрерывные расширения дискретных моделей времени
d2d выполняет повторную выборку дискретно-временных моделей.
Для выполнения этих операций имеется несколько алгоритмов, в том числе:
Удержание нулевого заказа
Удержание первого заказа
Инвариант импульса
Тастин
Совпадающие полюса/нули.

Например, рассмотрим систему второго порядка с задержкой:

Для вычисления его дискретизации удержания нулевого порядка (ZOH) с частотой дискретизации 10 Гц введите
G = tf([1 -2],[1 3 20],'inputdelay',1); Ts = 0.1; % sampling interval Gd = c2d(G,Ts)
Gd =
0.07462 z - 0.09162
z^(-10) * ----------------------
z^2 - 1.571 z + 0.7408
Sample time: 0.1 seconds
Discrete-time transfer function.
Сравните непрерывные и дискретные ответы на шаги:
step(G,'b',Gd,'r') legend('Continuous','Discretized')

И наоборот, вы можете использовать d2c вычисляют «интерполятор» непрерывного времени для данной дискретно-временной системы. Начиная с дискретизации Gd вычисленный выше, преобразовать его обратно в непрерывный и сравнить с исходной моделью G:
Gc = d2c(Gd); step(G,'b',Gd,'r',Gc,'g--') legend('Original','Discretized','D2C Interpolant')

Два непрерывных ответа отлично совпадают. Вы не всегда можете получить идеальное совпадение, особенно когда ваш интервал выборки Ts слишком велик, и во время дискретизации происходит наложение псевдонимов:
Ts = 1; % 10 times larger than previously Hd = c2d(G,Ts); Hc = d2c(Hd); step(G,'b',Hd,'r',Hc,'g--',10) legend('Original','Discretized','D2C Interpolant')

Повторная выборка состоит из изменения интервала выборки дискретно-временной системы. Эта операция выполняется с помощью d2d. Например, рассмотрим дискретизацию 10 Гц Gd нашей оригинальной модели непрерывного времени G. Вы можете выполнить повторную выборку при частоте 40 Гц, используя:
Gr = d2d(Gd,0.025)
Gr =
0.02343 z - 0.02463
z^(-40) * ----------------------
z^2 - 1.916 z + 0.9277
Sample time: 0.025 seconds
Discrete-time transfer function.
Сравните это с прямой дискретизацией при 40 Гц:
step(G,'b',Gr,'r',c2d(G,0.025),'g--',4) legend('Continuous','Resampled from 0.1 to 0.025','Discretized with Ts=0.025')

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