Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1804

.pdf
Скачиваний:
9
Добавлен:
30.04.2022
Размер:
2.24 Mб
Скачать

графике. Все модели должны иметь одинаковое количество входов и выходов, среди них могут быть как непрерывные, так и дискретные.

Команда bode(sysl, '<тип_линии1>',..., sysN, '< тип_линииN>')

позволяет задать цвет, тип и маркеры линий для характеристик каждой модели.

Функции [mag, phase, w] == bode(sys), [mag, phase] = bode(sys, w)

выполняют расчет амплитудных и фазовых частотных характеристик. Выходные аргументы mag и phase являются трехмерными массивами, последняя размерность которых - частота. Единицу измерения амплитудной характеристики можно преобразовать в децибелы (дБ) следующим образом: magdb = 20*logl0(mag); единица измерения фазы - град, единица измерения частоты - рад/с.

Аргументы:

Выходные аргументы mag и phase являются трехмерными массивами размера Nu Ny length(w):

для одномерных моделей массивы mag(1, 1, k) и phase(1, 1, k) определяют значения амплитудной и фазовой характеристик на частотах w(k);

для многомерных моделей массивы mag(i, j, k) и phase(i, j, k) определяют значения амплитудной и фазовой частотных характеристик для передаточных функций Нij от j-гo входа до i-гo выхода на частотах w(k).

Пример:

Построить логарифмические частотные характеристики для непрерывной lti-модели с одним входом и одним выходом.

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

Перейдем от непрерывной модели к дискретной с периодом дискретности Ts = 0,5 с и построим на одном графике их частотные характеристики:

» gd=c2d(g,0.5)

Transfer function:

0.121 z^3 + 0.07256 z^2 + 0.06758 z + 0.1146

----------------------------------------------------------

z^4 - 2.138 z^3 + 2.218 z^2 - 2.021 z + 0.9418

Sampling time: 0.5

» bode(g,'k',gd,'k:')

Для непрерывных моделей функция bode рассчитывает частотные

характеристики для значений переменной передаточной функции s

= j

на

мнимой

оси.

Рассматриваются только положительные значения .

Для

ss-

моделей

частотная

характеристика

рассчитывается

по

формуле

C j I

A 1 B

D . При расчетах матрицу

A целесообразно привести к форме

Хессенберга для экономии машинного времени и повышения точности результата.

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

функции

при значении ее переменной на окружности

единичного радиуса

z e j Ts .

Из-за периодичности частотной характеристики дискретной модели

она рассчитывается только от нуля до частоты

/Ts

(частота Найквиста),

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

Предупреждение: если lti-модель имеет полюс на мнимой оси в случае непрерывной модели или на окружности единичного радиуса в случае дискретной модели, а вектор w содержит частоту, соответствующую этой точке, то амплитудная характеристика на этой частоте равна бесконечности, и в этом случае выдается предупреждающее сообщение (Singularity in freq. response due to jw-axis or unit circle pole).

margin

Определение запасов устойчивости по фазе и модулю

 

 

Синтаксис: margin(sys)

[Gm, Pm, Wcg, Wcp] = margin(sys)

[Gm, Pm, Wcg, Wcp] = margin(mag, phase, w)

Группа команд и функций margin вычисляет запасы устойчивости по фазе и модулю, а также соответствующие частоты для lti-моделей одномерных разомкнутых систем. Значения запасов устойчивости указывают, на сколько частотная характеристика разомкнутой системы удалена от критической точки

(-1 +j0).

Запас устойчивости по модулю - это значение амплитудной частотной характеристики на частоте, где фазовая частотная характеристика имеет значение -180 град.

Запас устойчивости по фазе - это разность между значением фазовой частотной характеристики и - 180 град на частоте среза.

Частота среза - это частота, где значение амплитудной частотной характеристики равно 1.0, или 0 дБ.

Как правило, запас устойчивости по фазе в пределах между 30 и 60 град обеспечивает приемлемый компромисс между устойчивостью и полосой пропускания.

Команда margin(sys) строит логарифмические частотные характеристики разомкнутой системы с указанием запасов ее устойчивости. Команда применима как к непрерывным, так и к дискретным lti-моделям.

Функция [Gm, Pm, Wcg, Wcp] = margin(sys) рассчитывает запас устойчивости по амплитуде Gm, запас устойчивости по фазе Pm и соответствующие частоты Wcg и Wcp для данной модели одномерной разомкнутой системы sys. Если имеется несколько точек пересечения амплитудной характеристики на уровне 0 дБ и фазовой - на уровне -180 град, то возвращаются наименьшие значения соответствующих запасов устойчивости.

Функция [Gm, Pm, Wcg, Wcp] = margin(mag, phase, w) возвращает значения запасов устойчивости, вычисленных по значениям массива точек (mag, phase, w), где mag - амплитуда, phase - фаза и w - частота. В этом случае при определении запасов устойчивости необходимо выполнить интерполяцию для определения соответствующих точек пересечения, что приводит к потере точности вычислений.

Пример:

Рассчитать запасы устойчивости по фазе и модулю, если задана следующая дискретная передаточная функция разомкнутой системы:

» hd=tf([0.04798 0.0464],[1 -1.81 0.9048],0.1) Transfer function:

0.04798 z + 0.0464

--------------------------

z^2 - 1.81 z + 0.9048

Sampling time: 0.1

»[Gm,Pm,Wcg,Wcp]=margin(hd);

»[20*log10(Gm),Pm,Wcg,Wcp]

ans =

6.2424 13.5712 5.4374 4.3544

Для графического отображения этих значений

» margin(hd)

impulse

Импульсная переходная функция

 

 

Синтаксис: impulse(sys) impulse(sys, t)

impulse(sys1, sys2,..., sysN) impulse(sys1, sys2, ...,sysN, t)

impulse(sys1, 'PlotStylel',..., sysN, PlotStyleN') impulse(sys1, 'PlotStylel',..., sysN, 'PlotStyleN', t) [y, t, x] = impulse(sys)

[y, t, x] = impulse(sys, t)

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

Команда impulse(sys) строит график импульсной переходной функции для lti-модели sys. Эта модель может быть непрерывной и дискретной, одномерной и многомерной. Для многомерной модели строится набор импульсных переходных функций по каждому каналу входа-выхода. Продолжительность моделирования определяется автоматически так, чтобы отобразить основные особенности переходных процессов.

Команда impulse(sys, t) позволяет явно указать продолжительность моделирования либо в виде момента окончания t = Tfinal в секундах, либо в виде вектора t = 0:dt:Tfinal. Для дискретных моделей значение dt должно соответствовать периоду дискретности; для непрерывных моделей значение dt должно быть достаточно малым, чтобы учесть наиболее быстрые изменения переходного процесса.

Команды impulse(sysl, sys2, ..., sysN), impulse(sysl, sys2, ..., sysN, t) по-

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

Команды impulse(sysl, 'PlotStylel', ..., sysN, 'PlotStyleN'), impulse(sysl, 'PlotStylel', ..., sysN, 'PlotStyleN', t) позволяют разметить импульсные пере-

ходные функции для нескольких lti-моделей sysl,..., sysN на одном графике различными стилями.

Функции [у, t, х] = impulse(sys), [у, t, x] = impulse(sys, t) вычисляют им-

пульсные переходные функции для вектора выходов у, вектор моментов времени t, значения переменных состояния х. Графики при этом не строятся.

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

Для многомерных моделей со многими входами переходные функции для каждого канала размещаются в трехмерном массиве у размера (длина вектора 1) (число выходов) (число входов). При этом значение у(:, :, j) соответствует переходной функции по j-му входу. Аналогично трехмерный массив х имеет размер (длина вектора 1) (число переменных состояния) (число входов).

Пример:

Построить импульсную переходную функцию для модели 2-го порядка в пространстве состояний

x1

0.5572

0.7814

x1

0.5572

1

u1

x2

0.7814

0

x2

0

2

u2

y

1.9691 6.4493

x1

 

 

 

 

x2

 

 

 

 

»a=[-0.5572 -0.7814; 0.7814 0];

»b=[1 -1; 0 2];

»c=[1.9691 6.4493];

»sys=ss(a,b,c,0);

»impulse(sys)

Левый график соответствует импульсной переходной функции для первого входа, а правый – для второго входа.

Можно сохранить значения импульсной переходной функции в виде массива

[y, t] = impulse(sys).

Ограничения: импульсная переходная функция непрерывной системы с нулевой матрицей D равна бесконечности при t = 0. Функция impulse игнорирует этот разрыв и возвращает при t = 0 значение Cb.

step Переходная функция

Синтаксис:

step(sys) step(sys, t)

step(sys1, sys2,..., sysN) step(sys1, sys2,..., sysN, t)

step(sys1, 'PlotStytel',..., sysN, 'PlotStyleN') step(sys1, 'PlotStylel',..., sysN, 'PlotStyleN', t) [y, t, x] = step(sys)

[y, t, x] = step(sys, t)

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

Команда step(sys) строит график переходной функции для lti-модели sys. Эта модель может быть непрерывной и дискретной, одномерной и многомерной. Для многомерной модели строится набор переходных функций по каждому каналу входа-выхода. Продолжительность моделирования определяется автоматически так, чтобы отобразить основные особенности переходных процессов.

Команда step(sys, t) позволяет явно указать продолжительность моделирования либо в виде момента окончания t = Tfinal в секундах, либо в виде вектора t = 0:dt:Tfinal. Для дискретных моделей значение dt должно соответствовать периоду дискретности; для непрерывных моделей значение dt должно быть достаточно малым, чтобы учесть наиболее быстрые изменения переходного процесса.

Команды step(sysl, sys2, ..., sysN), step(sysl, sys2, ..., sysN, t) позволяют на одном графике построить переходные функции для нескольких Iti-моделей sysl,..., sysN. Все модели должны иметь одинаковое число входов и выходов.

Команды step(sysl, 'PlotStylel', ..., sysN, 'PlotStyleN'), step(sysl, 'PlotStylel', ..., sysN, 'PlotStyleN', t) позволяют разметить переходные функции для нескольких lti-моделей sysl,..., sysN на одном графике различными стилями.

Функции [у, t, х] = step(sys), [у, t, x] = step(sys, t) вычисляют переходные функции для вектора выходов у, вектор моментов времени t, значения переменных состояния х. Графики при этом не строятся.

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

Для многомерных моделей со многими входами переходные функции для каждого канала размещаются в трехмерном массиве у размера (длина вектора 1) (число выходов) (число входов). При этом значение у(:, :, j) соответствует переходной функции по j-му входу. Аналогично трехмерный массив х имеет размер (длина вектора 1) (число переменных состояния) (число входов).

Пример: построить переходную функцию для ss-модели 2-го порядка

»a=[-0.5572 -0.7814; 0.7814 0];

»b=[1 -1; 0 2];

»c=[1.9691 6.4493];

»sys=ss(a, b, c, 0);

»H=tf(sys)

Transfer function from input 1 to output: 1.969 s + 5.039

------------------------------

s^2 + 0.5572 s + 0.6106

Transfer function from input 2 to output: 10.93 s - 0.9297

------------------------------

s^2 + 0.5572 s + 0.6106

» step(sys)

Для непрерывной модели строится эквивалентная дискретная модель с экстраполятором 0-го порядка. Период дискретности выбирается автоматически, исходя из динамических свойств модели, за исключением случая, когда задается вектор времени t = 0:dt:Tf, в этом случае dt используется как значение периода дискретности.

Ниже приводится краткое описание ряда дополнительных функций пакета Control System Toolbox, которые могут оказаться полезными для исследования динамических моделей систем автоматического управления. Синтаксис и правила применения этих функций можно изучить самостоятельно.

size

Определение размерностей lti-модели

 

 

 

 

tzero

Вычисление передаточных нулей lti-модели

 

 

 

 

dsort

Сортировка полюсов дискретной lti-модели

 

 

 

 

esort

Сортировка полюсов непрерывной lti-модели

 

 

 

evalfr

Вычисление передаточной функции для заданного (в том числе и

комплексного) значения аргумента (частоты)

 

 

 

frqresp

Вычисление частотных характеристик в точках

действительных

значений частоты

 

 

 

 

 

 

Вычисление норм (для непрерывной системы H(s) – квадратный

norm

корень из среднего значения квадрата импульсной переходной

 

функции системы) lti-модели

 

 

 

Построение амплитудно-фазового годографа Никольса. При

nichols

наложении на

годограф Никольса

диаграммы Никольса можно

проанализировать свойства как разомкнутой, так и замкнутой

 

 

модели

 

 

 

ngid

Построение диаграммы Никольса

 

 

 

 

nyquist

Построение годографа Найквиста в координатах Re(H) – Im(H)

 

 

 

Построение частотной характеристики сингулярных чисел lti-

sigma

модели. Для

одномерных систем

частотные

характеристики

сингулярных чисел являются аналогом логарифмических

 

 

частотных характеристик

 

 

3.11. Средства графического интерфейса пользователя для анализа ltiсистем

Для просмотра результатов анализа, расчета или проектирования Itiсистем в состав ППП Control System Toolbox включено специальное средство просмотра LTI-Viewer, реализованное на основе графического интерфейса пользователя GUI.

Для вызова средства просмотра LTI-Viewer надо ввести команду

ltiview

и на экране терминала появится рабочее поле средства LTI-View,

1

2

11

3

4

10

5

6

7

8

9

где 1 - линейка меню для доступа к дополнительным средства управления; 2 - рабочее пространство для построения графиков;

3 - список lti-объектов в рабочей среде системы MATLAB;

4 - кнопки переключения между рабочими средами системы MATLAB и средства просмотра LT Viewer;

5 - линейка состояния;

6 - список lti-объектов в рабочей среде LT Viewer;

7- селектор выбора пар вход-выход;

8- радиокнопки для изменения конфигурации графика;

9- дополнительные опции графика;

10- меню возможных графиков;

11- кнопки изменения масштаба.

Средство просмотра LTI-Viewer работает с собственной рабочей средой которая формируется независимо от рабочей среды системы MATLAB.

Для обмена данными между рабочими средами системы MATLAB и LTIViewer предназначено окно просмотра (области 3, 6).