bode

Диаграмма Боде частотной характеристики, или данные величины и фазы

Описание

пример

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 с любыми комбинациями входных аргументов в предыдущих синтаксисах.

пример

[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(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.

Диаграмма Боде системы дискретного времени включает вертикальную линию, помечающую частоту Найквиста системы.

Стиль линии, цвет или маркер для каждой системы на диаграмме Боде с помощью 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.

В данном примере создайте систему с 2 выходами, 3 входами.

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(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.

Можно отобразить доверие область на Диаграмму Боде, щелкнув правой кнопкой мыши график и выбрав «Характеристики» > «Доверием область».

Вычислите стандартное отклонение величины и фазы идентифицированной модели. Используйте эти данные для создания графика неопределенности отклика 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 команда требует программного обеспечения System Identification 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 (Control System Toolbox), zpk (Control System Toolbox), или ss (Control System Toolbox) модели.

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

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

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

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

  • Идентифицированные модели LTI, такие как idtf, idss, или idproc модели. Для таких моделей функция может также построить доверие интервалов и вернуть стандартные отклонения частотной характеристики. См. Диаграмма Боде of Identified Model.

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

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

Пример: 'r--' задает красную штриховую линию

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

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

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

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

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

Задайте частоты в единицах рада TimeUnit, где TimeUnit является TimeUnit свойство модели.

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

свернуть все

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

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

magdb = 20*log10(mag)

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

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

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

Предполагаемое стандартное отклонение величины отклика в каждой частотной точке, возвращаемое как трехмерный массив. sdmag имеет те же размерности, что и mag.

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

Предполагаемое стандартное отклонение фазы отклика в каждой частотной точке, возвращаемое как трехмерный массив. sdphase имеет те же размерности, что и phase.

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

Совет

  • Когда вам нужны дополнительные опции индивидуальной настройки графика, используйте bodeplot (Control System Toolbox).

Алгоритмы

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

  1. Вычислите нули , полюса и усиления (zpk (Control System Toolbox)) представление динамической системы.

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

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

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

      z=ejωTs,0ωωN=πTs,

      где Ts - шаг расчета, а ωN - частота Найквиста. Эквивалентная частотная ω в непрерывном времени затем используется как переменная x оси. ПосколькуH(ejωTs) периодически с периодом 2 ωN, bode строит график отклика только до частотной ωN Найквиста. Если sys является моделью в дискретном времени с неопределенным шагом расчета, bode использует Ts = 1.

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