Оценка параметров системы, использующей блок Simulink Recursive Estimator

Этот пример показывает, как оценить параметры двухпараметрической системы и сравнить измеренные и оцененные выходы.

Этот пример является версией 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 Last 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 для применения алгоритма скользящего окна.

См. также

| |

Похожие темы