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)

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

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