bode

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

Описание

пример

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

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

Если sys модель с комплексными коэффициентами, затем в:

  • Регистрируйте шкалу частоты, график показывает две ветви, один для положительных частот и один для отрицательных частот. График также показывает стрелы, чтобы указать на направление увеличения значений частоты для каждой ветви. См. Диаграмму Боде Модели с Комплексными Коэффициентами.

  • Линейная шкала частоты, график показывает одну ветвь с симметричным частотным диапазоном, сосредоточенным в значении частоты нуля.

пример

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

пример

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

пример

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

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

  • Если w вектор из частот, затем bode строит ответ на каждой заданной частоте. Векторный w может содержать и отрицательные и положительные частоты.

Можно использовать 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 objects. Axes object 1 contains an object of type line. This object represents H. Axes object 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 objects. Axes object 1 contains an object of type line. This object represents H. Axes object 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 objects. Axes object 1 contains an object of type line. This object represents H. Axes object 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 objects. Axes object 1 contains 2 objects of type line. These objects represent H, Hd. Axes object 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 objects. Axes object 1 contains 2 objects of type line. These objects represent H, Hd. Axes object 2 contains 2 objects of type line. These objects represent H, Hd.

Первый LineSpecR, задает твердую красную линию для ответа H. Второй LineSpecB, задает пунктирную синюю линию для ответа 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.

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

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

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

bode(H)

Figure contains 12 axes objects. Axes object 1 with title From: In(1) contains an object of type line. This object represents H. Axes object 2 contains an object of type line. This object represents H. Axes object 3 contains an object of type line. This object represents H. Axes object 4 contains an object of type line. This object represents H. Axes object 5 with title From: In(2) contains an object of type line. This object represents H. Axes object 6 contains an object of type line. This object represents H. Axes object 7 contains an object of type line. This object represents H. Axes object 8 contains an object of type line. This object represents H. Axes object 9 with title From: In(3) contains an object of type line. This object represents H. Axes object 10 contains an object of type line. This object represents H. Axes object 11 contains an object of type line. This object represents H. Axes object 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 3D массивы, в которых первые две размерности соответствуют выходу и вводят размерности 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 objects. Axes object 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent sys-np, sys-p. Axes object 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 команда требует программного обеспечения 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 object. The axes object contains 3 objects of type line.

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

rng(0)
A = [-3.50,-1.25-0.25i;2,0];
B = [1;0];
C = [-0.75-0.5i,0.625-0.125i];
D = 0.5;
Gc = ss(A,B,C,D);
Gr = rss(5);
bode(Gc,Gr)
legend('Complex-coefficient model','Real-coefficient model','Location','southwest')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type line. These objects represent Complex-coefficient model, Real-coefficient model. Axes object 2 contains 2 objects of type line. These objects represent Complex-coefficient model, Real-coefficient model.

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

Можно изменить шкалу частоты Диаграммы Боде путем щелчка правой кнопкой по графику и выбора Properties. В диалоговом окне Property Editor, на вкладке Units, устанавливает шкалу частоты на linear scale. В качестве альтернативы можно использовать bodeplot функция с bodeoptions объект создать индивидуально настраиваемый график.

opt = bodeoptions;
opt.FreqScale = 'Linear';

Создайте график с индивидуально настраиваемыми опциями.

bodeplot(Gc,Gr,opt)
legend('Complex-coefficient model','Real-coefficient model','Location','southwest')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type line. These objects represent Complex-coefficient model, Real-coefficient model. Axes object 2 contains 2 objects of type line. These objects represent Complex-coefficient model, Real-coefficient model.

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

Входные параметры

свернуть все

Динамическая система в виде 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 модели. Для таких моделей функция может также построить доверительные интервалы и возвратить стандартные отклонения частотной характеристики. См. Диаграмму Боде Идентифицированной Модели.

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

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

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

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

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

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

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

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

Для моделей с комплексными коэффициентами, если вы задаете частотный диапазон [min w, w макс.] для вашего графика, затем в:

  • Регистрируйте шкалу частоты, пределы частоты графика устанавливаются к [min w, w макс.] и график показывает две ветви, один для положительных частот [min w, w макс.] и один для отрицательных частот [–wmax, –wmin].

  • Линейная шкала частоты, пределы частоты графика устанавливаются к [–wmax, w макс.] и график показывает одну ветвь с симметричным частотным диапазоном, сосредоточенным в значении частоты нуля.

Задайте частоты в модулях rad/TimeUnit, где TimeUnit TimeUnit свойство модели.

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

свернуть все

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

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

magdb = 20*log10(mag)

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

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

wout также содержит отрицательные значения частоты для моделей с комплексными коэффициентами.

Значения частоты находятся в radians/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