Программное обеспечение Control System Toolbox™ включает несколько команд для извлечения коэффициентов модели, таких как числитель передаточной функции и коэффициенты знаменателя, матрицы пространства состояний и усиления пропорциональной интегральной производной (PID).
Следующие команды доступны для экстракции данных.
Команда | Результат |
---|---|
tfdata | Извлеките коэффициенты передаточной функции |
zpkdata | Нуль извлечения и местоположения полюса и системное усиление |
ssdata | Извлеките матрицы пространства состояний |
dssdata | Извлеките матрицы пространства состояний дескриптора |
frdata | Извлеките данные о частотной характеристике из frd модель |
piddata | Извлеките данные о ПИДе параллельной формы |
pidstddata | Извлеките данные о ПИДе стандартной формы |
get | Доступ ко всем значениям свойств модели |
Когда вы используете команду экстракции данных на модели другого типа, программное обеспечение вычисляет коэффициенты целевого типа модели. Например, если вы используете zpkdata
на a ss
модель, программное обеспечение преобразует модель в zpk
сформируйтесь и возвращает нуль и местоположения полюса и системное усиление.
В этом примере показано, как извлечь числитель передаточной функции и содействующее использование знаменателя tfdata
.
Создайте первый порядок плюс модель передаточной функции потери времени.
s = tf('s'); H = exp(-2.5*s)/(s+12);
Извлеките коэффициенты знаменателя и числитель.
[num,den] = tfdata(H,'v')
Переменные num
и den
числовые массивы. Без 'v'
флаг, tfdata
возвращает массивы ячеек.
Примечание
Для моделей передаточной функции SISO можно также извлечь содействующее использование:
num = H.Numerator{1}; den = H.Denominator{1};
Извлеките задержку.
Определите который свойство H
содержит задержку.
В SISO tf
модель, можно описать задержку как входную задержку, выходную задержку или транспортную задержку (задержка ввода-вывода).
get(H)
Numerator: {[0 1]} Denominator: {[1 12]} Variable: 's' IODelay: 0 InputDelay: 0 OutputDelay: 2.5000 Ts: 0 TimeUnit: 'seconds' InputName: {''} InputUnit: {''} InputGroup: [1×1 struct] OutputName: {''} OutputUnit: {''} OutputGroup: [1×1 struct] Notes: [0×1 string] UserData: [] Name: '' SamplingGrid: [1×1 struct]
Задержка хранится в OutputDelay
свойство.
Извлеките выходную задержку.
delay = H.OutputDelay;
То В этом примере показано, как извлечь ПИД (пропорциональная интегральная производная), получает от использования передаточной функции piddata
. Можно использовать те же шаги, чтобы извлечь коэффициенты ПИД из модели любого типа, который представляет ПИД-регулятор, с помощью piddata
или pidstddata
.
Создайте передаточную функцию, которая представляет ПИД-регулятор фильтром первого порядка на производном термине.
Czpk = zpk([-6.6,-0.7],[0,-2],0.2)
Получите коэффициенты ПИД и отфильтруйте постоянный.
[Kp,Ki,Kd,Tf] = piddata(Czpk)
Эта команда возвращает пропорциональную составляющую Kp
, интегральная составляющая Ki
, производное усиление Kd
, и производная фильтрует постоянную времени Tf
. Поскольку piddata
автоматически вычисляет параметры ПИД-регулятора, можно извлечь коэффициенты ПИДа, не создавая a pid
модель.