exponenta event banner

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

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

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

Система имеет два параметра и представлена следующим образом:

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

Здесь,

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

  • $u(t)$ и$u(t-1)$ являются регрессорами $H$системы.

  • $a_1$ и$a_2$ являются параметрами $\theta$системы.

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

Чтобы непосредственно сравнить этот пример с примером рекуррентного LS командной строки, переместите вектор времени на одну позицию. Этот сдвиг синхронизирует вход 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 на основе блока оценки рекурсивных наименьших квадратов. В этой модели:

  • Импорт блоков input_sig и output_sig input_sig и output_sig.

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

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

  • Блок мультиплексора затем объединяет измеренные значения (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 для применения алгоритма скользящего окна.

См. также

| |

Связанные темы