exponenta event banner

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

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

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

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

  • Некоторые нелинейности не имеют определенного якобиана.

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

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

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

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

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

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

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

(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, u0 B =  fu't0, x0, u0C =  gx't0, x0, u0 D =  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 позволяет линеаризовать многоскоростные нелинейные системы. Полученная линеаризованная модель находится в состоянии-пространстве.

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

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

(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 (

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

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

δxk+1≈A δxk + B δukδyk≈C δxk + D δuk

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

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

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

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

Алгоритм возмущений блока вводит малое возмущение в нелинейный блок и измеряет реакцию на это возмущение. Разница между возмущенным значением и значением рабочей точки по умолчанию равна 10 5 (1 + | x |), где x - значение рабочей точки. Программное обеспечение использует это возмущение и результирующий отклик для вычисления линейного состояния-пространства этого блока. Сведения об изменении уровней возмущений для отдельных блоков см. в разделе Изменение уровня возмущений для блоков, возмущенных во время линеаризации.

В общем случае нелинейный блок Симулинка непрерывного времени в форме state-space задаётся:

(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,i−x˙oxp,i−xo, B (:, i) =x˙|up,i−x˙oup,i−uoC (:, i) = y 'xp, i yoxp, i xo, D (:, i) = y' up, i − youp, i − uo

где

  • xp, i - вектор состояния, i-я составляющая которого возмущена значением рабочей точки.

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

  • i - входной вектор, i-я составляющая которого возмущена значением рабочей точки.

  • uo - входной вектор в рабочей точке.

  • x˙|xp,i - значение при xp, i, uo.

  • x˙|up,i - значение при увеличении, i, xo.

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

  • y 'xp, i - значение y при xp, i, uo.

  • y 'up, i - значение y на высоте, i, xo.

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

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

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

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

Поиск таблиц

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