Recursive Polynomial Model Estimator

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

  • Библиотека:
  • System Identification Toolbox / средства оценки

  • Recursive Polynomial Model Estimator block

Описание

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

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

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

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

  • ARMA — A (q) y (t) = C (q) e (t)

  • ARX — A (q) y (t) = B (q) u (tnk) + e (t)

  • ARMAX — A (q) y (t) = B (q) u (tnk) + C (q) e (t)

  • OE — 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. Например, порядок na представлен в A (q) полином:

1 + a1 q-1 + a2 q-2 + … + ana q-na.

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

B (q), полином уникален относительно других, потому что этот полином работает с входом и содержит системные нули. Для B (q) порядок nb является порядком полиномиального B (q) + 1:

b 1 + b2 q-1 + b3 q-2 + … + bnb q-(nb-1).

Порядки na, nb, nc, nd, nf и вход задерживают nk, знаются заранее. Задайте эти значения как параметры блоков. Обеспечьте u (t) и y (t) через Inputs и импорт Outputs, соответственно. Блок оценивает набор A (q), B (q), C (q), D (q) и F (q) коэффициенты, что использование структуры модели и выводит их в выходном порту Parameters. Во время оценки блок ограничивает предполагаемый C, D и полиномы F к стабильной области с корнями на единичном диске, позволяя предполагаемому A и полиномам B быть нестабильным. Выходной порт Parameters предоставляет сигналу шины следующие элементы:

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

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

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

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

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

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

y (t) + a1 y (t – 1) +... +anay (tna) = b1 u (tnk) + … + bnb u (tnbnk + 1) + e (t) + c1 e (t – 1) + … + cnc e (tnc)

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.

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

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

Зависимости

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

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

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

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

  • Основанная на системе координат входная обработка с выборками M на систему координат — M-by-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

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

  • Если 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 (t)].

Предполагаемый 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 является InfiniteInitialParameters и InitialCovariance

    • Если History является FiniteInitialOutputs для 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) полином, сопоставленный с соответствующим входом. Например, предположите, что у вас есть 2D вход система 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 является количеством входных параметров.

Например, предположите, что у вас есть 2D вход система MISO, B которой (q) элементы: [B1B2]=[0b11b1200b21]. Нули в начале полиномов представляют одно-демонстрационную задержку первого входа и 2D демонстрационную задержку второго входа (см. описание параметра 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 диагональная матрица с α как диагональные элементы.

  • Вектором из действительных положительных скалярных величин, [α (a), α (b), α (c), α (d), α (f)] — Ковариационная матрица является N-by-N диагональная матрица, с [α (a), α (b), α (c), α (d), α (f)] как диагональные элементы. α (a) является вектором из ковариации для каждого коэффициента полинома A. Точно так же α (b), α (c), α (d) и α (f) является векторами, содержащими ковариацию коэффициентов 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 th строка соответствует i th вход.

Блок считает начальные нули в 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)-by-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

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

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

Параметры блоков: 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'градиент
Значение по умолчанию: 'Forgetting Factor'

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

T0=11λ

  • Установка λ = 1 не соответствует “никакому упущению” и оценке постоянных коэффициентов.

  • Установка λ <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 диагональная матрица с α как диагональные элементы.

  • Вектором из действительных неотрицательных скаляров, [α 1..., α N] — Ковариационная матрица является N-by-N диагональная матрица, с [α 1..., α N] как диагональные элементы.

  • 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

Нормированный алгоритм градиента масштабирует усиление адаптации на каждом шаге квадратом 2D нормы вектора градиента. Если градиент близко к нулю, почти нулевой знаменатель может вызвать скачки в предполагаемых параметрах. 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 FilterR2 P ковариационная матрица предполагаемых параметров, и 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: Теория для Пользователя. Верхний Сэддл-Ривер, NJ: PTR Prentice Hall, 1999, стр 363–369.

[2] Чжан, Q. "Некоторые Аспекты Реализации Алгоритмов Наименьших квадратов Раздвижного окна". Продолжения IFAC. Издание 33, Выпуск 15, 2000, стр 763–768.

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

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

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

Введенный в R2014a