exponenta event banner

recursiveARX

Создание системного объекта для оперативной оценки параметров модели ARX

Синтаксис

obj = recursiveARX
obj = recursiveARX(Orders)
obj = recursiveARX(Orders,A0,B0)
obj = recursiveARX(___,Name,Value)

Описание

Использовать recursiveARX команда для оценки параметров с данными реального времени. Если все данные, необходимые для оценки, доступны одновременно и выполняется оценка инвариантной по времени модели, используйте команду offline estimation, arx.

obj = recursiveARX создает системный object™ для оперативной оценки параметров структуры модели ARX по умолчанию. Структура модели по умолчанию имеет многочлены порядка 1 и начальные значения коэффициентов многочленов eps.

После создания объекта используйте step команда обновления оценок параметров модели с использованием алгоритмов рекурсивной оценки и данных в реальном времени.

obj = recursiveARX(Orders) определяет порядки полиномов модели ARX, которая должна быть оценена.

obj = recursiveARX(Orders,A0,B0) задает порядки многочленов и начальные значения коэффициентов многочленов.

obj = recursiveARX(___,Name,Value) задает дополнительные атрибуты структуры модели ARX и алгоритм рекурсивной оценки с использованием одного или нескольких Name,Value аргументы пары.

Описание объекта

recursiveARX создает объект System для оперативной оценки параметров моделей ARX с одним входом и одним выходом (SISO) или с несколькими входами и одним выходом (MISO) с использованием рекурсивного алгоритма оценки.

Системный объект - это специализированный объект MATLAB ®, разработанный специально для реализации и моделирования динамических систем с вводами, изменяющимися с течением времени. Системные объекты используют внутренние состояния для сохранения поведения в прошлом, которое используется на следующем шаге вычисления .

После создания объекта System используются команды для обработки данных или получения информации об объекте. Системные объекты используют минимум две команды для обработки данных - конструктор для создания объекта и step для обновления параметров объекта с использованием данных в реальном времени. Это разделение объявления от выполнения позволяет создавать несколько постоянных объектов многократного использования, каждый из которых имеет различные настройки.

С интерактивными объектами системы оценки в Toolbox™ Идентификация системы можно использовать следующие команды:

КомандаОписание
step

Обновление оценок параметров модели с использованием алгоритмов рекурсивной оценки и данных в реальном времени.

step переводит объект в заблокированное состояние. В заблокированном состоянии невозможно изменить неперестраиваемые свойства или входные спецификации, такие как порядок модели, тип данных или алгоритм оценки. Во время выполнения можно изменять только настраиваемые свойства.

release

Разблокируйте объект System. Эта команда используется для включения настройки неперестраиваемых параметров.

reset

Сбросьте внутренние состояния заблокированного объекта System до начальных значений и оставьте объект заблокированным.

clone

Создайте другой объект System с теми же значениями свойств объекта.

Не создавать дополнительные объекты с помощью синтаксиса obj2 = obj. Любые изменения свойств нового объекта, созданные таким образом (obj2) также изменить свойства исходного объекта (obj).

isLocked

Запрос заблокированного состояния для входных атрибутов и неперестраиваемых свойств объекта System.

Используйте recursiveARX для создания оперативного объекта системы оценки. Затем оцените параметры модели ARX (A и B) и вывода с помощью step команда с входными и выходными данными, u и y.

[A,B,EstimatedOutput] = step(obj,y,u)

Для recursiveARX свойства объекта см. в разделе Свойства.

Примеры

свернуть все

Создайте объект System для оперативной оценки параметров модели SISO ARX.

obj = recursiveARX;

Модель ARX имеет структуру по умолчанию с многочленами порядка 1 и начальными значениями коэффициента полинома, eps.

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

load iddata1 z1;
output = z1.y;
input = z1.u;

Оценка параметров модели ARX в оперативном режиме с использованием step.

for i = 1:numel(input)
[A,B,EstimatedOutput] = step(obj,output(i),input(i));
end

Просмотр текущих расчетных значений полинома B коэффициенты.

obj.B
ans = 1×2

         0    0.7974

Просмотр текущей оценки ковариации параметров.

obj.ParameterCovariance
ans = 2×2

    0.0002    0.0001
    0.0001    0.0034

Просмотр текущего расчетного выходного сигнала.

EstimatedOutput
EstimatedOutput = -4.7766

Укажите заказы и задержки модели ARX.

na = 1;
nb = 2;
nk = 1;

Создайте объект System для оперативной оценки модели SISO ARX с известными начальными полиномиальными коэффициентами.

A0 = [1 0.5];
B0 = [0 1 1];
obj = recursiveARX([na nb nk],A0,B0);

Укажите исходный параметр ковариации.

obj.InitialParameterCovariance = 0.1;

InitialParameterCovariance представляет неопределенность в вашем предположении для начальных параметров. Как правило, по умолчанию InitialParameterCovariance (10000) слишком велико относительно значений параметра. Это приводит к тому, что начальным догадкам уделяется меньше внимания во время оценки. Если вы доверяете начальным параметрам догадки, укажите меньший начальный параметр ковариации.

Укажите заказы и задержки для модели ARX с двумя входами и одним выходом.

na = 1;
nb = [2 1];
nk = [1 3];

nb и nk задаются в виде векторов строк длиной, равной числу входов, Nu.

Укажите начальные полиномиальные коэффициенты.

A0 = [1 0.5];
B0 = [0 1 1 0; 0 0 0 0.8];

B0 имеет Nu строк и max(nb+nk) столбцы. i-я строка соответствует i-му входу и определяется как имеющая nk(i) нули, за которыми следуют nb(i) начальные значения. Значения после nb(i)+nk(i) игнорируются.

Создайте объект System для оперативной оценки модели ARX с известными начальными полиномиальными коэффициентами.

obj = recursiveARX([na nb nk],A0,B0);

Создайте объект System, использующий алгоритм нормализованного градиента для оперативной оценки параметров модели ARX.

obj = recursiveARX([1 2 1],'EstimationMethod','NormalizedGradient');

Входные аргументы

свернуть все

Модельные порядки и задержки модели ARX, определяемые как вектор целых чисел или векторов 1 на 3, [na nb nk].

  • na - порядок многочлена A (q), определяемый как неотрицательное целое число.

  • nb - Порядок многочлена B (q) + 1, заданного 1-by-Nu виде вектора положительных целых чисел. Nu - количество входов.

    Для моделей MISO существует столько многочленов B (q), сколько входов .nb(i) - порядок i-го многочлена Bi (q) + 1 для i-го входа.

  • nk - Задержка ввода-вывода, заданная как вектор 1-by-Nu неотрицательных целых чисел. Nu - количество входов.

    Для моделей MISO существует столько многочленов B (q), сколько входов .nk(i) - время задержки ввода-вывода, соответствующее i-му входу.

Начальное значение коэффициентов многочленов A (q) и B (q), указанных как вектор строки и матрица или вещественные значения соответственно. Укажите элементы в порядке возрастания степеней q-1.

  • A0 - Начальное значение коэффициентов многочлена A (q), заданное как 1-by- (na+1) вектор строки с 1 в качестве первого элемента.

  • B0 - Начальное значение коэффициентов многочлена B (q), указанное как Nu-by-max(nb+nk) матрица. Nu - количество входов.

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

na, nb, и nk являются Orders модели.

Указание как [], использует значение по умолчанию eps для коэффициентов полинома.

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Использовать Name,Value аргументы для указания доступных для записи свойств recursiveARX Системный объект во время создания объекта. Например, obj = recursiveARX([2 2 1],'EstimationMethod','Gradient') создает объект System для оценки модели ARX с помощью 'Gradient' алгоритм рекурсивной оценки.

Свойства

recursiveARX Свойства системного объекта состоят из свойств, доступных только для чтения и записи. Свойства, доступные для записи, настраиваются и не настраиваются. Неперестраиваемые свойства не могут быть изменены, когда объект заблокирован, то есть после использования step команда.

Использовать Name,Value аргументы для указания доступных для записи свойств recursiveARX объектов во время создания объекта. После создания объекта используйте точечную нотацию для изменения настраиваемых свойств.

obj = recursiveARX;
obj.ForgettingFactor = 0.99;

A

Оцененные коэффициенты многочлена A (q), возвращаемые в виде вектора строки вещественных значений, заданных в порядке возрастающих степеней q-1.

A является свойством, доступным только для чтения и первоначально пустым после создания объекта. Он заполняется после использования step команда для оперативной оценки параметров.

B

Оцененные коэффициенты многочлена B (q), возвращенные как Nu-by-max(nb+nk) матрица вещественных значений. Nu - количество входов.

I-й ряд B соответствует i-му входу и содержит nk(i) ведущие нули, за которыми следуют nb(i) расчетные параметры, заданные в порядке возрастающих степеней q-1. Игнорировать нулевые записи за пределами nk(i)+nb(i).

B является свойством, доступным только для чтения и первоначально пустым после создания объекта. Он заполняется после использования step команда для оперативной оценки параметров.

InitialA

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

Если начальные догадки намного меньше, чем по умолчанию InitialParameterCovariance10000, начальные догадки имеют меньшее значение при оценке. В этом случае укажите меньшую ковариацию начального параметра.

InitialA является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: [1 eps]

InitialB

Начальные значения коэффициентов многочлена B (q), заданного как Nu-by-max(nb+nk) матрица. Nu - количество входов.

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

Если начальные догадки намного меньше, чем по умолчанию InitialParameterCovariance10000, начальные догадки имеют меньшее значение при оценке. В этом случае укажите меньшую ковариацию начального параметра.

InitialB является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: [0 eps]

InitialOutputs

Начальные значения измеряемого выходного буфера в конечной хронологической оценке, указанные как 0 или в виде вектора (W + na) -by-1, где W - длина окна иna - порядок многочлена A (q), заданный при построении объекта.

InitialOutputs свойство предоставляет средство управления начальным поведением алгоритма.

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

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

Определить InitialOutputs только когда History является Finite.

InitialOutputs является настраиваемым свойством. Вы можете изменить InitialOutputs когда объект находится в заблокированном состоянии.

По умолчанию: 0

InitialInputs

Начальные значения входов в окне конечной истории, указанные как 0 или в виде матрицы (W-1 + max (nb) + max (nk)) -by-nu, где W - длина окна, а nu - количество входов. nb - вектор B (q) полиномиальных порядков, а nk - вектор входных задержек, которые задаются при построенииrecursiveARX объект.

InitialInputs свойство предоставляет средство управления начальным поведением алгоритма.

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

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

Определить InitialInputs только когда History является Finite.

InitialInputs является настраиваемым свойством. Вы можете изменить InitialInputs когда объект находится в заблокированном состоянии.

По умолчанию: 0

ParameterCovariance

Оценочная ковариация P из параметров, возвращаемых в виде N-на-N симметричной положительно-определенной матрицы. N - количество оцениваемых параметров. Вычисляет программное обеспечение P предполагая, что остатки (разность между оцененными и измеренными выходами) являются белым шумом, и дисперсия этих остатков равна 1.

ParameterCovariance применима только тогда, когда EstimationMethod является 'ForgettingFactor' или 'KalmanFilter' или когда History является Finite.

Толкование P зависит от ваших настроек для History и EstimationMethod свойства.

  • Если History является Infinite, то ваш EstimationMethod выбор приводит к одному из следующих результатов:

    • 'ForgettingFactor' — (R2/2)P приблизительно равна ковариационной матрице оцененных параметров, где R2 - истинная дисперсия остатков.

    • 'KalmanFilter'R2P - ковариационная матрица оцененных параметров, а R1/ R2 - ковариационная матрица изменений параметров. Здесь R1 является матрицей ковариации, которая указана в ProcessNoiseCovariance.

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

ParameterCovariance является свойством, доступным только для чтения и первоначально пустым после создания объекта. Он заполняется после использования step команда для оперативной оценки параметров.

InitialParameterCovariance

Ковариация начальных оценок параметров, указанных как одна из следующих:

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

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

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

InitialParameterCovariance представляет неопределенность в начальных оценках параметров. Для больших значений InitialParameterCovariance, меньшее значение придается начальным значениям параметров и больше - измеренным данным в начале оценки с использованием step.

Использовать только тогда, когда EstimationMethod является 'ForgettingFactor' или 'KalmanFilter'.

InitialParameterCovariance является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: 10000

EstimationMethod

Алгоритм рекурсивной оценки, используемый для оперативной оценки параметров модели, определяется как одно из следующих значений:

  • 'ForgettingFactor' - Алгоритм, используемый для оценки параметров

  • 'KalmanFilter' - Алгоритм, используемый для оценки параметров

  • 'NormalizedGradient' - Алгоритм, используемый для оценки параметров

  • 'Gradient' - Ненормализованный алгоритм градиента, используемый для оценки параметров

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

Все эти методы используют бесконечную историю данных и доступны только тогда, когда History является 'Infinite'.

EstimationMethod является неперестраиваемым свойством. Вы не можете изменить его во время выполнения, то есть после блокировки объекта с помощью step команда.

По умолчанию: Forgetting Factor

ForgettingFactor

Коэффициент забывания λ, релевантный для оценки параметра, заданный как скаляр в диапазоне (0,1].

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

T0 = 11 − λ

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

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

Типичные варианты λ находятся в диапазоне [0.98 0.995].

Использовать только тогда, когда EstimationMethod является 'ForgettingFactor'.

ForgettingFactor является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: 1

EnableAdapation

Включить или отключить оценку параметров, указанную как одно из следующих значений:

  • true или 1- step команда оценивает значения параметров для этого временного шага и обновляет значения параметров.

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

    Примечание

    Если установить EnableAdapation кому false, вы все еще должны выполнить step команда. Не пропускать step для сохранения значений параметров постоянными, поскольку оценка параметров зависит от текущих и прошлых измерений ввода-вывода. step обеспечивает хранение прошлых данных ввода-вывода, даже если они не обновляют параметры.

EnableAdapation является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: true

DataType

Точность параметров с плавающей запятой, заданная как одно из следующих значений:

  • 'double' - Плавающая точка с двойной точностью

  • 'single' - Плавающая точка с одинарной точностью

Настройка DataType кому 'single' экономит память, но приводит к потере точности. Определить DataType на основе точности, требуемой целевым процессором, в котором будет развернут сгенерированный код.

DataType является неперестраиваемым свойством. Его можно задать только во время построения объекта с помощью Name,Value аргументы и не могут быть изменены впоследствии.

По умолчанию: 'double'

ProcessNoiseCovariance

Ковариационная матрица вариаций параметров, заданная как одна из следующих:

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

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

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

N - количество оцениваемых параметров.

ProcessNoiseCovariance применяется, когда EstimationMethod является 'KalmanFilter'.

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

ProcessNoiseCovariance является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: 0.1

AdaptationGain

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

AdaptationGain применяется, когда EstimationMethod является 'Gradient' или 'NormalizedGradient'.

Укажите большое значение для AdaptationGain когда измерения имеют высокое отношение сигнал/шум.

AdaptationGain является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: 1

NormalizationBias

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

NormalizationBias применяется, когда EstimationMethod является 'NormalizedGradient'.

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

NormalizationBias является настраиваемым свойством. Его можно изменить, если объект находится в заблокированном состоянии.

По умолчанию: eps

History

Тип истории данных, определяющий тип используемого рекурсивного алгоритма, указанный как:

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

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

Алгоритмы с бесконечной историей направлены на получение оценок параметров, которые объясняют все данные с начала моделирования. Эти алгоритмы по-прежнему используют фиксированный объем памяти, который не растет со временем. Объект предоставляет несколько алгоритмов 'Infinite' History тип. При выборе этого параметра активируется EstimationMethod свойство, с помощью которого задается алгоритм.

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

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

History является неперестраиваемым свойством. Его можно задать только во время построения объекта с помощью Name,Value аргументы и не могут быть изменены впоследствии.

По умолчанию: 'Infinite'

WindowLength

Размер окна, определяющий количество отсчетов времени, используемых для метода оценки скользящего окна, заданного как положительное целое число. Определить WindowLength только когда History является Finite.

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

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

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

WindowLength является неперестраиваемым свойством. Его можно задать только во время построения объекта с помощью Name,Value аргументы и не могут быть изменены впоследствии.

По умолчанию: 200

InputProcessing

Параметр для обработки входных данных на основе выборки или кадра, заданный как символьный вектор или строка.

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

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

Ваш InputProcessing спецификация влияет на размеры входного и выходного сигналов при использовании step команда:

[theta,EstimatedOutput] = step(obj,y,u)

  • Sample-based

    • y и EstimatedOutput скаляры.

    • u - вектор 1-by-Nu, где Nu - количество входов.

    • Frame-based с M выборок на кадр

      • y и EstimatedOutput являются M-by-1 векторами.

      • u является M-by-Nu матрица.

InputProcessing является неперестраиваемым свойством. Его можно задать только во время построения объекта с помощью Name,Value аргументы и не могут быть изменены впоследствии.

По умолчанию: 'Sample-based'

Выходные аргументы

свернуть все

Системный объект для оперативной оценки параметров модели ARX, возвращаемый как recursiveARX Системный объект. Этот объект создается с использованием указанных порядков и свойств модели. Использовать step для оценки коэффициентов полиномов модели ARX. Затем можно получить доступ к расчетным коэффициентам и ковариации параметров с помощью точечной нотации. Например, введите obj.A для просмотра расчетных коэффициентов полинома А.

Подробнее

свернуть все

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

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

y (t) + a1y (t 1) +... + anay (t na) = b1u (t nk) +... + bnbu (t − nb − nk + 1) + e (t)

Параметры na и nb являются порядками модели ARX, и nk - задержка.

  • y (t) - Выход в момент времени t.

  • na - количество полюсов.

  • nb - количество нулей плюс 1.

  • nk - количество входных выборок, которые возникают до того, как вход влияет на выход, также называемое мертвым временем в системе.

  • y (t 1)... y (t − na) - предыдущие выходы, от которых зависит токовый выход.

  • u (t nk)... u (t nk − nb + 1) - предыдущие и задержанные входы, от которых зависит токовый выход.

  • e (t) - Значение возмущения белого шума.

Более компактным способом записи уравнения разности является

A (q) y (t) = B (q) u (t − nk) + e (t)

q - оператор задержки. В частности,

A (q) = 1 + a1q 1 +... + anaq − na

B (q) = b1 + b2q 1 +... + bnbq − nb + 1

Совет

  • Начиная с R2016b, вместо использования step для обновления оценок параметров модели можно вызвать объект System с входными аргументами, как если бы это была функция. Например, [A,B,EstimatedOutput] = step(obj,y,u) и [A,B,EstimatedOutput] = obj(y,u) выполнять эквивалентные операции.

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

.
Представлен в R2015b