Обратная связь MIMO

В этом примере показано, как получить ответ с обратной связью обратной связи 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)

Смотрите также

|

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте