Оцените параметры системы Используя Simulink рекурсивный блок средства оценки

В этом примере показано, как оценить параметры системы 2D параметра и сравнить измеренные и предполагаемые выходные параметры.

Этим примером является версия Simulink примера оценки параметра командной строки, обеспеченного в recursiveLS.

Система имеет два параметра и представлена как:

$y(t) = a_1u(t) + a_2u(t-1)$

Здесь,

  • $u$ и$y$ входные и выходные данные в реальном времени, соответственно.

  • $u(t)$ и$u(t-1)$ регрессоры$H$, системы.

  • $a_1$ и$a_2$ параметры$\theta$, системы.

Загрузите данные и извлеките вход, выведите, и информация времени.

Чтобы непосредственно сравнить этот пример с командной строкой recursiveLS пример, переключите временной вектор одним положением. Этот сдвиг синхронизирует вход Simulink (время запускается в 0) с входом командной строки (время запускается в первом шаге расчета).

load iddata3
input = z3.u;
output = z3.y;
time = z3.SamplingInstants-1;

Создайте сигналы Ввода и вывода для Simulink.

input_sig = timeseries(input,time);
output_sig = timeseries(output,time);

Откройте предварительно сконфигурированный Simulink, основанный на модели на блоке Recursive Least Squares Estimator. В этой модели:

  • input_sig и блоки output_sig импортируют input_sig и output_sig.

  • Модель создает сигнал Регрессоров путем маршрутизации input_sig через блок линии задержки и затем мультиплексирование задержанного сигнала с исходным сигналом.

  • Порт Error обеспечивает предполагаемый сигнал ошибки. Блок Sum вычитает эту ошибку из input_sig произвести предполагаемый выход.

  • Блок Mux затем комбинирует измеренное (output_sig) и оцененные выходные сигналы так, чтобы можно было просмотреть их вместе на осциллографе.

rls = 'ex_RLS_Estimator_Block_sb_inf';
open_system(rls)

Запустите симуляцию. Осциллограф Параметра показывает прогрессию оценки. Смежное Отображение Параметра отображает итоговые численные значения. Выходной Осциллограф строит измеренные и предполагаемые выходные параметры вместе.

sim(rls)
open_system([rls '/Parameter Scope'])
open_system([rls '/Outputs Scope'])

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

  • Измените Метод оценки, чтобы видеть, как ваш выбор алгоритма влияет на ваши результаты.

  • История изменений к finite и ваша Длина Окна к 30 применять алгоритм раздвижного окна.

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

| |

Похожие темы