exponenta event banner

freqsep

Медленная-быстрая декомпозиция

Описание

пример

[Gs,Gf] = freqsep(G,fcut) разлагает линейную динамическую систему на медленные и быстрые компоненты вокруг заданной частоты отсечки. Разложение таково, что G = Gs + Gf.

пример

[Gs,Gf] = freqsep(G,fcut,options) задает дополнительные параметры для разложения.

Примеры

свернуть все

Загрузите динамическую модель системы.

load numdemo Pd
bode(Pd)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents Pd. Axes 2 contains an object of type line. This object represents Pd.

Pd имеет четыре комплексных полюса и один реальный полюс. График Боде показывает резонанс вокруг 210 рад/с и резонанс более высокой частоты ниже 10000 рад/с.

Разложить эту модель около 1000 рад/с, чтобы разделить эти два резонанса.

[Gs,Gf] = freqsep(Pd,10^3);
bode(Pd,Gs,Gf)
legend('original','slow','fast','Location','Southwest')

Figure contains 2 axes. Axes 1 contains 3 objects of type line. These objects represent original, slow, fast. Axes 2 contains 3 objects of type line. These objects represent original, slow, fast.

График Боде показывает, что медленный компонент, Gs, содержит только низкочастотный резонанс. Этот компонент также соответствует коэффициенту усиления постоянного тока исходной модели. Быстрый компонент, Gf, содержит резонансы более высоких частот и соответствует отклику исходной модели на высоких частотах. Сумма двух компонентов Gs+Gf вырабатывает исходную модель.

Разложение модели на медленные и быстрые компоненты между полюсами, которые расположены близко друг к другу.

Следующая система включает вещественный полюс и сложную пару полюсов, которые все близки к s = -2.

G = zpk(-.5,[-1.9999 -2+1e-4i -2-1e-4i],10);

Попробуйте разложить модель примерно на 2 рад/с, чтобы медленный компонент содержал реальный полюс, а быстрый компонент содержал сложную пару.

[Gs,Gf] = freqsep(G,2);
Warning: One or more fast modes could not be separated from the slow modes. To force separation, relax the accuracy constraint by increasing the "SepTol" factor (see "freqsepOptions" for details).

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

options = freqsepOptions('SepTol',5e10);
[Gs,Gf] = freqsep(G,2,options);

Сейчас freqsep успешно разделяет динамику.

slowpole = pole(Gs)
slowpole = -1.9999
fastpole = pole(Gf)
fastpole = 2×1 complex

  -2.0000 + 0.0001i
  -2.0000 - 0.0001i

Входные аргументы

свернуть все

Динамическая система для разложения, заданная как числовая модель LTI, например ss или tf модель.

Частота отсечения для быстрой-медленной декомпозиции, заданная как положительный скаляр. Продукция Gs содержит все полюса с собственной частотой менее fcut. Продукция Gf содержит все полюса с собственной частотой больше или равной fcut.

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

Выходные аргументы

свернуть все

Медленная динамика разложенной системы, возвращаемая как числовая модель LTI того же типа, что и G. Gs содержит все полюса G с собственной частотой менее fcut, и является таким, что G = Gs + Gf.

Быстрая динамика разложенной системы, возвращаемая как числовая модель LTI того же типа, что и G. Gf содержит все полюса G с собственной частотой больше или равной fcut, и является таким, что G = Gs + Gf.

Альтернативная функциональность

Приложение

Редуктор модели

Задача интерактивного редактора

Сокращение заказа модели

Представлен в R2014a