пятница, 8 апреля 2011 г.

Лекция 10. Трансформация в линейные системы.

В лекции рассматривается вопрос из области геометрической теории нелинейных систем управления: как с помощью нелинейной обратной связи из исходной нелинейной системы получить линейную. Это метод линеаризации с помощью/по обратной связи (feedback linearization).

Ниже только план лекции и формулирование метода.



План
0. математические понятия
- классы нелинейных функций, диффеоморфизм
- производная Ли
- теорема об инверсной функции
1. постановка задачи
- линейные vs нелинейные системы, принципиальные ограничения
- условие на область значений функций выхода
- условие на управляемость, нелинейная управляемость
2. классическая теория
- относительная степень
- диффеоморфизм преобразования координат
- структура системы управления, линеаризация как разомкнутое управление по выходу, контур обратной связи для регулирования выхода
3. пост-классическая теория
- гомеоморфизм преобразования координат
- инъективность и монотонность
- кусочно-линейная линеаризация


Метод линеаризации по обратной связи (кратко)

Пусть имеется динамическая систему с $m$ входами и $m$ выходами, заданная системой уравнений:

$$\dot{x} = f(x) + \sum_{i=1}^m g_i(x) u_i$$
$$y = h(x)$$

где $x \in \mathbb{R}^n$, $y \in \mathbb{R}^m$, $u \in \mathbb{R}^m$, а $f : \mathbb{R}^n \to \mathbb{R}^n$, $g_i : \mathbb{R}^n \to \mathbb{R}^n$, $h : \mathbb{R}^n \to \mathbb{R}^m$ -- гладкие отображения, $\mathcal{L}_f \lambda = \frac{\partial \lambda(x)}{\partial x} f(x) = \sum_{i=1}^n \frac{\partial \lambda(x)}{\partial x_i} f_i(x)$ -- производная Ли функции $\lambda$ по полю $f$:

Определим $r_j > 0$, такое целое число, что, по крайне мере, для одной функции $g_i$ в области $\mathfrak{S} \subseteq \mathbb{R}^n$:

$$ \mathcal{L}_{g_i} \mathcal{L}_f^{r_j-1} h_j \ne 0 $$

где число $r = \sum_{i=1}^m r_j$ называется относительной степенью системы. Будем рассматривать системы, для которых $ r = n $.

В таком случае, исходная динамическая система в области $\mathfrak{S}$ эквивалентна системе:

$$y^{(r_j)}_j = \mathcal{L}_f^{r_j} h_j + \sum_{i=1}^m \mathcal{L}_{g_i} \mathcal{L}_f^{r_j-1} h_j \cdot u_i$$

Определив функциональную матрицу $ A_{kp} = \mathcal{L}_{g_p} \mathcal{L}_f^{r_k-1} h_k $ и векторную функцию $ B_{j} = \mathcal{L}_f^{r_j} h_j $, исходную динамическюу систему можно переписать в матричной форме:

$$y^{(r_j)} = B(x) + A(x) \cdot u$$

Очевидно, что подстановка:

$$u = A(x)^{-1} [ v - B(x) ]$$

переводит в области $\mathfrak{S}$ исходную нелинейную динамическую систему в линейную:

$$y^{(r_j)} = v$$

4 комментария:

  1. Здравствуйте, Alex. Прошу совета. У меня есть ряды цифр: череда дат и число приходящихся на каждую дату событий. Часть этих рядов носит естественно-исторический характер, но есть и "вставные" элементы, обычно встречающиеся с частотой кратной 24, 36, 52, 76 или 84 в периоде. На графике это выглядит как ритмичные колебания. ВОПРОС: есть ли простой способ отделить "зерна от плевел" - естественные ряды от вставных элементов? С уважением, Андрей Степаненко

    ОтветитьУдалить
  2. @Andrew, добрый день!

    Вы можете также разместить где-нибудь картинку и/или сами числовые значения ряда с комментариями что является лишним? Тогда можно подумать более детально и предметно)

    Возможно, я не совсем понял вашу задачу, но если нежелательные элементы числового ряда являются колебаниями с известными частотами, то это классическая задача цифровой частотной фильтрации: вам необходимо либо тупо разложить данные в ряд Фурье, там удалить нежелательные частоты и обратным преобразованием Фурье получить отфильтрованный ряд; либо использовать полосовые фильтры (band pass filter). Все это несложно сделать в MATLAB.

    ОтветитьУдалить
  3. Здравствуйте, @Alex.
    Вот здесь поместил картинку и подборку "неправильных" рядов дат.
    http://livehistory.ru/forum.html?func=view&catid=6&id=9241
    Полный ряд огромен, и я, честно говоря, не знаю, как его разместить... Наверное, подошью базу файлом - там же, где и картинка.
    Вот что я вижу. Каждое упомянутое историками ключевое событие тащит за собой ряд второстепенных. Поэтому плотность событийного ряда плавает - она то больше, что меньше. Поэтому должно быть безразлично содержание событий. Чтобы понять, есть ли что-либо искусственное, думаю, достаточно подвергнуть анализу все даты целиком.
    Думаю, если закономерности есть, они всплывут. Увы, мне остро не хватает математического образования :(

    ОтветитьУдалить
  4. @Andrew, я не забыл о вашей задаче. Файл xls скачал, но времени подумать не было. Сейчас будет некоторая возможность подумать, может покажу вашу задачку коллегам. Для удобства, предлагаю общаться по емейлу, мой указан тут:
    http://control-theory-mmf-2010.blogspot.com/2010/09/blog-post.html

    ОтветитьУдалить