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

Этот пример показывает, как получить ответ с обратной связью обратной связи MIMO тремя различными способами.

В этом примере вы получаете ответ от Azref до Az обратной связи MIMO следующей блок-схемы.

Можно вычислить ответ с обратной связью с помощью одного из следующих трех подходов:

  • Основанное на имени соединение с connect

  • Основанное на имени соединение с feedback

  • Основанное на индексе соединение с feedback

Можно использовать, какой бы ни из этих подходов является самым удобным для приложения.

Загрузите объект Aerodyn и контроллер Autopilot в рабочую область MATLAB®. Эти модели хранятся в файле данных MIMOfeedback.mat.

load(fullfile(matlabroot,'examples','control','MIMOfeedback.mat'))

Aerodyn является моделью (ss) пространства состояний с 7 выводами, с 4 входами. 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)

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

|

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

Больше о