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 рад/с и резонанс более высокой частоты ниже 10 000 рад/с.

Анализируйте эту модель приблизительно 1 000 рад/с, чтобы разделить эти два резонанса.

[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, содержит только резонанс более низкой частоты. Этот компонент также совпадает с усилением DC исходной модели. Быстрый компонент, 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, такой как a 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