предвещать

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

Синтаксис

bode(sys)
bode(sys1,sys2,...,sysN)
bode(sys1,LineSpec1,...,sysN,LineSpecN)
bode(___,w)
[mag,phase,wout] = bode(sys)
[mag,phase,wout] = bode(sys,w)
[mag,phase,wout,sdmag,sdphase] = bode(sys,w)

Описание

пример

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

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

пример

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

пример

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

пример

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)

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

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

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

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

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

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

bode строит частотную характеристику на заданных частотах только.

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

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

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

Создайте Диаграмму Боде, которая отображает обе системы.

bode(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--')

Первый 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    42

length(wout)
ans = 42

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

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

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

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

bode(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')

Можно отобразить область уверенности на Диаграмме Боде путем щелчка правой кнопкой по графику и выбора 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:');

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

magdb = 20*log10(mag)

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

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

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

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

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

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

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

Советы

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

Алгоритмы

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

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

  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