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.

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

Приложение

Model Reducer

Введенный в R2014a