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

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

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

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

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

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

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

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

Здесь,

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

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

  • $u(t)$ и$u(t-1)$ выборки регрессора. Массив регрессора$H_s$ является вектором-строкой$${H_s} = \left[ {\matrix{   {u(t)} & {u(t - 1)}  \cr } } \right]$.

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

Системы координат данных содержат несколько выборок данных, сложенных в строках с последней строкой, содержащей новые данные. В данном примере каждая система координат содержит 10 выборок. Наблюдаемые вводы и выводы поэтому прибывают как$[u(1) ... u(10)]^T$ и$[y(1) ... y(10)]^T$, где$u(i)$ и$y(i)$ положения в системе координат в течение данного времени $t$и эквивалентны$u(t-10+i)$ и$y(t-10+i)$.

Система координат регрессора$H_f$ также использует эту укладку.$u(0)$ Элементом в правом верхнем углу является последняя выборка от предыдущего входного кадра.

$${H_f} = \left[ {\matrix{
  {{u(1)}} & {{u(0)}}  \cr
 {{u(2)}} & {{u(1)}}  \cr
   \vdots  &  \vdots   \cr
  {{u(10)}} & {{u(9)}}  \cr
} } \right]$$

Откройте предварительно сконфигурированный 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 обеспечивает ошибки предсказания в системе координат с векторным знаком$[e(1) ... e(10)]^T$, где$e(i)$ положение в системе координат в установленный срок$t$ и эквивалентно$e(t-10+i)$. Эти ошибки предсказания могут сравниться, наблюдал выходную систему координат$[y(1) ... y(10)]^T$ несколькими способами. Этот пример сравнивает 2-нормы этих векторов. Вектор ошибок с маленькой нормой относительно наблюдаемой выходной нормы предлагает успешную оценку. Осциллограф отображает график сравнения.

Результаты

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

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

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

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

| |

Похожие темы