В этом примере показано, как получить ответ с обратной связью обратной связи MIMO тремя различными способами.
В этом примере вы получаете ответ из Azref
к Az
из обратной связи MIMO следующей блок-схемы.
Можно вычислить ответ с обратной связью с помощью одного из следующих трех подходов:
Основанное на имени соединение с connect
Основанное на имени соединение с feedback
Основанное на индексе соединение с feedback
Можно использовать, какой бы ни из этих подходов является самым удобным для приложения.
Загрузите объект Aerodyn
и контроллер Autopilot
в рабочую область MATLAB®. Эти модели хранятся в файле данных MIMOfeedback.mat
.
load(fullfile(matlabroot,'examples','control','MIMOfeedback.mat'))
Aerodyn
пространство состояний с 7 выходами, с 4 входами (ss
) модель. Autopilot
ss
с 1 выходом, с 5 входами модель. Вводы и выводы обоих имен моделей появляются как показано в блок-схеме.
Вычислите ответ с обратной связью из Azref
к Az
использование connect
.
T1 = connect(Autopilot,Aerodyn,'Azref','Az');
Warning: The following block inputs are not used: Rho,a,Thrust.
Warning: The following block outputs are not used: Xe,Ze,Altitude.
connect
функционируйте комбинирует модели путем присоединения вводов и выводов, которые имеют соответствие с именами. Последние два аргумента к connect
задайте сигналы ввода и вывода получившейся модели. Поэтому T1
модель в пространстве состояний с входом Azref
и выход Az
. connect
функция игнорирует другие вводы и выводы в Autopilot
и Aerodyn
.
Вычислите ответ с обратной связью из Azref
к Az
использование основанного на имени соединения с feedback
команда. Используйте имена входа и выхода модели, чтобы задать соединения между Aerodyn
и Autopilot
.
Когда вы используете feedback
функционируйте, думайте о системе с обратной связью как о соединении обратной связи между контроллером объекта разомкнутого цикла комбинация L
и диагональный элемент обратной связи усиления единицы K
. Следующая блок-схема показывает это соединение.
L = series(Autopilot,Aerodyn,'Fin'); FeedbackChannels = {'Alpha','Mach','Az','q'}; K = ss(eye(4),'InputName',FeedbackChannels,... 'OutputName',FeedbackChannels); T2 = feedback(L,K,'name',+1);
Модель T2
с обратной связью представляет соединение положительной обратной связи
L
и K
. 'name'
опция вызывает feedback
соединять L
и K
путем соответствия с их именами ввода и вывода.
T2
модель в пространстве состояний с 7 выходами, с 5 входами. Ответ с обратной связью от Azref
к Az
T2('Az','Azref')
.
Вычислите ответ с обратной связью из Azref
к Az
использование feedback
, использование индексов, чтобы задать соединения между Aerodyn
и Autopilot
.
L = series(Autopilot,Aerodyn,1,4); K = ss(eye(4)); T3 = feedback(L,K,[1 2 3 4],[4 3 6 5],+1);
Векторы [1 2 3 4]
и [4 3 6 5]
задайте, какие вводы и выводы, соответственно, завершают соединение обратной связи. Например, feedback
использование выводит 4 и вводит 1 из L
создать первое соединение обратной связи. Функциональное использование выводит 3 и вводит 2, чтобы создать второе соединение и так далее.
T3
модель в пространстве состояний с 7 выходами, с 5 входами. Ответ с обратной связью от Azref
к Az
T3(6,5)
.
Сравните переходной процесс от Azref
к Az
подтвердить, что три подхода дают к тем же результатам.
step(T1,T2('Az','Azref'),T3(6,5),2)