Оцените и подтвердите нелинейные модели от single-input/single-output (SISO) данные, чтобы найти тот, который лучше всего представляет вашу системную динамику.
После завершения этого примера вы сможете выполнить следующие задачи с помощью приложения System Identification:
Импортируйте объекты данных из MATLAB® рабочая область в приложение.
Оцените и подтвердите нелинейные модели из данных.
Постройте и анализируйте поведение нелинейности.
Этот пример использует файл данных twotankdata.mat
, который содержит данные временного интервала SISO для системы 2D бака, показанной в следующем рисунке.
Система 2D бака
В системе 2D бака вода льется через трубопровод в Бак 1, стекает в Бак 2 и оставляет систему через маленькое отверстие в нижней части Бака 2. Измеренный вход u (t) к системе является напряжением, применился к насосу, который подает воду в Бак 1 (в вольтах). Измеренный выход y (t) является высотой воды в более низком баке (в метрах).
На основе закона Бернулли, который утверждает, что вода, текущая через маленькое отверстие в нижней части бака, зависит нелинейно на уровне воды в баке, вы ожидаете, что отношение между входом и выходными данными будет нелинейно.
twotankdata.mat
включает 3 000 выборок с шагом расчета 0,2 с.
Можно оценить нелинейные модели черного ящика дискретного времени и для одно выхода и для нескольких - выходные данные временного интервала. Можно выбрать из двух типов нелинейных, структур модели черного ящика:
Нелинейные модели ARX
Хаммерстайн-Винер моделирует
Примечание
Можно оценить модели черного ящика Хаммерстайна-Винера из данных о вводе/выводе только. Эти модели не поддерживают данные timeseries, где нет никакого входа.
Для получения дополнительной информации об оценке нелинейных моделей черного ящика смотрите Нелинейную Идентификацию Модели.
Нелинейная модель ARX состоит из регрессоров модели и выходной функции. Выходная функция включает линейные и нелинейные функции, которые действуют на регрессоры модели, чтобы дать выход модели и фиксированное смещение для того выхода. Эта блок-схема представляет структуру нелинейной модели ARX в сценарии симуляции.
Программное обеспечение вычисляет нелинейную модель ARX выход y на двух этапах:
Это вычисляет значения регрессора из текущих и прошлых входных значений и прошлых выходных данных.
В самом простом случае регрессоры являются задержанными вводами и выводами, такими как u (t –1) и y (t –3). Подобные регрессоры называются linear regressors. Вы задаете линейные регрессоры с помощью linearRegressor
объект. Можно также задать линейные регрессоры при помощи линейных порядков модели ARX как входной параметр. Для получения дополнительной информации смотрите Нелинейные Порядки Модели ARX и Задержку. Однако этот второй подход ограничивает ваш набор регрессора к линейным регрессорам с последовательными задержками. Чтобы создать polynomial regressors, используйте polynomialRegressor
объект. Можно также задать custom regressors, которые являются нелинейными функциями задержанных вводов и выводов. Например, u (t –1) y (t –3) является пользовательским регрессором, который умножает экземпляры ввода и вывода вместе. Задайте пользовательские регрессоры с помощью customRegressor
объект.
Можно присвоить любой из регрессоров как входные параметры с блоком линейной функции выходной функции, нелинейного функционального блока или обоих.
Это сопоставляет регрессоры с выходом модели с помощью блока выходной функции. Блок выходной функции может включать линейные и нелинейные блоки параллельно. Например, рассмотрите следующее уравнение:
Здесь, x является вектором из регрессоров, и r является средним значением x. выход блока линейной функции. представляет выход нелинейного функционального блока. 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, линейный блок является матрицей передаточной функции, содержащей записи:
где 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 на трех этапах:
Вычислите w (t) = f (u (t)) от входных данных.
w (t) является входом к линейной передаточной функции B/F.
Входная нелинейность является статической функцией (без памяти), где значение выхода данное время t зависит только от входного значения во время t.
Можно сконфигурировать входную нелинейность как сигмоидальную сеть, сеть вейвлета, насыщение, мертвую зону, кусочную линейную функцию, одномерный полином или пользовательскую сеть. Можно также удалить входную нелинейность.
Вычислите выход линейного блока с помощью w (t) и начальные условия: x (t) = (B/F) w (t).
Можно сконфигурировать линейный блок путем определения порядков числителя B и знаменатель F.
Вычислите модель, выведенную путем преобразования выхода линейного блока x (t) с помощью нелинейного функционального h в качестве y (t) = h (x (t)).
Подобно входной нелинейности выходная нелинейность является статической функцией. Можно сконфигурировать выходную нелинейность таким же образом как входную нелинейность. Можно также удалить выходную нелинейность, такую что y (t) = x (t).
Получившиеся модели idnlhw
объекты, которые хранят все данные модели, включая средства оценки нелинейности и параметры модели. Для получения дополнительной информации об этих объектах, смотрите Нелинейные Структуры модели.
Загрузите выборочные данные в twotankdata.mat
путем ввода следующей команды в командном окне MATLAB:
load twotankdata
Эта команда загружает следующие две переменные в браузер рабочего пространства MATLAB:
u
входные данные, который является напряжением, применился к насосу, который подает воду в Бак 1 (в вольтах).
y
выходные данные, который является уровнем воды в Баке 2 (в метрах).
Объекты данных 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, введите следующую команду в командном окне MATLAB:
systemIdentification
Имя сеанса по умолчанию, Untitled
, появляется в строке заголовка.
Можно импортировать объекты данных в приложение от рабочего пространства MATLAB.
Вы, должно быть, уже создали объекты данных, как описано в Создании iddata Объекты, и открыли приложение, как описано в Запуске Приложение System Identification.
Импортировать объекты данных:
В приложении System Identification выберите Import data> Data object.
Это действие открывает диалоговое окно Import Data.
Введите ze
в поле Object, чтобы импортировать данные об оценке. Нажмите Enter.
Это действие вводит информацию об объекте в Поля данных Импорта.
Нажмите More, чтобы просмотреть дополнительную информацию об этих данных, включая названия канала и модули.
Нажмите Import, чтобы добавить значок под названием ze
к приложению System Identification.
В диалоговом окне Import Data введите zv
в поле Object, чтобы импортировать данные о валидации. Нажмите Enter.
Нажмите Import, чтобы добавить значок под названием zv
к приложению System Identification.
В диалоговом окне Import Data нажмите Close.
В приложении System Identification перетащите данные о валидации значок zv к прямоугольнику Validation Data. Данные об оценке значок ze уже определяются в прямоугольнике Working Data.
В качестве альтернативы щелкните правой кнопкой по zv
значок, чтобы открыть диалоговое окно Data/model Info. Установите флажок Use as Validation Data. Нажмите Apply и затем Close, чтобы добавить zv
к прямоугольнику Validation Data.
Приложение System Identification теперь напоминает следующую фигуру.
В этом фрагменте примера вы оцениваете нелинейную модель ARX с помощью структуры модели по умолчанию и опций оценки.
Вы, должно быть, уже подготовили данные, как описано в Подготовке данных. Для получения дополнительной информации о нелинейных моделях ARX, смотрите то, Что Нелинейная Модель ARX?.
Примечание
Рисунки в этом примере представляют типичный сеанс приложения System Identification. Ваши результаты не могут точно совпадать с результатами в изображениях.
В приложении System Identification выберите Estimate> Nonlinear models.
Это действие открывает диалоговое окно Estimate Nonlinear ARX Models.
Диалоговое окно содержит две вкладки — Model Structure и Estimation Options.
Вкладка Model Structure содержит параметры, которые конфигурируют структуру модели, такой как выбор регрессоров и тип выходной функции. Задайте имя модели, которая будет оценена в Model name. Именем модели по умолчанию является nlarx1
.
Используйте вкладку Regressors, чтобы создать наборы регрессора, чтобы использовать. По умолчанию приложение создает линейный набор регрессора с задержками [1 2]
в каждой переменной и хранилищах регрессор как Linear regressors #1
в области Regressor Sets. Эта панель содержит таблицу, которая позволяет вам изменять задержки, чтобы использовать для каждой переменной.
Configure: Linear regressors #1 панели настройки содержит таблицу, которая показывает значения задержки, что регрессор установил использование. Можно изменить эти задержки.
Таблица Assign Regressors to Output Function присвоения регрессора перечисляет имена регрессора и присвоения регрессора на компоненты выходной функции.
Присвоения регрессора в таблице производят модель для выхода Height
из:
Height (t) = f (Height (t-1), Height (t-2), Voltage (t-1), Voltage (t-2))
Здесь, f(.) является статической нелинейной функцией, которая сопоставляет регрессоры с выходом. Чтобы выбрать f (.) и его связанные параметры, используйте вкладку Output Function.
Можно добавить больше наборов регрессора, таких как полиномы и пользовательские формулы, путем выбора типа регрессора в Add regressors of type.
Этот пример использует только Linear regressors #1
.
Выберите вкладку Output Function.
Вкладка показывает, что приложение выбирает Wavelet Network как тип по умолчанию выходной функции f (.). Эта функция использует сумму линейной функции, нелинейная функция (который является суммой масштабированных вейвлетов), и термин смещения, чтобы вычислить выход. Вкладка также показывает набор параметров конфигурации. Количество вейвлетов, используемых функцией, сконфигурировано, чтобы быть выбранным автоматически во время оценки. Можно изменить этот выбор. Можно также изменить начальные значения линейных коэффициентов и смещения. Для первой оценки сохраните выбор по умолчанию.
Нажмите Estimate.
Это действие добавляет модель nlarx1
к плате модели приложения System Identification, как показано в следующем рисунке.
Дважды щелкните или щелкните правой кнопкой по значку модели nlarx1
Плата модели показывает информацию о предполагаемой модели. Главная область описывает структуру модели и результаты оценки (используемые данные, подгонка процента и другие метрики качества). Нижняя область (Diary and Notes) показывает скрипт MATLAB, что можно использовать, чтобы воспроизвести результаты оценки в командной строке.
Примечание
Fit (%) вычисляется с помощью набора данных оценки с особым вниманием предсказания. а не набор данных валидации. Однако выходной график модели в следующем шаге сравнивает подгонку к набору данных валидации. Чтобы видеть, как хорошо модель может симулировать ответ независимого набора данных валидации, используйте график Model Output, как обсуждено в следующем шаге.
В области Model Views приложения System Identification выберите Model output. Это действие симулирует модель с помощью данных о контроле ввода в качестве входа к модели и строит симулированный выход сверху выходных данных о валидации.
Область Best Fits выходного графика модели показывает соглашение между выходом модели и выводом данных валидации с помощью нормированной корневой среднеквадратической метрики (NRMSE) качества подгонки. Соглашение является несовершенным в отрезке времени 400-500.
Выполните следующую процедуру, чтобы просмотреть форму нелинейности в зависимости от регрессоров на Нелинейном графике Модели ARX.
В приложении System Identification установите флажок Nonlinear ARX , чтобы просмотреть поперечные сечения нелинейности.
По умолчанию график показывает отношение между выходными регрессорами Height(t-1)
и Height(t-2)
. Этот график показывает регулярную плоскость в следующем рисунке. Таким образом отношение между регрессорами и выходом является приблизительно линейной плоскостью.
В окне Nonlinear ARX Model Plot, набор Regressor 1 к Voltage(t-1)
. Установите Regressor 2 на Voltage(t-2)
. Нажмите Apply.
Отношение между этими регрессорами и выходом нелинейно, как показано в следующем графике.
Чтобы вращать поверхность нелинейности, выберите Style> Rotate 3D и перетащите график к новой ориентации.
Чтобы отобразить 1D поперечное сечение для Регрессора 1, установите Регрессор 2 на none
, и нажмите Apply. Следующий рисунок показывает получившуюся величину нелинейности для Регрессора 1, который представляет переключенный временем сигнал напряжения, Voltage(t-1)
.
В этом фрагменте примера вы оцениваете нелинейную модель ARX с определенной входной задержкой и настройками нелинейности. Как правило, вы выбираете порядки модели методом проб и ошибок, пока вы не получаете модель, которая производит точную подгонку к данным.
Вы, должно быть, уже оценили нелинейную модель ARX с настройками по умолчанию, как описано в Оценке Нелинейная Модель ARX с Настройками по умолчанию.
В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure, и затем выберите вкладку Regressors.
В панели Configure: Linear regressors #1 измените Voltage
переменная отстает к [3 4]
. Это вызвано тем, что данные предполагают, что существует минимум 3 демонстрационных задержек между входом и выходом.
Это действие обновляет список регрессоров, чтобы показать Voltage(t-3)
и Voltage(t-4)
— термины с минимальной задержкой трех выборок.
Нажмите Estimate.
Это действие добавляет модель nlarx2
к приложению System Identification и обновлениям окно Model Output, чтобы включать эту модель. Двойной клик на nlarx2
значок в плате модели окна главного приложения показывает результаты оценки.
Приложение также обновляет выходной график модели отобразить припадок модели nlarx2
к набору данных zv
валидации. График показывает, что выбор правильных задержек входной переменной улучшает подгонку.
В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure, и затем выберите вкладку Regressors.
Выберите вкладку Output Function.
Для Number of Units выберите Enter и введите 6
. Установка определенного номера управляет гибкостью нелинейной функции путем прямого определения количества вейвлетов, которые использует Wavelet Network.
Нажмите Estimate.
Это действие добавляет модель nlarx3
к приложению System Identification. Это также обновляет окно Model Output как показано в следующем рисунке.
Можно оценить нелинейную модель ARX, которые используют более высокие степени изолированных переменных как регрессоры. В этом примере вы добавите полиномы второго порядка изолированных переменных, включая перекрестные термины.
В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure и затем выберите вкладку Regressors.
Расширьте Add regressors of type и выберите Polynomial.
Это действие добавляет полиномиальный набор регрессора под названием Polynomial regressors #1
к списку наборов регрессора. По умолчанию этот набор сконфигурирован, чтобы сгенерировать регрессоры порядка 2, как показано в панели настройки.
Измените Voltage
задержки к [3 4]
.
Выберите Include mix of variables, чтобы включать все перекрестные термины. Это действие добавляет десять регрессоров второго порядка в модель, в дополнение к этим четырем, внесенным Linear regressor #1.
Нажмите Estimate. Это действие добавляет модель nlarx4
к приложению. Обновления приложения график Model Output, как показано в следующем рисунке.
График показывает, что сложение полиномиальных регрессоров не улучшило способность к обобщению модели. Таким образом, модель не обеспечивает, лучшая подгонка между моделью вывела и измеренный выход для независимых данных о валидации. Этим результатом является обычно сценарий со сверхподгонками, то есть, когда модель содержит больше регрессоров, чем абсолютно необходимый.
Можно оценить нелинейную модель ARX, которая включает только подмножество регрессоров, которые входят как входные параметры в нелинейный блок. По умолчанию все регрессоры используются в нелинейном блоке. В этом фрагменте примера вы присваиваете только подмножество регрессоров с нелинейным блоком.
Вы, должно быть, уже задали структуру модели, как описано в Изменении Нелинейная Структура модели ARX.
В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure, и затем выберите вкладку Regressors.
Если свернуто, расширьте панель Assign Regressors to Output Function.
Очистите выборы для всех регрессоров второго порядка из столбца Height:NonlinearFcn таблицы. Кроме того, очистите выборы для всех регрессоров с перекрестными терминами (то есть, регрессоры, состоявшие из продуктов 2 терминов) от Height:LinearFcn
Нажмите Estimate.
Это действие добавляет модель nlarx5
к приложению System Identification. Это также обновляет окно Model Output.
Эта модель показывает улучшенную способность к обобщению.
Можно оценить ряд нелинейных моделей ARX путем создания систематических изменений к структуре модели и основывать каждую новую модель на настройке ранее предполагаемой модели. В этом фрагменте примера вы оцениваете нелинейную модель ARX, которая похожа на существующую модель (nlarx3
), но который имеет различную нелинейность в выходной функции.
В диалоговом окне Estimate Nonlinear ARX Models выберите вкладку Model Structure.
Выберите nlarx3
от Initial Model. Это устанавливает свойства, которые отображены в Regressors, и Output Function переходит в значения, соответствующие nlarx3
.
Выберите вкладку Output Function.
В таблице измените выбор Nonlinear Function к Sigmoid Network
. Это устанавливает выходную функцию на сигмоидальную сеть.
В Enter the number of units введите 6
.
Нажмите Estimate.
Это действие добавляет модель nlarx6
к приложению System Identification. Это также обновляет график Model Output как показано в следующем рисунке.
Лучшая модель является самой простой моделью, которая точно описывает динамику. Результаты показывают на ту модель nlarx3
кандидат на то, чтобы быть лучшей idnlarx моделью для этих данных, на основе различного выбора структуры модели, который исследовал этот пример.
Перетащите nlarx3
значок к To Workspace окружает основное окно приложения System Identification. В качестве альтернативы дважды щелкните по nlarx3
значок, чтобы открыть его информационное табло. Оттуда, нажмите Export, чтобы экспортировать модель в базовое рабочее пространство.
В этом фрагменте примера вы оцениваете нелинейные модели Хаммерстайна-Винера с помощью структуры модели по умолчанию и опций оценки.
Вы, должно быть, уже подготовили данные, как описано в Подготовке данных. Для получения дополнительной информации о нелинейных моделях ARX, смотрите то, Что Модель Хаммерстайна-Винера?
Примечание
Рисунки в этом примере представляют типичный сеанс приложения System Identification. Ваши результаты не могут точно совпадать с результатами в изображениях.
В приложении System Identification выберите Estimate> Hammerstein-Wiener Models, чтобы открыть диалоговое окно Estimate Hammerstein-Wiener Models. Диалоговое окно содержит две вкладки — Model Structure и Estimation Options.
Смотрите структуру модели по умолчанию. Вкладка Model Structure содержит три вкладки, одну вкладку для каждого компонента модели. Эти компоненты являются входной нелинейностью, линейным динамическим блоком и выходной нелинейностью.
Выберите вкладку Input Nonlinearity. Нелинейность по умолчанию является функцией Piecewise Linear с 10 точками останова.
Выберите вкладку Linear Block. Линейная передаточная функция имеет порядок числителя 2, который подразумевает полином второго порядка в z-1, порядок знаменателя 3 и входная задержка 1 выборки.
Выберите вкладку Output Nonlinearity. Как с вкладкой Input Nonlinearity, нелинейность по умолчанию является функцией Piecewise Linear с 10 точками останова.
Нажмите Estimate.
Это действие оценивает, что параметры модели Хаммерстайна-Винера минимизируют различие между выходом модели и измеренным выходом (ze.OutputData
). Предполагаемые параметры:
Местоположения точки останова (x-и y-координаты) кусочных линейных функций ввода и вывода.
Числитель и коэффициенты полинома знаменателя, которые составляют линейную функцию поблочной передачи.
Программное обеспечение добавляет предполагаемую модель nlhw1
к плате модели приложения System Identification.
В приложении System Identification установите флажок Model output.
Это действие симулирует модель с помощью данных о контроле ввода, как введено для модели и строит симулированный выход сверху выходных данных о валидации. Обратите внимание на то, что данные о валидации установлены в zv
.
Область Best Fits Окна вывода Модели показывает соглашение между выходом модели и выводом данных валидации.
Модель nlhw1
не подтверждает хорошо. Подгонка к zv.OutputData
плохо.
Можно построить нелинейность ввода/вывода и линейную передаточную функцию модели на графике Хаммерстайна-Винера.
В приложении System Identification выберите Hamm-Wiener, чтобы просмотреть график модели Хаммерстайна-Винера.
График отображает входную нелинейность как показано в следующем рисунке.
Кликните по прямоугольнику yNL в главном фрагменте окна Model Plot Хаммерстайна-Винера.
График обновляется, чтобы отобразить выходную нелинейность.
Кликните по прямоугольнику Linear Block в главном фрагменте окна Model Plot Хаммерстайна-Винера.
График обновляется, чтобы отобразить переходной процесс линейной передаточной функции.
В списке Choose plot type выберите Bode
. Это действие отображает Диаграмму Боде линейной передаточной функции.
В этом фрагменте примера вы оцениваете модель Хаммерстайна-Винера с определенными настройками порядка и нелинейности модели. Как правило, вы выбираете порядки модели и задержки методом проб и ошибок, пока вы не получаете модель, которая производит удовлетворительную подгонку к данным.
Вы, должно быть, уже оценили модель Хаммерстайна-Винера с настройками по умолчанию, как описано в Моделях Эстимате Хаммерстайна-Винера с Настройками по умолчанию.
В диалоговом окне Estimate Hammerstein-Wiener выберите вкладку Model Structure и затем вкладку Linear Block.
Для Voltage
введите канал, дважды кликните соответствующую ячейку Input Delay (nk) и введите значение 3
.
Нажмите Estimate.
Это действие добавляет модель nlhw2
к приложению System Identification и обновлениям график Model Output, как показано в следующем рисунке.
Панель Best Fits Окна вывода Модели показывает качество nlhw2
подгонка, которая является улучшением по сравнению с той из модели nlhw1
.
В этом фрагменте примера вы изменяете значение по умолчанию структура модели Хаммерстайна-Винера путем изменения ее средства оценки нелинейности.
Совет
Если вы знаете, что ваша система включает насыщение или мертво-зональную нелинейность, можно задать эти специализированные средства оценки нелинейности в модели. Piecewise Linear
, Wavelet Network
, и Sigmoid Network
средства оценки нелинейности для общего приближения нелинейности.
В диалоговом окне Estimate Hammerstein-Wiener Models выберите вкладку Model Structure и затем вкладку Input Nonlinearity.
Кликните по ячейке Nonlinearity для Voltage
переменная и выбирает Sigmoid Network
из списка.
В Enter the number of units, установленном значение к 20
.
Нажмите Estimate.
Это действие добавляет модель nlhw3
к приложению System Identification. Это также обновляет окно Model Output как показано в следующем рисунке.
В диалоговом окне Estimate Hammerstein-Wiener Models выберите вкладку Input Nonlinearity.
Для Voltage
введите, установите Nonlinearity на Wavelet Network
. Значением по умолчанию для Number of Units является Select Automatically.
Выберите вкладку Output Nonlinearity.
Установите Height
выход Nonlinearity к One-dimensional Polynomial
. Установите Degree of polynomial на 2
.
Нажмите Estimate.
Это действие добавляет модель nlhw4
к приложению System Identification. Это также обновляет окно Model Output как показано в следующем рисунке.
Лучшая модель является самой простой моделью, которая точно описывает динамику.
В этом примере, моделях nlhw3
и nlhw4
хорошие кандидаты.