В этом примере показано, как использовать основанные на кадрах сигналы с блоком оценки рекурсивных наименьших квадратов в Simulink ®. Машинные интерфейсы часто предоставляют данные датчиков в кадрах, содержащих несколько образцов, а не в отдельных образцах.
Блоки рекурсивной оценки в Toolbox™ идентификации системы принимают эти кадры непосредственно при установке для параметра Обработка ввода значения Frame-based.
Блоки используют одни и те же алгоритмы оценки для обработки входных данных на основе выборок и кадров. Результаты оценки идентичны. Однако существуют некоторые особые соображения по работе с входными данными на основе кадров в Simulink и по визуализации результатов.
Этот пример представляет собой основанную на кадрах версию примера на основе выборки в разделе «Параметры оценки системы с использованием блока рекурсивной оценки Simulink». Ссылка на функцию для recursiveLS Пример эквивалентной командной строки на основе образцов.
Система имеет два параметра и представлена следующим образом:

Здесь,
и
являются выборками входных и выходных данных в реальном времени, соответственно
и
являются параметрами.
и
являются выборками-регрессорами. Массив-регрессор
является вектором строки.![$${H_s} = \left[ {\matrix{ {u(t)} & {u(t - 1)} \cr } } \right]$](../../examples/ident/win64/UseFrameBasedDataWhenEstimatingRecursivelyInSimulinkRExample_eq09527975540804037876.png)
Кадры данных содержат несколько выборок данных, уложенных в строки, причем последняя строка содержит самые последние данные. В этом примере каждый кадр содержит 10 выборок. Поэтому наблюдаемые входные и выходные сигналы поступают в виде
и,
где
и являются
позициями в кадре в течение заданного времени и
эквивалентны и.

В кадре-регрессоре
также используется эта укладка.
Элемент в правом верхнем углу является последним образцом из предыдущего входного кадра.
![$${H_f} = \left[ {\matrix{
 {{u(1)}} & {{u(0)}} \cr
 {{u(2)}} & {{u(1)}} \cr
 \vdots & \vdots \cr
 {{u(10)}} & {{u(9)}} \cr
} } \right]$$](../../examples/ident/win64/UseFrameBasedDataWhenEstimatingRecursivelyInSimulinkRExample_eq16052010232692640823.png)
Откройте предварительно настроенную модель Simulink на основе блока оценки рекурсивных наименьших квадратов.
rlsfb = 'ex_RLS_Estimator_Block_fb';
open_system(rlsfb)

Загрузите входные и выходные сигналы на основе кадра в рабочее пространство. Каждый сигнал состоит из 30 кадров, каждый кадр содержит десять отдельных отсчетов времени. В этой реализации время выборки составляет 1 секунду, а время кадра - 10 секунд.
load iddata3_frames input_sig_frame output_sig_frame
Из рабочей области блокируется импорт загруженных сигналов. В приложении эти данные могут поступать непосредственно с оборудования.
Модель создает рамку «Регрессоры» Hframe в подсистеме Construct Regressors с использованием input_sig_frame.
open_system([rlsfb '/Construct Regressors'])

Как описано, сигнал регрессора на основе кадра состоит из всех элементов текущего кадра наблюдаемых входов вместе с последней выборкой из предыдущего кадра. Блок селектора извлекает последнюю выборку из наблюдаемого входного кадра, и блок задержки сохраняет это значение для следующего шага кадра.
Сконструировать регрессоры, функциональный блок MATLAB, строит сигнал Hframe. Первый столбец Hframe содержит текущий входной кадр. Второй столбец содержит текущий кадр, сдвинутый на одну позицию. Первый элемент второго столбца, представляющий самую старую выборку, находится из предыдущего наблюдаемого входного кадра.
Конфигурация блока включает в себя обработку ввода на основе кадра с временем выборки 10.
Порт Error предоставляет ошибки прогнозирования в кадре с векторными значениями,
где
- положение в кадре в данный момент времени
и эквивалентно.
Эти ошибки прогнозирования можно сравнить с наблюдаемым выходным кадром
несколькими способами. В этом примере сравниваются 2-нормы этих векторов. Вектор ошибки с малой нормой относительно наблюдаемой выходной нормы предполагает успешную оценку. В области отображается график сравнения.
Запустите моделирование. Область параметров показывает ход
выполнения оценок параметров и. В соседнем окне Отображение параметров (Parameter Display) отображаются текущие значения
и.
В области Performance отображаются 2-нормы наблюдаемых выходных сигналов и кадров ошибок прогнозирования, как описано с ошибкой, так как сравнивается с исходным сигналом измерения, как описано в разделе Визуализация ошибок.
sim(rlsfb) open_system([rlsfb '/Parameters']) open_system([rlsfb '/Performance'])


График параметров показывает, что оценки параметров сходятся приблизительно при T = 150. График производительности показывает, что ошибки прогнозирования малы по сравнению с наблюдаемыми выходами. Эти результаты свидетельствуют об успешной оценке. Окончательные оценки параметров на экране параметров идентичны оценкам в командной строке и примерах Simulink на основе образцов, связанных в начале этого примера.
Рекурсивный оценщик наименьших квадратов | Оценщик рекурсивной полиномиальной модели | recursiveLS