exponenta event banner

предвещать

График Моде частотной характеристики, или данные о величине и фазе

Описание

пример

bode(sys) создает график Бода частотной характеристики динамической модели системы sys. График отображает величину (в дБ) и фазу (в градусах) отклика системы как функцию частоты. bode автоматически определяет частоты для построения графика на основе динамики системы.

Если sys является моделью с несколькими входами и несколькими выходами (MIMO), то bode создает массив графиков Боде, каждый график показывает частотную характеристику одной пары ввода-вывода.

пример

bode(sys1,sys2,...,sysN) строит график частотной характеристики нескольких динамических систем на одном графике. Все системы должны иметь одинаковое количество входов и выходов.

пример

bode(sys1,LineSpec1,...,sysN,LineSpecN) задает цвет, стиль линий и маркер для каждой системы на графике.

пример

bode(___,w) строит графики системных откликов для частот, указанных w.

  • Если w - массив ячеек формы, {wmin,wmax}, то bode строит график отклика на частотах в диапазоне между wmin и wmax.

  • Если w является вектором частот, то bode строит график отклика на каждой заданной частоте.

Вы можете использовать w с любой из комбинаций input-argument в предыдущих синтаксисах.

пример

[mag,phase,wout] = bode(sys) возвращает величину и фазу отклика на каждой частоте в векторе wout. Функция автоматически определяет частоты в wout на основе динамики системы. Этот синтаксис не рисует график.

пример

[mag,phase,wout] = bode(sys,w) возвращает данные ответа на частотах, указанных w.

  • Если w - массив ячеек формы, {wmin,wmax}, то wout содержит частоты в диапазоне между wmin и wmax.

  • Если w является вектором частот, то wout = w.

пример

[mag,phase,wout,sdmag,sdphase] = bode(sys,w) также возвращает оцененное стандартное отклонение величины и фазовых значений для идентифицированной модели sys. Если опустить w, то функция автоматически определяет частоты в wout на основе динамики системы.

Примеры

свернуть все

Создайте график Бода для следующей динамической системы SISO непрерывного времени.

H (s) = s2 + 0 .1s + 7 .5s4 + 0 12s3 + 9s2.

H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
bode(H)

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

bode автоматически выбирает диапазон графика на основе динамики системы.

Создайте график Бода в указанном диапазоне частот. Этот подход используется при необходимости сосредоточиться на динамике в определенном диапазоне частот.

H = tf([-0.1,-2.4,-181,-1950],[1,3.3,990,2600]);
bode(H,{1,100})
grid on

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

Массив ячеек {1,100} задает минимальное и максимальное значения частоты на графике Боде. При предоставлении частотных границ таким образом функция выбирает промежуточные точки для данных частотной характеристики.

Также можно задать вектор частотных точек для вычисления и построения графика частотной характеристики.

w = [1 5 10 15 20 23 31 40 44 50 85 100];
bode(H,w,'.-')
grid on

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

bode строит график частотной характеристики только на заданных частотах.

Сравните частотную характеристику системы непрерывного времени с эквивалентной дискретизированной системой на том же графике Боде.

Создание динамических систем непрерывного и дискретного времени.

H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
Hd = c2d(H,0.5,'zoh');

Создайте график Bode, отображающий обе системы.

bode(H,Hd)

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent H, Hd. Axes 2 contains 2 objects of type line. These objects represent H, Hd.

График Боде дискретно-временной системы включает в себя вертикальную линию, обозначающую частоту Найквиста системы.

Задайте стиль линии, цвет или маркер для каждой системы на графике Bode с помощью команды LineSpec входной аргумент.

H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
Hd = c2d(H,0.5,'zoh');
bode(H,'r',Hd,'b--')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent H, Hd. Axes 2 contains 2 objects of type line. These objects represent H, Hd.

Первое LineSpec, 'r', задает сплошную красную линию для ответа H. Второе LineSpec, 'b--', задает пунктирную синюю линию для ответа Hd.

Вычислите величину и фазу частотной характеристики системы SISO.

Если частоты не указаны, bode выбирает частоты на основе динамики системы и возвращает их в третьем выходном аргументе.

H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
[mag,phase,wout] = bode(H);

Поскольку H является моделью SISO, первые два измерения mag и phase оба равны 1. Третье измерение - количество частот в wout.

size(mag)
ans = 1×3

     1     1    41

length(wout)
ans = 41

Таким образом, каждая запись вдоль третьего измерения mag дает величину отклика на соответствующей частоте в wout.

В этом примере создайте систему с двумя выходами и тремя входами.

rng(0,'twister'); % For reproducibility
H = rss(4,2,3);

Для этой системы, bode строит графики частотных характеристик каждого канала ввода-вывода в отдельном графике на одном рисунке.

bode(H)

Figure contains 12 axes. Axes 1 with title From: In(1) contains an object of type line. This object represents H. Axes 2 contains an object of type line. This object represents H. Axes 3 contains an object of type line. This object represents H. Axes 4 contains an object of type line. This object represents H. Axes 5 with title From: In(2) contains an object of type line. This object represents H. Axes 6 contains an object of type line. This object represents H. Axes 7 contains an object of type line. This object represents H. Axes 8 contains an object of type line. This object represents H. Axes 9 with title From: In(3) contains an object of type line. This object represents H. Axes 10 contains an object of type line. This object represents H. Axes 11 contains an object of type line. This object represents H. Axes 12 contains an object of type line. This object represents H.

Вычислите величину и фазу этих откликов на 20 частотах между 1 и 10 радианами.

w = logspace(0,1,20);
[mag,phase] = bode(H,w);

mag и phase представляют собой трехмерные массивы, в которых первые два измерения соответствуют выходным и входным измерениям Hи третье измерение - количество частот. Например, изучить размеры mag.

size(mag)
ans = 1×3

     2     3    20

Таким образом, например, mag(1,3,10) - величина отклика от третьего входа на первый выход, вычисленная на 10-й частоте в w. Аналогично, phase(1,3,10) содержит фазу того же ответа.

Сравните частотную характеристику параметрической модели, идентифицированной из входных/выходных данных, с непараметрической моделью, идентифицированной с использованием тех же данных.

Определение параметрических и непараметрических моделей на основе данных.

load iddata2 z2;
w = linspace(0,10*pi,128);
sys_np = spa(z2,[],w);
sys_p = tfest(z2,2);

Использование spa и tfest для команд требуется программное обеспечение System Identification Toolbox™.

sys_np является непараметрической идентифицированной моделью. sys_p является параметрической идентифицированной моделью.

Создайте график Bode, включающий обе системы.

bode(sys_np,sys_p,w);
legend('sys-np','sys-p')

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent sys-np, sys-p. Axes 2 contains 2 objects of type line. These objects represent sys-np, sys-p.

Можно отобразить доверительную область на графике Боде, щелкнув правой кнопкой мыши график и выбрав Характеристики (Characteristics) > Доверительная область (Confidence Region).

Вычислите стандартное отклонение величины и фазы идентифицированной модели. Используйте эти данные, чтобы создать график неопределенности отклика на уровне 3λ.

Определение модели передаточной функции на основе данных. Получение данных стандартного отклонения для величины и фазы частотной характеристики.

load iddata2 z2;
sys_p = tfest(z2,2);
w = linspace(0,10*pi,128);
[mag,ph,w,sdmag,sdphase] = bode(sys_p,w);

Использование tfest для выполнения команды требуется программное обеспечение Toolbox™ идентификации системы.

sys_p - идентифицированная модель передаточной функции. sdmag и sdphase содержат данные стандартного отклонения для величины и фазы частотной характеристики соответственно.

Используйте данные стандартного отклонения для создания графика 3λ, соответствующего доверительной области.

mag = squeeze(mag);
sdmag = squeeze(sdmag);
semilogx(w,mag,'b',w,mag+3*sdmag,'k:',w,mag-3*sdmag,'k:');

Figure contains an axes. The axes contains 3 objects of type line.

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

свернуть все

Динамическая система, заданная как динамическая системная модель SISO или MIMO или массив динамических системных моделей. Динамические системы, которые можно использовать:

  • Непрерывные или дискретные числовые модели LTI, такие как tf, zpk, или ss модели.

  • Обобщенные или неопределенные модели LTI, такие как genss или uss (Надежная панель инструментов управления). (Для использования неопределенных моделей требуется программное обеспечение Toolbox™ надежного управления.)

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

    • Для неопределенных блоков конструкции управления функция строит график номинального значения и случайных выборок модели. При использовании выходных аргументов функция возвращает данные частотной характеристики только для номинальной модели.

  • Модели данных частотного отклика, такие как frd модели. Для таких моделей функция строит график отклика на частотах, определенных в модели.

  • Идентифицированные модели LTI, такие как idtf(Панель инструментов идентификации системы), idss(Панель инструментов идентификации системы), или idproc(Панель инструментов идентификации системы). Для таких моделей функция также может строить графики доверительных интервалов и возвращать стандартные отклонения частотной характеристики. См. График мода идентифицированной модели. (Для использования идентифицированных моделей требуется программное обеспечение System Identification Toolbox™.)

Если sys - массив моделей, функция строит график частотных характеристик всех моделей в массиве на одних и тех же осях.

Стиль линии, маркер и цвет, заданные как строка или вектор из одного, двух или трех символов. Символы могут отображаться в любом порядке. Нет необходимости указывать все три признака (стиль линии, маркер и цвет). Например, если опустить стиль линии и указать маркер, на графике будет отображаться только маркер и ни одной линии. Дополнительные сведения о настройке этого аргумента см. в разделе LineSpec входной аргумент plot функция.

Пример: 'r--' задание красной пунктирной линии

Пример: '*b' указывает синие звездочки

Пример: 'y' задает желтую линию

Частоты для вычисления и построения графика частотной характеристики, определенные как массив ячеек {wmin,wmax} или как вектор частотных значений.

  • Если w - массив ячеек формы, {wmin,wmax}, то функция вычисляет отклик на частотах в диапазоне между wmin и wmax.

  • Если w является вектором частот, то функция вычисляет отклик на каждой заданной частоте. Например, использовать logspace для формирования вектора строки с логарифмически разнесенными значениями частоты.

Указать частоты в единицах рад/TimeUnit, где TimeUnit является TimeUnit свойство модели.

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

свернуть все

Величина отклика системы в абсолютных единицах, возвращаемая в виде массива 3-D. Размеры этого массива - (количество системных выходов) × (количество системных входов) × (количество частотных точек).

Чтобы преобразовать величину из абсолютных единиц в децибелы, используйте:

magdb = 20*log10(mag)

Фаза отклика системы в градусах, возвращаемая в виде массива 3-D. Размеры этого массива - (количество выходов) × (количество входов) × (количество частотных точек).

Частоты, на которых функция возвращает отклик системы, возвращаемый в виде вектора столбца. Функция выбирает значения частоты на основе динамики модели, если частоты не указаны с помощью входного аргумента w.

Значения частоты в радианах на TimeUnit, где TimeUnit - значение TimeUnit имущество sys.

Оцененное стандартное отклонение величины отклика в каждой точке частоты, возвращаемое в виде 3-D массива. sdmag имеет те же размеры, что и mag.

Если sys не является идентифицированной моделью LTI, sdmag является [].

Оцененное стандартное отклонение фазы отклика в каждой точке частоты, возвращаемое в виде 3-D массива. sdphase имеет те же размеры, что и phase.

Если sys не является идентифицированной моделью LTI, sdphase является [].

Совет

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

Алгоритмы

bode вычисляет частотную характеристику следующим образом:

  1. Вычислите коэффициент усиления нулевого полюса (zpk) представление динамической системы.

  2. Оцените коэффициент усиления и фазу частотной характеристики на основе данных нуля, полюса и коэффициента усиления для каждого входного/выходного канала системы.

    • Для систем непрерывного времени, bode оценивает частотную характеристику на воображаемой оси s = и рассматривает только положительные частоты.

    • Для дискретно-временных систем, bode оценивает частотную характеристику на единичной окружности. Для облегчения интерпретации команда параметризует верхнюю половину единичной окружности как:

      z = ejstartTs, 0≤ω≤ωN=πTs,

      где Ts - время дискретизации, а startN - частота Найквиста. В этом случае в качестве переменной по оси X используется эквивалентная непрерывная частотная частота λ. Так как H (ejstartTs) является периодическим с периодом 2ωN ,bode строит график отклика только до частоты Найквиста (Nyquist frequency Если sys является дискретно-временной моделью с неопределенным временем выборки, bode использует Ts = 1.

Представлен до R2006a