Recursive Polynomial Model Estimator

Оцените вход-выход и timeseries полинома коэффициентов модели

  • Библиотека:
  • Набор средств идентификации/оценки системы

  • Recursive Polynomial Model Estimator block

Описание

Структуры модели

Используйте блок Recursive Polynomial Model Estimator для оценки полинома ввода-вывода в дискретном времени и моделей timeseries.

Эти структуры модели являются:

  • AR - A (q) y (t) = e (t)

  • ARMA - A (<reservedrangesplaceholder6>) y (<reservedrangesplaceholder4>) = C (<reservedrangesplaceholder2>) e (<reservedrangesplaceholder0>)

  • ARX - A (<reservedrangesplaceholder9>) y (<reservedrangesplaceholder7>) = B (<reservedrangesplaceholder5>) u (t - nk) + e (<reservedrangesplaceholder0>)

  • ARMAX - A (<reservedrangesplaceholder11>) y (<reservedrangesplaceholder9>) = B (<reservedrangesplaceholder7>) u (t - nk) + C (<reservedrangesplaceholder2>) e (<reservedrangesplaceholder0>)

  • ОЭ - y(t)=B(q)F(q)u(tnk)+e(t)

  • BJ - y(t)=B(q)F(q)u(tnk)+C(q)D(q)e(t)

q - оператор сдвига во времени, а nk - вход задержка. u (t) - вход, y (t) - выход, а e (t) - ошибка. Для моделей MISO существует столько же B (q) полиномов, сколько и количество входов.

Порядки этих моделей соответствуют максимальному количеству временных сдвигов, как представлено экспонентой q. Для образца порядка <reservedrangesplaceholder2> представлена в A (q) полиноме:

1 + <reservedrangesplaceholder1> <reservedrangesplaceholder0>-1 + <reservedrangesplaceholder1> <reservedrangesplaceholder0>-2 + … + <reservedrangesplaceholder1> <reservedrangesplaceholder0>-na.

Эквивалентное представление применяется к C (q), D (q) и F (q) полиномов и их соответствующим порядкам <reservedrangesplaceholder2> , <reservedrangesplaceholder1> и nf.

Полином B (q) уникален по отношению к остальным, потому что этот полином действует на входе и содержит нули системы. Для B (q) порядка <reservedrangesplaceholder2> является порядком полинома B (q) + 1:

<reservedrangesplaceholder2> 1 + <reservedrangesplaceholder1> <reservedrangesplaceholder0>-1 + <reservedrangesplaceholder1> <reservedrangesplaceholder0>-2 + … + <reservedrangesplaceholder1> <reservedrangesplaceholder0>-(nb-1).

Порядки <reservedrangesplaceholder28> , <reservedrangesplaceholder27> , <reservedrangesplaceholder26> , <reservedrangesplaceholder25> , <reservedrangesplaceholder24>, и вход nk задержки известны раньше времени. Задайте эти значения следующими параметрами блоков. Обеспечьте u (t) и y (t) через Inputs и Outputs входные порты, соответственно. Блок оценивает набор A (<reservedrangesplaceholder15>), B (<reservedrangesplaceholder13>), C (<reservedrangesplaceholder11>), D (<reservedrangesplaceholder9>), и F (<reservedrangesplaceholder7>) коэффициенты, что использование структуры модели и производит их в Parameters вспомогательном порту. Во время оценки блок ограничивает предполагаемые C, D и F полиномы стабильной областью с корнями в единичном диске, позволяя при этом предполагаемым A и B полиномам быть нестабильными. Выходной порт Parameters обеспечивает сигнал шины со следующими элементами:

  • A - Вектор, содержащий [1 a1 (t)... ana (<reservedrangesplaceholder0>)].

  • B - Вектор, содержащий [01... 0 <reservedrangesplaceholder7>, b1 (<reservedrangesplaceholder5>)... bnb (<reservedrangesplaceholder3>)]. Для данных MISO B является матрицей, где i-е параметры строки соответствуют i-му входу.

  • C - Вектор, содержащий [1 c1 (t)... cnc (<reservedrangesplaceholder0>)].

  • D - Вектор, содержащий [1 d1 (t)... dnd (<reservedrangesplaceholder0>)].

  • F - Вектор, содержащий [1 f1 (t)... fnf (<reservedrangesplaceholder0>)].

Например, предположим, что вы хотите оценить коэффициенты для следующей модели SISO ARMAX:

y (<reservedrangesplaceholder25>) + <reservedrangesplaceholder24> <reservedrangesplaceholder23> (t – 1) +... + <reservedrangesplaceholder21> <reservedrangesplaceholder20> (t – na) = <reservedrangesplaceholder17> <reservedrangesplaceholder16> (t – nk) + … + <reservedrangesplaceholder13> <reservedrangesplaceholder12> (t – nb – nk + 1) + e (<reservedrangesplaceholder7>) + <reservedrangesplaceholder6> <reservedrangesplaceholder5> (t – 1) + … + <reservedrangesplaceholder3> <reservedrangesplaceholder2> (t – nc)

y, u, na, nb, nc, и nk являются известными количествами, которые Вы предоставляете блоку. Для каждого временного шага, t, блок оценивает A, B и C значения параметров, ограничивая только C полином стабильной областью. Затем блок выводит эти оцененные значения с помощью выходного порта Parameters.

Возможности блоков

Блок поддерживает несколько методов оценки и форматов входа данных. Блок может предоставить как бесконечную историю [1], так и конечную историю [2] (также известную как скользящее окно) оценки для θ. Конфигурируемые опции в блоке включают:

  • Несколько входов (только структура модели ARX) - См. Inputs порт.

  • Основанный на выборке или основанный на кадре формат данных - См. параметр Input Processing.

  • Несколько методов оценки бесконечной истории [1] - См. параметр Estimation Method.

  • Бесконечная история (все структуры модели) или конечная история (только структуры модели AR, ARX или OE) - См. History параметр.

  • Начальные условия, флаг включения и триггер сброса - См. параметры Initial Estimate, Add enable port и External Reset.

Для получения дополнительной информации о методах оценки см. «Рекурсивные алгоритмы для онлайн-оценки параметра».

Порты

Вход

расширить все

Входной сигнал u (t). Параметр Input Processing и количество входов nu задать размерности сигнала. Только структура модели ARX может иметь несколько входов, nu больше 1.

  • Основанные на дискретизации входные параметры и nu входы - nu-на-1 вектор

  • Основанная на кадрах обработка входных параметров с M выборками на систему координат и nu входами - M -by- nu матрица

Зависимости

Чтобы включить этот порт, установите параметр Model Structure равным ARX, ARMAX, BJ, или OE.

Типы данных: single | double

Измеренный выходной сигнал y (t). Параметр Input Processing определяет размерности сигнала:

  • Основанная на выборке вход - Скаляр

  • Основанная на кадрах вход с M выборками на систему координат - M-на-1 вектор

Типы данных: single | double

Внешний сигнал, который позволяет включать и отключать обновления оценок. Если значение сигналов:

  • true - Оцените и выведите значения параметров для временного шага.

  • false - Не оценивайте значения параметров и выводите самое последнее ранее оцененное значение.

Зависимости

Чтобы включить этот порт, выберите параметр Add enable port.

Типы данных: single | double | Boolean | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32

Сбросьте оценку параметра к его начальным условиям. Значение параметра External reset определяет тип триггера. Тип триггера диктует, происходит ли сброс на сигнале, который поднимается, падает, или поднимается, или падает, уровень, или на удержании уровня.

Зависимости

Чтобы включить этот порт, выберите любую опцию кроме None в External reset выпадающего списка.

Типы данных: single | double | Boolean | int8 | int16 | int32 | uint8 | uint16 | uint32

Начальные оценки параметров, поставляемые из внешнего источника в блок. Блок использует этот входной порт в начале симуляции или когда вы запускаете сброс алгоритма с помощью Reset сигнала.

Для получения информации о содержимом объекта InitialParameters шины см. описание Parameters порта.

Зависимости

Чтобы включить этот порт, установите History равным Infinite и Initial Estimate к External.

Типы данных: single | double

Ковариации начальных параметров, подаваемые из внешнего источника в блок. Для получения дополнительной информации смотрите параметр Parameter Covariance Matrix. Блок использует этот входной порт в начале симуляции или когда вы запускаете сброс алгоритма с помощью Reset сигнала.

Зависимости

Чтобы включить этот порт, установите следующие параметры:

  • History с Infinite

  • Estimation Method с Forgetting Factor или Kalman Filter

  • Initial Estimate с External

Типы данных: single | double

Начальный набор входов при использовании конечноисточниковой (sliding-window) оценки, подаваемой из внешнего источника.

  • Если Model Structure ARX, тогда сигнал к этому порту должен быть матрицей (W -1 + max (nb) + max (nk)) -by - nu, где W - длина окна, а nu - количество входов. nb - вектор B (q) полинома порядков, а nk - вектор входа задержек.

  • Если Model Structure OE, тогда сигнал к этому порту должен быть вектором (W -1 + nb + nk) -by-1, где W - длина окна. nb - вектор B (q) полинома порядков, а nk - вектор входа задержек.

Блок использует этот входной порт в начале симуляции или всякий раз, когда запускается Reset сигнал.

Если начальный буфер установлен в 0 или не содержит достаточной информации, вы видите предупреждающее сообщение на начальной фазе вашей оценки. Предупреждение должно проясниться через несколько циклов. Количество циклов, которое требуется для буферизации достаточной информации, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Зависимости

Чтобы включить этот порт, установите:

  • History с Finite

  • Model Structure с ARX или OE

  • Initial Estimate с External

Типы данных: single | double

Исходный набор измерений выхода при использовании конечноисточниковой (скользящее окно) оценки, поданной от внешнего источника.

  • Если Model Structure AR или ARX, тогда сигнал к этому порту должен быть вектором (W + na) -by-1, где W - длина окна, а na - полином порядка A (q).

  • Если Model Structure OE, тогда сигнал к этому порту должен быть вектором (W + nf) -by-1, где W - длина окна, а nf - полином порядка F (q).

Блок использует этот входной порт в начале симуляции или всякий раз, когда запускается Reset сигнал.

Если начальный буфер установлен в 0 или не содержит достаточной информации, вы видите предупреждающее сообщение на начальной фазе вашей оценки. Предупреждение должно проясниться через несколько циклов. Количество циклов, которое требуется для буферизации достаточной информации, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Зависимости

Чтобы включить этот порт, установите:

  • History с Finite

  • Model Structure с AR, ARX, или OE

  • Initial Estimate с External

Типы данных: single | double

Выход

расширить все

Предполагаемые многочленные коэффициенты, возвращенные как автобус. Автобус содержит элемент для каждого из A, B, C, D, и F полиномы, которые соответствуют структуре, которую Вы определяете в Model Structure (см. Структуры модели).

Каждый элемент шины является вектором сигналом, содержащим связанные полиномиальные коэффициенты. Например, элемент A содержит [1 a1 (t)... ana (<reservedrangesplaceholder0>)].

Предполагаемые C, D и F значения ограничены стабильными полиномами дискретного времени. То есть все эти полиномы имеют корни в модуль круге. Предполагаемые A и B полиномы допускаются к нестабильности.

Типы данных: single | double

Ошибка расчета, возвращенная как:

  • Скаляр - обработка входов на основе выборки

  • M вектор -by-1 - основанная на кадрах вход с M выборками на систему координат

Зависимости

Чтобы включить этот порт, выберите параметр Output estimation error.

Типы данных: single | double

Ковариационная P ошибки расчета параметра, возвращенная как N -by - N матрица, где N - количество параметров. Для получения дополнительной информации смотрите параметр Output Parameter Covariance Matrix.

Зависимости

Чтобы включить этот порт:

  • Выберите параметр Output parameter covariance matrix.

  • Если History Infinite, установите Estimation Method равным Forgetting Factor или Kalman Filter.

Типы данных: single | double

Параметры

расширить все

Структура модели

Предполагаемая структура модели, заданная как одно из следующего:

  • ARX - модель SISO или MISO ARX

  • ARMAX - модель SISO ARMAX

  • OE - модель SISO OE

  • BJ - SISO BJ модель

  • AR - Модель AR timeseries

  • ARMA - Модель ARMA timeseries

Параметры модели

Задайте, как предоставить начальные оценки параметров блоку:

  • None - Не указывать первоначальные оценки.

    Блок использует 0 в качестве начальной оценки параметра.

    Задайте параметры, которые позволяет блок на основе вашего выбора структуры модели и метода оценки.

    • Задайте набор параметров Number of Parameters () которые блок включает на основе вашего Model Structure. Например, если ваша настройка Model Structure AR, задайте параметр Number of Parameters in A(q) (na).

    • Задайте параметр Input Delay (nk), который позволяет блок, когда ваша структура модели использует B (q) элемент .

    • Задайте Parameter Covariance Matrix, если Estimation Method Forgetting Factor или Kalman Filter.

  • Internal - Внутренне задайте начальные оценки параметров для блока.

    • Задайте начальные значения параметров Initial () параметры, которые блок включает на основе ваших Model Structure и History. Например, если ваша настройка Model Structure AR а History есть Infinite, задайте параметр Initial A(q).

    • Задайте параметр Input Delay (nk), который позволяет блок, когда ваша структура модели использует B (q) элемент .

    • Задайте параметр Parameter Covariance Matrix, если Estimation Method Forgetting Factor или Kalman Filter.

    • Задайте параметр Initial Inputs (ARX и OE только) и параметр Initial Outputs (ARX, AR, и OE) если History Finite.

  • External - Задайте начальные оценки параметров как входной сигнал к блоку.

    Задайте параметры Number of Parameters (), которые позволяет блок, на основе вашего Model Structure. Ваша настройка для Model Structure и для параметра History определяет, какие сигналы следует соединить с соответствующими портами:

    • Если History Infinite - InitialParameters и InitialCovariance

    • Если History Finite - InitialOutputs для AR, ARX, и OE моделировать структуры и InitialInputs для ARX и OE моделировать структуры

Программное использование

Параметры блоков: InitialEstimateSource
Тип: Вектор символов, строка
Значения: 'None', 'Internal', 'External'
По умолчанию: 'None'

Задайте количество оценочных параметров, na в A (q) полиноме.

Зависимости

Чтобы включить этот параметр, либо:

  • Установите History значение Infinite, Model Structure к AR, ARX, ARMA, или ARMAX, и Initial Estimate к None или External.

  • Установите History значение Finite, Model Structure к AR или ARX, и Initial Estimate к None или External.

Программное использование

Параметры блоков: A0
Тип: неотрицательное целое число
По умолчанию: 1

Задайте количество оценочных параметров, nb в B (q) полиноме.

Для систем MISO, использующих структуру модели ARX, задайте nb как вектор с таким количеством элементов, сколько существует входов. Каждый элемент этого вектора представляет порядок B (q) полинома, сопоставленного с соответствующим входом. Например, предположим, что у вас есть система MISO с двумя входами, B (q) элементы которой :[B1B2]=[0b1100b21b22]. Нуль в начале каждого полинома представляет один вход сигнала для каждого входа (см. Initial B(q) описание параметра). Конечный нуль в B1 предназначен для выравнивания длины полиномов и не имеет влияния на оценку. nb для каждого полинома равно количеству оцененных параметров, следующих за начальным нулем, или 1 для входа 1 и 2 для входа 2. Задайте Number of Parameters in B(q) (nb) следующим [1 2], и Input Delay (nk) как [1 1].

Зависимости

Чтобы включить этот параметр, либо:

  • Установите History значение Infinite, Model Structure к ARX, ARMAX, BJ, или OE, и Initial Estimate к None или External.

  • Установите History значение Finite с Model Structure ARX или OE и Initial Estimate к None или External.

Программное использование

Параметры блоков: B0
Тип: положительное целое число
По умолчанию: 1

Задайте количество оценочных параметров, nc в C (q) полиноме.

Зависимости

Чтобы включить этот параметр, установите History равным Infinite, Model Structure к ARMA, ARMAX, или BJ, и Initial Estimate к None или External

Программное использование

Параметры блоков: C0
Тип: положительное целое число
По умолчанию: 1

Задайте количество оценочных параметров, nd в D (q) полиноме.

Зависимости

Чтобы включить этот параметр, установите History равным Infinite, Model Structure к BJ, и Initial Estimate к None или External.

Программное использование

Параметры блоков: D0
Тип: положительное целое число
По умолчанию: 1

Задайте количество оценочных параметров, nf в F (q) полиноме.

Зависимости

Чтобы включить этот параметр, установите Initial Estimate равным None или External и либо:

  • History с Infinite, Model Structure к OE или BJ, и Initial Estimate к None или External

  • History с Finite, Model Structure к OE, и Initial Estimate к None или External

.

Программное использование

Параметры блоков: F0
Тип: положительное целое число
По умолчанию: 1

Задайте входную задержку как целое число, представляющее количество временных шагов, которые происходят до того, как вход влияет на выход. Эта задержка также называется потерей времени в системе. Блок кодирует вход задержку как фиксированные начальные нули B (q) полинома. Для получения дополнительной информации смотрите описание параметра B (q).

Для систем MISO со структурой модели ARX задайте nk как вектор с элементами, определяющими задержку для каждого входа. Этот вектор имеет nu длины, где nu - количество входов.

Например, предположим, что у вас есть система MISO с двумя входами, B (q) элементы которой :[B1B2]=[0b11b1200b21]. Нули в начале полиномов представляют задержку с одной выборкой для первого входа и задержку с двумя выборками для второго входа (см. Initial B(q) описание параметра). nb для каждого полинома равно количеству оцененных параметров, следующих за начальными нулями, или 2 для входных 1 и 1 для входов 2. Задайте Input Delay (nk) следующим [1 2], и Number of Parameters in B(q) (nb) как [2 1].

Зависимости

Чтобы включить этот параметр, либо:

  • Установите History значение Infinite, Model Structure к ARX, ARMAX, OE, или BJ, и Initial Estimate к None или External.

  • Установите History значение Finite, Model Structure к ARX или OE, и Initial Estimate к None или External.

Программное использование

Параметры блоков: nk
Тип: неотрицательный целочисленный вектор
По умолчанию: 1

  • Действительная положительная скалярная величина, α - Ковариационная матрица - N -by N диагональная матрица с α в качестве диагональных элементов.

  • Вектор реальных положительных скалярных величин, [α (<reservedrangesplaceholder35>), α (<reservedrangesplaceholder33>), α (<reservedrangesplaceholder31>), α (<reservedrangesplaceholder29>), α (<reservedrangesplaceholder27>)] - Ковариационная матрица N N диагональной матрицей, с (<reservedrangesplaceholder23>), α (<reservedrangesplaceholder21>), α (<reservedrangesplaceholder19>), α (<reservedrangesplaceholder17>), α (<reservedrangesplaceholder15>)] как диагональные элементы. α (a) является вектором ковариации для каждого коэффициента A полинома. Точно так же α (<reservedrangesplaceholder10>), α (<reservedrangesplaceholder8>), α (<reservedrangesplaceholder6>) и α (<reservedrangesplaceholder4>) являются векторами, содержащими ковариацию коэффициентов B, C, D и F полиномы, соответственно.

  • N -by N симметричная положительно-определенная матрица.

    N может быть одним из следующих:

    • ARN = na

    • ARXN=na+i=1Nunbi

    • ARMAN = na + nc

    • ARMAXN = na + nb + nc

    • OEN = nb + nf

    • BJN = nb + nc + nd + nf

Зависимости

Чтобы включить этот параметр, установите

  • History с Infinite

  • Initial Estimate с None или Internal

  • Estimation Method с Forgetting Factor или Kalman Filter

Блок использует этот параметр в начале симуляции или всякий раз, когда запускается Reset сигнал.

Программное использование

Параметры блоков: P0
Тип: скаляр, вектор или матрица
По умолчанию: 1e4

Задайте начальную оценку A (q) полиномиальных коэффициентов как вектор-строка длины na + 1.

Начальный коэффициент A должен быть 1.

Зависимости

Чтобы включить этот параметр, установите:

  • Model Structure с AR, ARX, ARMA, или ARMAX

  • Initial Estimate с Internal

Программное использование

Параметры блоков: A0
Тип: вектор действительных чисел
По умолчанию: [1 eps]

Задайте начальную оценку B (q) полиномиальных коэффициентов как вектор-строка длины nb + nk. Для моделей с несколькими входами задайте матрицу, где i-я строка соответствует i-му входу.

Блок подсчитывает начальные нули в B (q) и интерпретирует их как входные nk задержки. Эти нули фиксируются в течение всей оценки. nb - количество элементов после первого ненулевого элемента в B (q). Блок оценивает значение этих nb элементов.

Для примера:

  • [0 eps] соответствует nk = 1 и nb = 1.

  • [0 0 eps] соответствует nk = 2 и nb = 1.

  • [0 0 eps 0 eps] соответствует nk = 2 и nb = 3.

Значение по умолчанию [0 eps].

Зависимости

Чтобы включить этот параметр, установите:

  • Model Structure с ARX, ARMAX, OE, или BJ

  • Initial Estimate с Internal

Программное использование

Параметры блоков: B0
Тип: вектор действительных чисел или матрица
По умолчанию: [0 eps]

Задайте начальную оценку C (q) полиномиальных коэффициентов как вектор-строка длины nc + 1.

Начальный коэффициент C (q) должен быть 1.

Коэффициенты должны задать стабильный полином в дискретном времени, то есть иметь все полиномиальные корни в модуль круге.

Зависимости

Чтобы включить этот параметр, установите:

  • History с Infinite

  • Model Structure с ARMA, ARMAX, или BJ

  • Initial Estimate с Internal

Программное использование

Параметры блоков: C0
Тип: вектор действительных чисел
По умолчанию: [1 eps]

Задайте начальную оценку D (q) полиномиальных коэффициентов как вектор-строка длины nd + 1.

Начальный коэффициент D (q) должен быть 1.

Коэффициенты должны задать стабильный полином в дискретном времени, то есть иметь все полиномиальные корни в модуль круге.

Зависимости

Чтобы включить этот параметр, установите:

  • History с Infinite

  • Model Structure с BJ

  • Initial Estimate с Internal

Программное использование

Параметры блоков: D0
Тип: вектор действительных чисел
По умолчанию: [1 eps]

Задайте начальную оценку F (q) полиномиальных коэффициентов как вектор-строка длины nf + 1.

Начальный коэффициент F (q) должен быть 1.

Коэффициенты должны задать стабильный полином в дискретном времени, то есть иметь все полиномиальные корни в модуль круге.

Зависимости

Чтобы включить этот параметр, установите:

  • Model Structure с OE или к BJ

  • Initial Estimate с Internal

Программное использование

Параметры блоков: F0
Тип: вектор действительных чисел
По умолчанию: [1 eps]

Задайте начальные значения буфера входов при использовании конечной оценки (скользящее окно). Размерности буфера включают указанную длину окна, регрессоры, сопоставленные с полиномами в этом окне, задержки ввода и количество входов. Эти элементы управляют размером матрицы:

  • Структура модели ARX - (W -1 + max (nb) + max (nk)) -by- nu

  • Структура модели OE - (W -1 + nb + nk) -by-1

где W - длина окна, а nu - количество входов. nb - вектор B (q) полинома порядков, а nk - вектор входа задержек.

Когда начальное значение установлено в 0блок заполняет буфер нулями.

Если начальный буфер установлен в 0 или не содержит достаточной информации, вы видите предупреждающее сообщение на начальной фазе вашей оценки. Предупреждение должно проясниться через несколько циклов. Количество циклов, которое требуется для буферизации достаточной информации, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Блок использует этот параметр в начале симуляции или всякий раз, когда запускается Reset сигнал.

Зависимости

Чтобы включить этот параметр, установите

  • History с Finite

  • Model Structure с ARX или OE

  • Initial Estimate с Internal

.

Программное использование

Параметры блоков: InitialInputs
Тип: действительная матрица
По умолчанию: 0

Задайте начальные значения буфера измеренных выходов при использовании оценки конечной истории (скользящее окно). Размерности буфера включают указанную длину окна и регрессоры, сопоставленные с полиномами в этом окне.

  • Структура модели AR или ARX - (W + na) -by-1 вектор, где W - длина окна, а na - полином порядка A (q).

  • Структура модели OE - (W + nf) -на-1 вектор, где W - длина окна, а nf - полином порядка F (q).

Когда начальное значение установлено в 0блок заполняет буфер нулями.

Если начальный буфер установлен в 0 или не содержит достаточной информации, вы видите предупреждающее сообщение на начальной фазе вашей оценки. Предупреждение должно проясниться через несколько циклов. Количество циклов, которое требуется для буферизации достаточной информации, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Блок использует этот параметр в начале симуляции или всякий раз, когда запускается Reset сигнал.

Зависимости

Чтобы включить этот параметр, установите:

  • History с Finite

  • Model Structure с AR, ARX, или OE

  • Initial Estimate с Internal

Программное использование

Параметры блоков: InitialOutputs
Тип: вектор действительных чисел
По умолчанию: 0

Входные Времена вычислений и Шаг расчета

  • Sample-based обработка действует на сигналы, передаваемые потоком по одной выборке за раз.

  • Frame-based обработка действует на сигналы, содержащие выборки из нескольких временных шагов. Многие интерфейсы датчиков машины упаковывают несколько выборок и передают эти выборки вместе в системах координат. Frame-based обработка позволяет вводить эти данные непосредственно без необходимости их первой распаковки.

Установка данных на основе фрейма добавляет дополнительную размерность M к некоторым входным и выходным портам данных, где M количество временных шагов в системе координат. Этими портами являются:

  • Inputs

  • Output

  • Error

Для получения дополнительной информации см. описание портов в Ports.

Программное использование

Параметры блоков: InputProcessing
Тип: Вектор символов, строка
Значения: 'Sample-based', 'Frame-based'
По умолчанию: 'Sample-based'

Задайте шаг расчета данных, будь то отдельными выборками для обработки на основе выборки (ts) или систем координат для обработки на основе фрейма (tf = M ts), где M - длина системы координат. Когда вы устанавливаете Sample Time на его значение по умолчанию -1, блок наследует свою ts или tf на основе сигнала.

Задайте Sample Time как положительная скалярная величина, чтобы переопределить наследование.

Программное использование

Параметры блоков: Ts
Тип: реальный скаляр
Значения: –1, положительная скалярная величина
По умолчанию: –1

Алгоритм и опции блоков

Опции алгоритма

Параметр History определяет, какой тип рекурсивного алгоритма вы используете:

  • Infinite - Алгоритмы в этой категории направлены на создание оценок параметров, которые объясняют все данные с начала симуляции. Эти алгоритмы сохраняют историю в сводных данных данных. Блок поддерживает эти сводные данные в фиксированном объеме памяти, который не растет с течением времени.

    Блок предоставляет несколько алгоритмов Infinite тип. Выбор этой опции включает параметр Estimation Method, с помощью которого вы задаете алгоритм.

  • Finite - Алгоритмы в этой категории направлены на создание оценок параметров, которые объясняют только конечное число прошлых выборок данных. Блок использует все данные в конечном окне и отбрасывает данные, когда эти данные больше не находятся в пределах границ окна. Этот метод также называется оценкой окна скольжения.

    Блок предоставляет один алгоритм Finite тип. Использовать эту опцию можно только с AR, ARX, и OE моделировать структуры.

    Выбор этой опции включает параметр Window Length.

Для получения дополнительной информации о рекурсивных методах оценки см. «Рекурсивные алгоритмы для онлайн-оценки параметра»

Программное использование

Параметры блоков: History
Тип: Вектор символов, строка
Значения: 'Infinite', 'Finite'
По умолчанию: 'Infinite'

Параметр Window Length определяет количество временных выборок, которые будут использоваться для метода оценки конечной истории (скользящее окно). Выберите размер окна, которое балансирует эффективность оценки с вычислительной нагрузкой и нагрузкой на память. Размерные коэффициенты включают количество и временное отклонение параметров в вашей модели. Всегда задайте Window Length в выборках, даже если вы используете входную обработку на основе фрейма.

Window Length должны быть больше или равны количеству предполагаемых параметров.

Подходящая длина окна не зависит от того, используете ли вы обработку входа на основе сэмплирования или фрейма. Однако при использовании обработки на основе кадра Window Length должны быть больше или равны количеству выборок (временных шагов), содержащихся в системе координат.

Зависимости

Чтобы включить этот параметр, установите History равным Finite.

Программное использование

Параметры блоков: WindowLength
Тип: положительное целое число
По умолчанию: 200

Задайте алгоритм оценки при выполнении бесконечной оценки истории. Когда вы выбираете любой из этих методов, блок включает дополнительные связанные параметры.

Алгоритмы забывающего фактора и фильтра Калмана более интенсивны в вычислительном отношении, чем градиентные и нормализованные градиентные методы. Однако эти более интенсивные методы имеют лучшие свойства сходимости, чем градиентные методы. Для получения дополнительной информации об этих алгоритмах см. «Рекурсивные алгоритмы для оценки Параметра в режиме онлайн».

Программное использование

Параметры блоков: EstimationMethod
Тип: Вектор символов, строка
Значения: 'Forgetting Factor', 'Kalman Filter', 'Normalized Gradient', 'Gradient'
По умолчанию: 'Forgetting Factor'

Коэффициент забывания λ определяет, будет ли и сколько старых данных дисконтировано в оценке. Предположим, что система остается приблизительно постоянной на T0 выборках. Можно выбрать λ такие, что:

T0=11λ

  • Установка λ = 1 соответствует «no formetting» и оценке постоянных коэффициентов.

  • Установка λ < 1 подразумевает, что прошлые измерения менее значимы для оценки параметра и могут быть «забыты». Установите λ < 1, чтобы оценить изменяющиеся во времени коэффициенты.

Типичные варианты λ находятся в области значений [0,98 0,995].

Зависимости

Чтобы включить этот параметр, установите History равным Infinite и Estimation Method к Forgetting Factor.

Программное использование

Параметры блоков: AdaptationParameter
Тип: скаляр
Значения: (0 1] область значений
По умолчанию: 1

Process Noise Covariance предписывает элементы и структуру шумовой ковариационной матрицы для оценки фильтра Калмана. Используя N в качестве количества параметров для оценки, задайте Process Noise Covariance как одно из следующего:

  • Действительный неотрицательный скаляр, α - Ковариационная матрица - N -by N диагональная матрица с α в качестве диагональных элементов.

  • Вектор реальных неотрицательных скаляров, [<reservedrangesplaceholder7> 1..., <reservedrangesplaceholder6> <reservedrangesplaceholder5>] - Ковариационная матрица N N диагональной матрицей, с [<reservedrangesplaceholder2> 1..., <reservedrangesplaceholder1> <reservedrangesplaceholder0>] как диагональные элементы.

  • N -by N симметричная положительная полуопределенная матрица.

Алгоритм фильтра Калмана обрабатывает параметры как состояния динамической системы и оценивает эти параметры с помощью фильтра Калмана. Process Noise Covariance - ковариация шума процесса, действующая на эти параметры. Нулевые значения в шумовой ковариационной матрице соответствуют постоянным коэффициентам или параметрам. Значения, большие 0, соответствуют изменяющимся во времени параметрам. Используйте большие значения для быстрого изменения параметров. Однако ожидайте, что большие значения приведут к более шумным оценкам параметра. Значение по умолчанию является 1.

Зависимости

Чтобы включить этот параметр, установите History равным Infinite и Estimation Method к Kalman Filter.

Программное использование

Параметры блоков: AdaptationParameter
Тип: скаляр, вектор, матрица
По умолчанию: 1

Адаптационный γ усиления масштабирует влияние новых данных измерений на результаты оценки для градиентных и нормализованных градиентных методов. Когда ваши измерения заслуживают доверия или другими словами имеют высокое отношение сигнал/шум, задайте большее значение для γ. Однако установка слишком высокой γ может привести к различиям в оценках параметра. Это расхождение возможно, даже если измерения свободны от шума.

Когда Estimation Method NormalizedGradient, Adaptation Gain должно быть меньше 2. С любым методом градиента, если ошибки растут во времени (другими словами, оценка расходится), или оценки параметра часто скачут вокруг, рассмотрите уменьшение Adaptation Gain.

Зависимости

Чтобы включить этот параметр, установите History равным Infinite и Estimation Method к Normalized Gradient или к Gradient.

Программное использование

Параметры блоков: AdaptationParameter
Тип: скаляр
По умолчанию: 1

Нормированный алгоритм градиента масштабирует коэффициент усиления адаптации на каждом шаге на квадрат двух норм вектора градиента. Если градиент близок к нулю, знаменатель около нуля может вызвать переходы предполагаемых параметров. Normalization Bias - это термин, введенный в знаменатель, чтобы предотвратить эти переходы. Увеличьте Normalization Bias, если вы наблюдаете переходы в предполагаемых параметрах.

Зависимости

Чтобы включить этот параметр, установите History равным Infinite и Estimation Method к Normalized Gradient.

Программное использование

Параметры блоков: NormalizationBias
Тип: скаляр
По умолчанию: eps
Опции блока

Используйте сигнал выхода Error, чтобы подтвердить оценку. Для заданного временного шага t e ошибки расчета (t) вычисляется как:

e(t)=y(t)yest(t),

где y (t) - это измеренный результат, который вы предоставляете, а yest (t) - это предполагаемый результат с использованием H регрессоров (t) и оценок параметров θ (t -1).

Программное использование

Параметры блоков: OutputError
Тип: Вектор символов, строка
Значения: 'off', 'on',
По умолчанию: 'off'

Используйте сигнал выхода Covariance, чтобы изучить неопределенность оценки параметра. Программа вычисляет ковариационную P параметра принимая, что невязки, e (t), являются белым шумом, и отклонение этих невязок равно 1 .

Толкование P зависит от подхода оценки, который вы указываете в History и Estimation Method следующим образом:

  • Если History Infinite, затем ваш Estimation Method выбор приводит к:

    • Forgetting Factor — (R2/2) P приблизительно равен ковариационной матрице оцененных параметров, где R2 является истинным отклонением невязок. Блок возвращает эти невязки через Error порт.

    • Kalman Filter<reservedrangesplaceholder1> <reservedrangesplaceholder0> - ковариационная матрица предполагаемых параметров, а R1/ R2 - ковариационная матрица изменений параметров. Здесь R1 является матрицей ковариации, которую вы задаете в Parameter Covariance Matrix.

    • Normalized Gradient или Gradient - Ковариационная P недоступен.

  • Если History Finite (оценка скользящего окна) - R2 P - ковариация предполагаемых параметров. Алгоритм скользящего окна не использует эту ковариацию в процессе оценки параметра. Однако алгоритм вычисляет ковариацию для выхода, так что вы можете использовать его для статистической оценки.

Программное использование

Параметры блоков: OutputP
Тип: Вектор символов, строка
Значения: 'off', 'on'
По умолчанию: 'off'

Используйте сигнал Enable, чтобы обеспечить управляющий сигнал, который включает или отключает оценку параметра. Блок оценивает значения параметров для каждого временного шага, когда оценка параметра включена. Если вы отключаете оценку параметра на заданном шаге, t, то программное обеспечение не обновляет параметры для того временного шага. Вместо этого выход блока содержит последние оцененные значения параметров.

Можно использовать эту опцию, например, когда или если:

  • Ваши регрессоры или выходной сигнал становятся слишком шумными или не содержат информацию в какой-то временные шаги

  • Ваша система входит в режим, где значения параметров не изменяются во времени

Программное использование

Параметры блоков: AddEnablePort
Тип: Вектор символов, строка
Значения: 'off', 'on'
По умолчанию: 'off'

Установите параметр External reset, чтобы добавить входной порт Reset и задайте условие входного сигнала, которое запускает сброс состояний алгоритма, до их заданных начальных значений. Сбросьте оценку, для примера, если ковариация параметра становится слишком большой из-за отсутствия достаточного возбуждения или информации в измеренных сигналах. Параметр External reset определяет время для сброса.

Предположим, что вы сбрасываете блок за один временной шаг, t. Если блок включен в t, программное обеспечение использует начальные значения параметров, указанные в Initial Estimate, чтобы оценить значения параметров. Другими словами, на t блок выполняет обновление параметра, используя начальную оценку и текущие значения входных портов.

Если блок отключен в t, и вы сбрасываете блок, выход блока содержит значения, указанные в Initial Estimate.

Задайте эту опцию как один из следующих:

  • None - Состояния алгоритма и предполагаемые параметры не сбрасываются.

  • Rising - Сброс триггера, когда сигнал управления повышается с отрицательного или нулевого значения до положительного. Если начальное значение отрицательное, увеличение до нуля триггеров сбрасывается.

  • Falling - Сброс триггера, когда сигнал управления падает с положительного или нулевого значения на отрицательное значение. Если начальное значение положительное, падение до нуля триггеров сбрасывается.

  • Either - Сброс триггера, когда сигнал управления поднимается или падает.

  • Level - Сброс триггера в любом из следующих случаев:

    • Управляющий сигнал ненулевой на текущем временном шаге.

    • Сигнал управления изменяется с ненулевого на предыдущем временном шаге на нуль на текущем временном шаге.

  • Level hold - Триггер сброса, когда сигнал управления ненулевой на текущем временном шаге.

Когда вы выбираете любую опцию кроме Noneпрограммное обеспечение добавляет входной порт сброса к блоку. Вы предоставляете входной сигнал управления сбросом этому входному порту.

Программное использование

Параметры блоков: ExternalReset
Тип: Вектор символов, строка
Значения: 'None', 'Rising', 'Falling', 'Either', 'Level', 'Level hold'
По умолчанию: 'None'

Ссылки

[1] Ljung, L. System Identification: Теория для пользователя. Upper Saddle River, NJ: Prentice-Hall PTR, 1999, pp. 363-369.

[2] Zhang, Q. «Некоторые аспекты реализации алгоритмов наименьших квадратов скользящего окна». Материалы IFAC. Том 33, Выпуск 15, 2000, стр. 763-768.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

Генерация кода ПЛК
Сгенерируйте структурированный текстовый код с помощью Coder™ Simulink ® PLC

.
Введенный в R2014a