Идентифицируйте нелинейные модели черного ящика Используя приложение System Identification

Введение

Цели

Оцените и подтвердите нелинейные модели от single-input/single-output (SISO) данные, чтобы найти тот, который лучше всего представляет вашу системную динамику.

После завершения этого примера вы сможете выполнить следующие задачи с помощью приложения System Identification:

  • Импортируйте объекты данных из рабочей области MATLAB® в приложение.

  • Оцените и подтвердите нелинейные модели из данных.

  • Постройте и анализируйте поведение нелинейности.

Описание данных

Этот пример использует файл данных twotankdata.mat, который содержит данные временного интервала SISO для системы 2D бака, показанной в следующем рисунке.

Система 2D бака

Illustration of two-tank system. Tank 1 is on the top. Tank 2 is on the bottom.

В системе 2D бака вода льется через трубопровод в Бак 1, стекает в Бак 2 и оставляет систему через маленькое отверстие в нижней части Бака 2. Измеренный вход u (t) к системе является напряжением, применился к насосу, который подает воду в Бак 1 (в вольтах). Измеренный выход y (t) является высотой воды в более низком баке (в метрах).

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

twotankdata.mat включает 3 000 выборок с шагом расчета 0,2 с.

Что такое нелинейные модели черного ящика?

Типы нелинейных моделей черного ящика

Можно оценить нелинейные модели черного ящика дискретного времени и для одно выхода и для нескольких - выходные данные временного интервала. Можно выбрать из двух типов нелинейных, структур модели черного ящика:

  • Нелинейные модели ARX

  • Хаммерстайн-Винер моделирует

Примечание

Можно оценить модели черного ящика Хаммерстайна-Винера из данных о вводе/выводе только. Эти модели не поддерживают данные timeseries, где нет никакого входа.

Для получения дополнительной информации об оценке нелинейных моделей черного ящика смотрите Нелинейную Идентификацию Модели.

Что такое нелинейная модель ARX?

Нелинейная модель ARX состоит из регрессоров модели и выходной функции. Выходная функция включает линейные и нелинейные функции, которые действуют на регрессоры модели, чтобы дать выход модели и фиксированное смещение для того выхода. Эта блок-схема представляет структуру нелинейной модели ARX в сценарии симуляции.

Regressor block is on the left. Output function is on the right. Output function block contains, from top to bottom, Offset, Nonlinear Function, and Linear Function. The inputs to the Regressor block are system input u and the output of the output function y.

Программное обеспечение вычисляет нелинейную модель ARX выход y на двух этапах:

  1. Это вычисляет значения регрессора из текущих и прошлых входных значений и прошлых выходных данных.

    В самом простом случае регрессоры являются задержанными вводами и выводами, такими как u (t –1) и y (t –3). Подобные регрессоры называются linear regressors. Вы задаете линейные регрессоры с помощью linearRegressor объект. Можно также задать линейные регрессоры при помощи линейных порядков модели ARX как входной параметр. Для получения дополнительной информации смотрите Нелинейные Порядки Модели ARX и Задержку. Однако этот второй подход ограничивает ваш набор регрессора к линейным регрессорам с последовательными задержками. Чтобы создать polynomial regressors, используйте polynomialRegressor объект. Можно также задать custom regressors, которые являются нелинейными функциями задержанных вводов и выводов. Например, u (t –1) y (t –3) является пользовательским регрессором, который умножает экземпляры ввода и вывода вместе. Задайте пользовательские регрессоры с помощью customRegressor объект.

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

  2. Это сопоставляет регрессоры с выходом модели с помощью блока выходной функции. Блок выходной функции может включать линейные и нелинейные блоки параллельно. Например, рассмотрите следующее уравнение:

    F(x)=LT(xr)+g(Q(xr))+d

    Здесь, x является вектором из регрессоров, и r является средним значением x. F(x)=LT(xr)+y0 выход блока линейной функции. g(Q(xr))+y0 представляет выход нелинейного функционального блока. Q является матрицей проекции, которая делает вычисления хорошо подготовленными. d является скалярным смещением, которое добавляется к объединенным выходным параметрам линейных и нелинейных блоков. Точная форма F (x) зависит от вашего выбора выходной функции. Можно выбрать из доступных объектов отображения, таких как сети древовидного раздела, сети вейвлета и многоуровневые нейронные сети. Можно также исключить или линейное или нелинейный функциональный блок от выходной функции.

    При оценке нелинейной модели ARX программное обеспечение вычисляет значения параметра модели, такие как L, r, d, Q и другие параметры, задающие g.

Получившиеся нелинейные модели ARX idnlarx объекты, которые хранят все данные модели, включая регрессоры модели и параметры выходной функции. Для получения дополнительной информации об этих объектах, смотрите Нелинейные Структуры модели.

Что такое модель Хаммерстайна-Винера?

Эта блок-схема представляет структуру модели Хаммерстайна-Винера:

Где,

  • f является нелинейной функцией, которая преобразовывает входные данные u (t) как w (t) = f (u (t)).

    w (t), внутренняя переменная, является выходом блока Input Nonlinearity и имеет ту же размерность как u (t).

  • B/F является линейной передаточной функцией, которая преобразовывает w (t) как x (t) = (B/F) w (t).

    x (t), внутренняя переменная, является выходом блока Linear и имеет ту же размерность как y (t).

    B и F похожи на полиномы в линейной модели Output-Error. Для получения дополнительной информации о моделях Output-Error, смотрите то, Что Полиномиальные Модели?.

    Для ny выходные параметры и входные параметры nu, линейный блок является матрицей передаточной функции, содержащей записи:

    Bj,i(q)Fj,i(q)

    где j = 1,2,...,ny и i = 1,2,...,nu.

  • h является нелинейной функцией, которая сопоставляет выход линейного блока x (t) к системе выход y (t) как y (t) = h (x (t)).

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

Программное обеспечение вычисляет модель Хаммерстайна-Винера выход y на трех этапах:

  1. Вычислите w (t) = f (u (t)) от входных данных.

    w (t) является входом к линейной передаточной функции B/F.

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

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

  2. Вычислите выход линейного блока с помощью w (t) и начальные условия: x (t) = (B/F) w (t).

    Можно сконфигурировать линейный блок путем определения порядков числителя B и знаменатель F.

  3. Вычислите модель, выведенную путем преобразования выхода линейного блока x (t) с помощью нелинейного функционального h в качестве y (t) = h (x (t)).

    Подобно входной нелинейности выходная нелинейность является статической функцией. Можно сконфигурировать выходную нелинейность таким же образом как входную нелинейность. Можно также удалить выходную нелинейность, такую что y (t) = x (t).

Получившиеся модели idnlhw объекты, которые хранят все данные модели, включая средства оценки нелинейности и параметры модели. Для получения дополнительной информации об этих объектах, смотрите Нелинейные Структуры модели.

Подготовка данных

Загрузите данные в рабочее пространство MATLAB

Загрузите выборочные данные в twotankdata.mat путем ввода следующей команды в командном окне MATLAB:

load twotankdata

Эта команда загружает следующие две переменные в браузер рабочего пространства MATLAB:

  • u входные данные, который является напряжением, применился к насосу, который подает воду в Бак 1 (в вольтах).

  • y выходные данные, который является уровнем воды в Баке 2 (в метрах).

Создание iddata Объекты

Объекты данных System Identification Toolbox™ инкапсулируют и значения данных и свойства данных в одну сущность. Можно использовать команды System Identification Toolbox, чтобы удобно управлять этими объектами данных как одна сущности.

Вы, должно быть, уже загрузили выборочные данные в рабочее пространство MATLAB, как описано в Данных о Загрузке в рабочее пространство MATLAB.

Используйте следующие команды, чтобы создать два iddata объекты данных, ze и zv, где ze содержит данные для оценки модели и zv содержит данные для проверки допустимости модели. Ts шаг расчета.

Ts = 0.2; % Sample time is 0.2 sec
z = iddata(y,u,Ts);
% First 1000 samples used for estimation
ze = z(1:1000);
% Remaining samples used for validation
zv = z(1001:3000);

Просмотреть свойства iddata объект, используйте get команда. Например:

get(ze)

Программное обеспечение MATLAB возвращает следующие свойства данных и значения:

               Domain: 'Time'
                Name: ''
          OutputData: [1000x1 double]
                   y: 'Same as OutputData'
          OutputName: {'y1'}
          OutputUnit: {''}
           InputData: [1000x1 double]
                   u: 'Same as InputData'
           InputName: {'u1'}
           InputUnit: {''}
              Period: Inf
         InterSample: 'zoh'
                  Ts: 0.2000
              Tstart: 0.2000
    SamplingInstants: [1000x0 double]
            TimeUnit: 'seconds'
      ExperimentName: 'Exp1'
               Notes: {}
            UserData: []

Чтобы изменить свойства данных, используйте запись через точку. Например, чтобы присвоить названия канала и модули, которые подписывают оси графика, введите следующий синтаксис в командном окне MATLAB:

% Set time units to minutes
ze.TimeUnit = 'sec';
% Set names of input channels
ze.InputName = 'Voltage';
% Set units for input variables
ze.InputUnit = 'V';
% Set name of output channel
ze.OutputName = 'Height';
% Set unit of output channel
ze.OutputUnit = 'm';

% Set validation data properties
zv.TimeUnit = 'sec';
zv.InputName = 'Voltage';
zv.InputUnit = 'V';
zv.OutputName = 'Height';
zv.OutputUnit = 'm';

Проверять что InputName свойство ze изменяется, введите следующую команду:

ze.inputname

Совет

Имена свойства, такие как InputName, не являются чувствительными к регистру. Можно также сократить имена свойства, которые запускаются с Input или Output путем замены u для Input и y для Output на имя свойства. Например, OutputUnit эквивалентно yunit.

Запустите приложение System Identification

Чтобы открыть приложение System Identification, введите следующую команду в командном окне MATLAB:

systemIdentification

Имя сеанса по умолчанию, Untitled, появляется в строке заголовка.

System Identification app main screen. The Import data area is on the left. This area includes Data Views selections at the bottom. The Operations area is to the right of the Import data area. The Import models area is on the right. This area includes Model Views selections at the bottom

Импортируйте объекты данных в приложение System Identification

Можно импортировать объекты данных в приложение от рабочего пространства MATLAB.

Вы, должно быть, уже создали объекты данных, как описано в Создании iddata Объекты, и открыли приложение, как описано в Запуске Приложение System Identification.

Импортировать объекты данных:

  1. В приложении System Identification выберите Import data> Data object.

    List of data types. Data object is selected.

    Это действие открывает диалоговое окно Import Data.

    Import Data dialog box. Data Type is on the top. Workspace Variable is second from the top. Data information is third from the top. Import, Reset, Close, and Help buttons are on the bottom

  2. Введите ze в поле Object, чтобы импортировать данные об оценке. Нажмите Enter.

    Это действие вводит информацию об объекте в Поля данных Импорта.

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

  3. Нажмите Import, чтобы добавить значок под названием ze к приложению System Identification.

  4. В диалоговом окне Import Data введите zv в поле Object, чтобы импортировать данные о валидации. Нажмите Enter.

  5. Нажмите Import, чтобы добавить значок под названием zv к приложению System Identification.

  6. В диалоговом окне Import Data нажмите Close.

  7. В приложении System Identification перетащите данные о валидации значок zv к прямоугольнику Validation Data. Данные об оценке значок ze уже определяются в прямоугольнике Working Data.

    В качестве альтернативы щелкните правой кнопкой по zv значок, чтобы открыть диалоговое окно Data/model Info. Установите флажок Use as Validation Data. Нажмите Apply и затем Close, чтобы добавить zv к прямоугольнику Validation Data.

    Приложение System Identification теперь напоминает следующую фигуру.

    The top cells of the Import data columns on the left show ze and zv.

Оцените нелинейные модели ARX

Оцените нелинейную модель ARX с настройками по умолчанию

В этом фрагменте примера вы оцениваете нелинейную модель ARX с помощью структуры модели по умолчанию и опций оценки.

Вы, должно быть, уже подготовили данные, как описано в Подготовке данных. Для получения дополнительной информации о нелинейных моделях ARX, смотрите то, Что Нелинейная Модель ARX?.

Примечание

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

  1. В приложении System Identification выберите Estimate> Nonlinear models.

    List of model types. Nonlinear ARX Models is selected.

    Это действие открывает диалоговое окно Estimate Nonlinear ARX Models.

    Model Structure tab of the Estimate Nonlinear ARX Models dialog box. From top to bottom, this tab contains Model name, Initial model, and the Regressors tab. At the top of the Regressors tab is a block diagram that contains an Estimation Data block with input and output variables, a Regressors block with regressor variables, and a generic Output Function block. Beneath this block diagram is option to select the type of regressors to add. Beneath this selection is the Regressor sets area, which lists each regressor set and displays the parameters for the selected regressor. At the bottom is the Regressor assignment table.

    Диалоговое окно содержит две вкладки — Model Structure и Estimation Options.

    Вкладка Model Structure содержит параметры, которые конфигурируют структуру модели, такой как выбор регрессоров и тип выходной функции. Задайте имя модели, которая будет оценена в Model name. Именем модели по умолчанию является nlarx1.

    Используйте вкладку Regressors, чтобы создать наборы регрессора, чтобы использовать. По умолчанию приложение создает линейный набор регрессора с задержками [1 2] в каждой переменной и хранилищах регрессор как Linear regressors #1 в области Regressor Sets. Эта панель содержит таблицу, которая позволяет вам изменять задержки, чтобы использовать для каждой переменной.

    List of Regressor Sets with one regressor

    Configure: Linear regressors #1 панели настройки содержит таблицу, которая показывает значения задержки, что регрессор установил использование. Можно изменить эти задержки.

    Regressor configuration table for Linear regressors #1

    Таблица Assign Regressors to Output Function присвоения регрессора перечисляет имена регрессора и присвоения регрессора на компоненты выходной функции.

    Assignment table. Regressor names are on the left. Linear Function selections are in the middle. Nonlinear Function selections are on the right

    Присвоения регрессора в таблице производят модель для выхода Height из:

    Height (t) = f (Height (t-1), Height (t-2), Voltage (t-1), Voltage (t-2))

    Здесь, f(.) является статической нелинейной функцией, которая сопоставляет регрессоры с выходом. Чтобы выбрать f (.) и его связанные параметры, используйте вкладку Output Function.

    Можно добавить больше наборов регрессора, таких как полиномы и пользовательские формулы, путем выбора типа регрессора в Add regressors of type.

    Add regressors of type list. No regressor types are selected.

    Этот пример использует только Linear regressors #1.

  2. Выберите вкладку Output Function.

    Вкладка показывает, что приложение выбирает Wavelet Network как тип по умолчанию выходной функции f (.). Эта функция использует сумму линейной функции, нелинейная функция (который является суммой масштабированных вейвлетов), и срок смещения, чтобы вычислить выход. Вкладка также показывает набор параметров конфигурации. Количество вейвлетов, используемых функцией, сконфигурировано, чтобы быть выбранным автоматически во время оценки. Можно изменить этот выбор. Можно также изменить начальные значения линейных коэффициентов и смещения. Для первой оценки сохраните выбор по умолчанию.

    Output Function tab. On the top is a block diagram containing an Estimation Data block with estimation variables, a generic Regressors block, and an Output Function block that contains the components Offset, Nonlinear Function, and Linear Function. Each component shows an icon of an open lock. Below the block diagram is a table that includes, from left to right, Output(s), Use Linear Function, Nonlinear Function, Use Offset. The second row shows the settings for the Height variable. Use Linear function is selected. The selected Nonlinear Function is Wavelet Network. Use Offset is selected. Below the table is a set of parameters for configuring the wavelet network

  3. Нажмите Estimate.

    Это действие добавляет модель nlarx1 к плате модели приложения System Identification, как показано в следующем рисунке.

    In the Import models grid on the right, nlarx1 is in the top left corner.

  4. Дважды щелкните или щелкните правой кнопкой по значку модели nlarx1 Плата модели показывает информацию о предполагаемой модели. Главная область описывает структуру модели и результаты оценки (используемые данные, подгонка процента и другие метрики качества). Нижняя область (Diary and Notes) показывает скрипт MATLAB, что можно использовать, чтобы воспроизвести результаты оценки в командной строке.

    Data/Model information board for nlarx1

    Примечание

    Fit (%) вычисляется с помощью набора данных оценки с особым вниманием предсказания. а не набор данных валидации. Однако выходной график модели в следующем шаге сравнивает подгонку к набору данных валидации. Чтобы видеть, как хорошо модель может симулировать ответ независимого набора данных валидации, используйте график Model Output, как обсуждено в следующем шаге.

  5. В области Model Views приложения System Identification выберите Model output. Это действие симулирует модель с помощью данных о контроле ввода в качестве входа к модели и строит симулированный выход сверху выходных данных о валидации.

    Model Output plot

    Область Best Fits выходного графика модели показывает соглашение между выходом модели и выводом данных валидации с помощью нормированной корневой среднеквадратической метрики (NRMSE) качества подгонки. Соглашение является несовершенным в отрезке времени 400-500.

Постройте поперечные сечения нелинейности для нелинейных моделей ARX

Выполните следующую процедуру, чтобы просмотреть форму нелинейности в зависимости от регрессоров на Нелинейном графике Модели ARX.

  1. В приложении System Identification установите флажок Nonlinear ARX , чтобы просмотреть поперечные сечения нелинейности.

    По умолчанию график показывает отношение между выходными регрессорами Height(t-1) и Height(t-2). Этот график показывает регулярную плоскость в следующем рисунке. Таким образом отношение между регрессорами и выходом является приблизительно линейной плоскостью.

    Nonlinearity Cross-Section plot of the output Height with the regressors based on Height. The plot is on the left. The regressor descriptions are on the right

  2. В окне Nonlinear ARX Model Plot, набор Regressor 1 к Voltage(t-1). Установите Regressor 2 на Voltage(t-2). Нажмите Apply.

    Отношение между этими регрессорами и выходом нелинейно, как показано в следующем графике.

    Nonlinearity Cross-Section plot of the output Height with the regressors based on the variable Voltage.

  3. Чтобы вращать поверхность нелинейности, выберите Style> Rotate 3D и перетащите график к новой ориентации.

  4. Чтобы отобразить 1D поперечное сечение для Регрессора 1, установите Регрессор 2 на none, и нажмите Apply. Следующий рисунок показывает получившуюся величину нелинейности для Регрессора 1, который представляет переключенный временем сигнал напряжения, Voltage(t-1).

    Nonlinearity 1-D Cross-Section plot

Измените нелинейную структуру модели ARX

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

Вы, должно быть, уже оценили нелинейную модель ARX с настройками по умолчанию, как описано в Оценке Нелинейная Модель ARX с Настройками по умолчанию.

  1. В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure, и затем выберите вкладку Regressors.

  2. В панели Configure: Linear regressors #1 измените Voltage переменная отстает к [3 4]. Это вызвано тем, что данные предполагают, что существует минимум 3 демонстрационных задержек между входом и выходом.

    Это действие обновляет список регрессоров, чтобы показать Voltage(t-3) и Voltage(t-4)— условия с минимальной задержкой трех выборок.

    Regressor tab within Configure tab. The list of regressor sets and a button to delete a set is in the top left portion. The regressor configuration table is in the top right portion. The regressor assignments table is on the bottom.

  3. Нажмите Estimate.

    Это действие добавляет модель nlarx2 к приложению System Identification и обновлениям окно Model Output, чтобы включать эту модель. Двойной клик на nlarx2 значок в плате модели окна главного приложения показывает результаты оценки.

    Model Board for nlarx2

    Приложение также обновляет выходной график модели отобразить припадок модели nlarx2 к набору данных zv валидации. График показывает, что выбор правильных задержек входной переменной улучшает подгонку.

    Model Output plot for nlarx2 and nlarx1. nlarx2 has a substantially better fit than nlarx1

  4. В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure, и затем выберите вкладку Regressors.

  5. Выберите вкладку Output Function.

  6. Для Number of Units выберите Enter и введите 6. Установка определенного номера управляет гибкостью нелинейной функции путем прямого определения количества вейвлетов, которые использует Wavelet Network.

    Output Function Tab. The Number of Units choices are on the lower left side.

  7. Нажмите Estimate.

    Это действие добавляет модель nlarx3 к приложению System Identification. Это также обновляет окно Model Output как показано в следующем рисунке.

    Model Output window that adds nlarx3. nlarx3 has a better fit than nlarx2.

Используйте полиномиальные регрессоры

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

  1. В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure и затем выберите вкладку Regressors.

  2. Расширьте Add regressors of type и выберите Polynomial.

    Add regressors selection for Polynomial is on the left.

    Это действие добавляет полиномиальный набор регрессора под названием Polynomial regressors #1 к списку наборов регрессора. По умолчанию этот набор сконфигурирован, чтобы сгенерировать регрессоры порядка 2, как показано в панели настройки.

    The Polynomial regressors #1 selection is on the left. The configuration parameters are on the right.

  3. Измените Voltage задержки к [3 4].

  4. Выберите Include mix of variables, чтобы включать все перекрестные условия. Это действие добавляет десять регрессоров второго порядка в модель, в дополнение к этим четырем, внесенным Linear regressor #1.

  5. Нажмите Estimate. Это действие добавляет модель nlarx4 к приложению. Обновления приложения график Model Output, как показано в следующем рисунке.

    Model Output plot hat adds nlarx4. nlarx4 has a substantially worse fit than nlarx3.

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

Выберите Subset of Regressors in Nonlinear Block

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

Вы, должно быть, уже задали структуру модели, как описано в Изменении Нелинейная Структура модели ARX.

  1. В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure, и затем выберите вкладку Regressors.

  2. Если свернуто, расширьте панель Assign Regressors to Output Function.

  3. Очистите выборы для всех регрессоров второго порядка из столбца Height:NonlinearFcn таблицы. Кроме того, очистите выборы для всех регрессоров с перекрестными условиями (то есть, регрессоры, состоявшие из продуктов 2 условий) от Height:LinearFcn

    Regressor assignment table. Regressor names are on the left. Linear function assignments are in the middle. All boxes are checked. Nonlinear function assignments are on the right. Only the first four boxes are checked.

  4. Нажмите Estimate.

    Это действие добавляет модель nlarx5 к приложению System Identification. Это также обновляет окно Model Output.

Model Output plot that adds nlarx5. nlarx5 has a better fit than nlarx3.

Эта модель показывает улучшенную способность к обобщению.

Задайте ранее предполагаемую модель с различной нелинейностью выходной функции

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

  1. В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure.

  2. Выберите nlarx3 от Initial Model. Это устанавливает свойства, которые отображены в Regressors, и Output Function переходит в значения, соответствующие nlarx3.

  3. Выберите вкладку Output Function.

  4. В таблице измените выбор Nonlinear Function к Sigmoid Network. Это устанавливает выходную функцию на сигмоидальную сеть.

  5. В Enter the number of units введите 6.

  6. Нажмите Estimate.

    Это действие добавляет модель nlarx6 к приложению System Identification. Это также обновляет график Model Output как показано в следующем рисунке.

Выберите лучшую модель

Лучшая модель является самой простой моделью, которая точно описывает динамику. Результаты показывают на ту модель nlarx3 кандидат на то, чтобы быть лучшей idnlarx моделью для этих данных, на основе различного выбора структуры модели, который исследовал этот пример.

Экспорт лучшая модель к базовому рабочему пространству

Перетащите nlarx3 значок к To Workspace окружает основное окно приложения System Identification. В качестве альтернативы дважды щелкните по nlarx3 значок, чтобы открыть его информационное табло. Оттуда, нажмите Export, чтобы экспортировать модель в базовое рабочее пространство.

Оцените модели Хаммерстайна-Винера

Оцените модели Хаммерстайна-Винера с настройками по умолчанию

В этом фрагменте примера вы оцениваете нелинейные модели Хаммерстайна-Винера с помощью структуры модели по умолчанию и опций оценки.

Вы, должно быть, уже подготовили данные, как описано в Подготовке данных. Для получения дополнительной информации о нелинейных моделях ARX, смотрите то, Что Модель Хаммерстайна-Винера?

Примечание

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

  1. В приложении System Identification выберите Estimate> Hammerstein-Wiener Models, чтобы открыть диалоговое окно Estimate Hammerstein-Wiener Models. Диалоговое окно содержит две вкладки — Model Structure и Estimation Options.

  2. Смотрите структуру модели по умолчанию. Вкладка Model Structure содержит три вкладки, одну вкладку для каждого компонента модели. Эти компоненты являются входной нелинейностью, линейным динамическим блоком и выходной нелинейностью.

    1. Выберите вкладку Input Nonlinearity. Нелинейность по умолчанию является функцией Piecewise Linear с 10 точками останова.

    2. Выберите вкладку Linear Block. Линейная передаточная функция имеет порядок числителя 2, который подразумевает полином второго порядка в z-1, порядке знаменателя 3 и входной задержке 1 выборки.

    3. Выберите вкладку Output Nonlinearity. Как с вкладкой Input Nonlinearity, нелинейность по умолчанию является функцией Piecewise Linear с 10 точками останова.

  3. Нажмите Estimate.

    Это действие оценивает, что параметры модели Хаммерстайна-Винера минимизируют различие между выходом модели и измеренным выходом (ze.OutputData). Предполагаемые параметры:

    1. Местоположения точки останова (x-и y-координаты) кусочных линейных функций ввода и вывода.

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

    Программное обеспечение добавляет предполагаемую модель nlhw1 к плате модели приложения System Identification.

  4. В приложении System Identification установите флажок Model output.

    Это действие симулирует модель с помощью данных о контроле ввода, как введено для модели и строит симулированный выход сверху выходных данных о валидации. Обратите внимание на то, что данные о валидации установлены в zv.

    Область Best Fits Окна вывода Модели показывает соглашение между выходом модели и выводом данных валидации.

    Модель nlhw1 не подтверждает хорошо. Подгонка к zv.OutputData плохо.

Постройте нелинейность и линейную передаточную функцию

Можно построить нелинейность ввода/вывода и линейную передаточную функцию модели на графике Хаммерстайна-Винера.

  1. В приложении System Identification выберите Hamm-Wiener, чтобы просмотреть график модели Хаммерстайна-Винера.

    График отображает входную нелинейность как показано в следующем рисунке.

  2. Кликните по прямоугольнику yNL в главном фрагменте окна Model Plot Хаммерстайна-Винера.

    График обновляется, чтобы отобразить выходную нелинейность.

  3. Кликните по прямоугольнику Linear Block в главном фрагменте окна Model Plot Хаммерстайна-Винера.

    График обновляется, чтобы отобразить переходной процесс линейной передаточной функции.

  4. В списке Choose plot type выберите Bode. Это действие отображает Диаграмму Боде линейной передаточной функции.

Измените входную задержку модели Хаммерстайна-Винера

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

Вы, должно быть, уже оценили модель Хаммерстайна-Винера с настройками по умолчанию, как описано в Моделях Эстимате Хаммерстайна-Винера с Настройками по умолчанию.

  1. В диалоговом окне Estimate Hammerstein-Wiener выберите вкладку Model Structure и затем вкладку Linear Block.

  2. Для Voltage введите канал, дважды кликните соответствующую ячейку Input Delay (nk) и введите значение 3.

  3. Нажмите Estimate.

    Это действие добавляет модель nlhw2 к приложению System Identification и обновлениям график Model Output, как показано в следующем рисунке.

    Панель Best Fits Окна вывода Модели показывает качество nlhw2 подгонка, которая является улучшением по сравнению с той из модели nlhw1.

Измените средство оценки нелинейности в модели Хаммерстайна-Винера

В этом фрагменте примера вы изменяете значение по умолчанию структура модели Хаммерстайна-Винера путем изменения ее средства оценки нелинейности.

Совет

Если вы знаете, что ваша система включает насыщение или мертво-зональную нелинейность, можно задать эти специализированные средства оценки нелинейности в модели. Piecewise Linear, Wavelet Network, и Sigmoid Network средства оценки нелинейности для общего приближения нелинейности.

  1. В диалоговом окне Estimate Hammerstein-Wiener Models выберите вкладку Model Structure и затем вкладку Input Nonlinearity.

  2. Кликните по ячейке Nonlinearity для Voltage переменная и выбирает Sigmoid Network из списка.

  3. В Enter the number of units, установленном значение к 20.

  4. Нажмите Estimate.

    Это действие добавляет модель nlhw3 к приложению System Identification. Это также обновляет окно Model Output как показано в следующем рисунке.

  5. В диалоговом окне Estimate Hammerstein-Wiener Models выберите вкладку Input Nonlinearity.

  6. Для Voltage введите, установите Nonlinearity на Wavelet Network. Значением по умолчанию для Number of Units является Select Automatically.

  7. Выберите вкладку Output Nonlinearity.

  8. Установите Height выход Nonlinearity к One-dimensional Polynomial. Установите Degree of polynomial на 2.

  9. Нажмите Estimate.

    Это действие добавляет модель nlhw4 к приложению System Identification. Это также обновляет окно Model Output как показано в следующем рисунке.

Выберите лучшую модель

Лучшая модель является самой простой моделью, которая точно описывает динамику.

В этом примере, моделях nlhw3 и nlhw4 хорошие кандидаты.