Точный алгоритм линеаризации

Программное обеспечение Simulink® Control Design™ линеаризует модели с помощью подхода блока блоком. Программное обеспечение индивидуально линеаризует каждый блок в вашей модели Simulink и производит линеаризацию полной системы путем объединения отдельной линеаризации блока.

Программное обеспечение определяет уровни на входе и государственные уровни для каждого блока из рабочей точки, и запрашивает якобиан для этих уровней от каждого блока.

Для некоторых блоков программное обеспечение не может вычислить аналитическую линеаризацию. Например:

  • Некоторая нелинейность не имеет заданного якобиана.

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

  • Некоторые блоки не реализуют якобиан.

  • Пользовательские блоки, такие как блоки S-Function и блоки MATLAB Function, не имеют аналитических Якобианов.

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

Модели непрерывного времени

Программное обеспечение Simulink Control Design позволяет вам линеаризовать непрерывное время нелинейные системы. Получившаяся линеаризовавшая модель находится в форме пространства состояний.

В непрерывное время уравнения пространства состояний нелинейной системы:

x˙(t)=f(x(t),u(t),t)y(t)=g(x(t),u(t),t)

где x (t) являются системными состояниями, u (t) являются входными сигналами, и y (t) являются выходными сигналами.

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

δx(t)=x(t)x0δu(t)=u(t)u0δy(t)=y(t)y0

Выход системы в рабочей точке является y (t0) =g (x0, u0, t0) =y0.

Линеаризовавшие уравнения пространства состояний в терминах δx (t), δu (t), и δy (t):

δx˙(t)=Aδx(t)+Bδu(t)δy(t)=Cδx(t)+Dδu(t)

где A, B, C, и D являются постоянными содействующими матрицами. Этими матрицами являются Якобианы системы, оцененной в рабочей точке:

A=fx|t0,x0,u0B=fu|t0,x0,u0C=gx|t0,x0,u0D=gu|t0,x0,u0

Это линейное независимое от времени приближение к нелинейной системе допустимо в области вокруг рабочей точки в t=t0, x (t0) =x0, и u (t0) =u0. Другими словами, если значения системных состояний, x (t), и входные параметры, u (t), достаточно близки к рабочей точке, система ведет себя приблизительно линейно.

Передаточная функция линеаризовавшей модели является отношением Преобразования Лапласа δy (t) и Преобразования Лапласа δu (t):

Plin(s)=δY(s)δU(s)

Многоскоростные модели

Программное обеспечение Simulink Control Design позволяет вам линеаризовать многоскоростные нелинейные системы. Получившаяся линеаризовавшая модель находится в форме пространства состояний.

Многоскоростные модели включают состояния с различными частотами дискретизации. В многоскоростных моделях переменные состояния изменяют значения в разное время и с различными частотами. Некоторые переменные могут изменяться постоянно.

Общие уравнения пространства состояний нелинейной, многоскоростной системы:

x˙(t)=f(x(t),x1(k1),,xm(km),u(t),t)x1(k1+1)=f1(x(t),x1(k1),,xm(km),u(t),t)xm(km+1)=fi(x(t),x1(k1),,xm(km),u(t),t)y(t)=g(x(t),x1(k1),,xm(km),u(t),t)

где k1..., км являются целочисленными значениями и tk1,...,tkm дискретные времена.

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

δxk+1Aδxk+BδukδykCδxk+Dδuk

Уровень линеаризовавшей модели обычно является наименьшим общим кратным шагов расчета, которое обычно является самым медленным шагом расчета.

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

Возмущение отдельных блоков

Программное обеспечение Simulink Control Design линеаризует блоки, которые не имеют предварительно запрограммированной линеаризации с помощью числового возмущения. Программное обеспечение вычисляет линеаризацию блока путем числового беспокойства состояний и входных параметров блока о рабочей точке блока.

Алгоритм возмущения блока вводит небольшое возмущение нелинейному блоку и измеряет ответ на это возмущение. Различие по умолчанию между встревоженным значением и значением рабочей точки 105(1+|x|), где x является значением рабочей точки. Программное обеспечение использует это возмущение и получившийся ответ, чтобы вычислить линейное пространство состояний этого блока. Для получения информации о том, как изменить уровни возмущения для отдельных блоков, смотрите Уровень Возмущения Изменения Блоков, Встревоженных Во время Линеаризации.

В общем случае непрерывным временем нелинейный блок Simulink в форме пространства состояний дают:

x˙(t)=f(x(t),u(t),t)y(t)=g(x(t),u(t),t).

В этих уравнениях x (t) представляет состояния блока, u (t) представляет входные параметры блока, и y (t) представляет выходные параметры блока.

Линеаризовавшая модель этой системы допустима в небольшой области вокруг рабочей точки t=t0, x (t0) =x0, u (t0) =u0, и y (t0) =g (x0, u0, t0) =y0.

Чтобы описать линеаризовавший блок, задайте новый набор переменных состояний, входных параметров и выходных параметров, сосредоточенных о рабочей точке:

δx(t)=x(t)x0δu(t)=u(t)u0δy(t)=y(t)y0

Линеаризовавшие уравнения пространства состояний в терминах этих новых переменных:

δx˙(t)=Aδx(t)+Bδu(t)δy(t)=Cδx(t)+Dδu(t)

Линейное независимое от времени приближение к нелинейной системе допустимо в области вокруг рабочей точки.

Матрицы пространства состояний A, B, C, и D этой линеаризовавшей модели представляют Якобианы блока.

Чтобы вычислить матрицы пространства состояний во время линеаризации, программное обеспечение выполняет эти операции:

  1. Тревожит состояния и входные параметры, по одному, и измеряет ответ системы к этому возмущению путем вычисления δx˙ и δy.

  2. Вычисляет матрицы пространства состояний с помощью возмущения и ответа.

    A(:,i)=x˙|xp,ix˙oxp,ixo,B(:,i)=x˙|up,ix˙oup,iuoC(:,i)=y|xp,iyoxp,ixo,D(:,i)=y|up,iyoup,iuo

где

  • xp, i - вектор состояния, i-ый компонент которого встревожен от значения рабочей точки.

  • xo является вектором состояния в рабочей точке.

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

  • uo является входным вектором в рабочей точке.

  • x˙|xp,i значение x˙ в xp, i, uo.

  • x˙|up,i значение x˙ в, i, xo.

  • x˙o значение x˙ в рабочей точке.

  • y|xp,i значение y в xp, i, uo.

  • y|up,i значение y в, i, xo.

  • эй значение y в рабочей точке.

Пользовательские блоки

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

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

Ищите таблицы

Регулярный взгляд таблицы численно встревожен. Предварительные интерполяционные таблицы имеют предварительно запрограммированную (точную) линеаризацию блока блоком.