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

Этот пример показывает, как использовать основанные на кадре сигналы с блоком Recursive Least Squares Estimator в Simulink®. Интерфейсы машины часто обеспечивают данные о датчике в кадрах, содержащих несколько выборок, а не в отдельных выборках.

Рекурсивные блоки оценки в System Identification Toolbox™ принимают эти кадры непосредственно, когда вы устанавливаете Входную Обработку на Frame-based.

Блоки используют те же алгоритмы оценки для основанной на выборке и основанной на кадре входной обработки. Результаты оценки идентичны. Существуют некоторые специальные замечания, однако, для работы с основанными на кадре входными параметрами в Simulink, и для визуализации результатов.

Этим примером является основанная на кадре версия основанного на выборке примера в Оценочных Параметрах Системы Используя Simulink Рекурсивный Блок Средства оценки. Ссылка на функцию для recursiveLS обеспечивает эквивалентный основанный на выборке пример командной строки.

Системное описание

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

Здесь,

  • и выборки входных и выходных данных в реальном времени, соответственно

  • и параметры.

  • и выборки регрессора. Массив регрессора является вектором - строкой.

Основанные на кадре входные параметры

Кадры данных содержат несколько выборок данных, сложенных в строках с последней строкой, содержащей новые данные. В данном примере каждый кадр содержит 10 выборок. Наблюдаемые вводы и выводы поэтому прибывают как и, где и положения в кадре в течение данного времени и эквивалентны и.

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

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

rlsfb = 'ex_RLS_Estimator_Block_fb';
open_system(rlsfb)

Наблюдаемые вводы и выводы

Загрузите основанные на кадре сигналы ввода и вывода в рабочую область. Каждый сигнал состоит из 30 кадров, каждый кадр, содержащий десять отдельных выборок времени. В этой реализации шаг расчета составляет 1 секунду, и время кадра составляет 10 секунд.

load iddata3_frames input_sig_frame output_sig_frame

Из Рабочей области импорт блоков сигнализирует, что вы загрузили. В вашем приложении эти данные могут прибывать непосредственно от вашего оборудования.

Регрессоры

Модель создает кадр Регрессоров Hframe в подсистеме Регрессоров Построения, с помощью input_sig_frame.

open_system([rlsfb '/Construct Regressors'])

Как Основанные на кадре описанные Входные параметры, основанный на кадре сигнал регрессора состоит из всех элементов текущего кадра наблюдаемых входных параметров, наряду с последней выборкой от предыдущего кадра. Селекторный блок извлекает последнюю выборку от наблюдаемого входного кадра, и блок Delay хранит это значение для следующего шага кадра.

Создайте Регрессоры, блок MATLAB function, создает Hframe сигнала. Первый столбец Hframe содержит текущий входной кадр. Второй столбец содержит текущий кадр, переключенный одним положением. Первый элемент второго столбца, представляя самую старую выборку, от предыдущего наблюдаемого входного кадра.

Рекурсивный блок оценочной функции методом наименьших квадратов

Настройка блока включает основанную на кадре входную обработку с шагом расчета 10.

Ошибочная визуализация

Порт Error обеспечивает ошибки прогноза в кадре с векторным знаком, где положение в кадре в установленный срок и эквивалентно. Эти ошибки прогноза могут сравниться, наблюдал выходной кадр несколькими способами. Этот пример сравнивает 2-нормы этих векторов. Вектор ошибок с маленькой нормой относительно наблюдаемой выходной нормы предлагает успешную оценку. Осциллограф отображает график сравнения.

Результаты

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

sim(rlsfb)
open_system([rlsfb '/Parameters'])
open_system([rlsfb '/Performance'])

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

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

| |

Похожие темы