27
М И НИ СТ ЕРСТ В О О БРА ЗО В А Н И Я И НАУКИ РО ССИ ЙСКО Й Ф Е Д Е РА Ц И И В О РО НЕ Ж СКИ Й ГО СУД АРСТ В ЕННЫ Й УН И В Е РСИ Т Е Т MATLAB для дискр етн ы х си сте м упр авл ен ия Учебно -метод ическоепособи епо специ альности «Пр иклад наяматемати ка и и нформатика» 010200 Воронеж 2005

MATLAB для дискретных СУ

Embed Size (px)

DESCRIPTION

MATLAB для дискретных СУ

Citation preview

Page 1: MATLAB для дискретных СУ

М И Н И СТ Е РСТ В О О БРА ЗО В А Н И Я И Н А У К И РО ССИ Й СК О Й Ф Е Д Е РА Ц И И

В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н Ы Й У Н И В Е РСИ Т Е Т

MATLAB д л я д искр етн ы х систем упр авл е н ия

У чебно-метод ическое пособие по специальности «Прикладная математика и информатика» 010200

В оронеж 2005

Page 2: MATLAB для дискретных СУ

2

У тверж д ено научно-метод ическим советом протокол № 1 от 22 сентября 2005 г. факультета ПМ М

Составитель Кры ж ановская Ю .А . У чебно-метод ическое пособие под готовлено на кафедре технической кибернетики и автоматического регулирования факультета прикладной математики , информатики и механики В оронеж ского госуд арственного уни верситета. Рекоменд уется д ля студентов 4 курса д /о факультета Приклад ной математики , информатики и механики .

Page 3: MATLAB для дискретных СУ

3

Д анное учебно-метод ическое пособие содерж ит сведения по использованию системы MATLAB д ля моделирования д искретны х систем автоматического управления. М атериал основы вается на MATLAB версии 6.5. Пособие разделено на несколько частей , посвящ енных возмож ностям преобразования непреры вны х систем в д искретную форму, исслед ованию устой чи вости , получению частотной характеристики , использованию возмож ностей д ля моделирования Simulink. Кроме того, при вод ятся примеры и зад ания д ля инд и в и д уального в ы полнения. М атериалы опробованы при проведени и лабораторны х заняти й . Пособие предназначено студ ентам 4 курса д невного отделения, и зучаю щ им спецкурс «Д искретные системы управления» и д исциплину «Т еория автоматического управления» , и мож ет быть использовано д алее при и зучени и д исциплин специализаци и . При под готовке материалов были использованы литературные и Internet-источники [1-5]. При и зучени и материалов рекоменд уется использовать источники [6-8]. Д ля начала работы требуется влад ение материалом в рамках курса «Т еория автоматического управления» . С од е р ж ан ие Вве д е н ие … … … … … … … … … … … … … … … … … … … … … … … … … … … … ..3 П р еобр азован ие н епр е р ы вн ы х систем в д искр етн ы е … … … … … … … … … 4 И спользование c2d … … … … … … … … … … … … … … … ..… … … … … … … … … 4 И спользование c2dm … … … … … … … … … … … … … … … … ..… … … … … … … 8 Устойчивость и пер е х од н ая х ар акте р истика … … … ..… … … … … … … … ..10 Discrete Root-Locus … … … … … … … … … … … … … … ..… … … … … … … … … 12 Ltiview ..… … … … … … … … … … … … … … … … … … ..… … … … … … … … … … 13 Частотн ая х ар актер истика … … … … … … … … … ..… … … … … … … … … … ..14 Simulink … … … … … … … … … … … … … … … … … ..… … … … … … … … … … … 14 Блоки Discrete … … … … … … … … … … … … … … … … … … … … … … … … .… ...17 М етод цифрового переоборуд ования непреры вного регулятора в среде MATLAB/SIMULINK … … … … … … … … … … … … … … … … … … … … … … … … ..20 Зад ан ия … … … .… … … … … … … … … … … … … … … … … … … … … .25 Лите р атур а … … … … … … … … .… … … … … … … … … … … … … … … … … … 26 Вве д е н ие Современные программы численного мод елирования систем и процессов становятся все более автоматизированными , облегчая пользователю процесс постановки и реш ения ш ирокого класса слож ны х зад ач. Е щ е больш и й э ффект д аю т возмож ности качественного в и зуального представления результатов . Сред и таких программ, безусловно, одно и з ли д ирую щ и х мест занимает система Matlab+Simulink, на основе которой разработано больш ое количество профессиональны х прилож ени й д ля конкретных областей применения. В

Page 4: MATLAB для дискретных СУ

4

д анном пособи и буд ут рассмотрены возмож ности моделирования д искретных систем управления с помощ ью системы Matlab+Simulink. Т еория д искретных систем является одним и з в аж ны х направлени й разв ития теории и практики автоматического управления. Практически ни одна и з современны х систем управления летательными аппаратами , космическими объектами , суд ами , технологическими процессами , роботами и т.д . не обход ится без использования в контуре управления бортовы х цифровы х в ычислительны х маш ин, что д елает эти системы д искретными и требует особого под ход а к анализу и синтезу под обны х систем. Систему автоматического управления буд ем назы вать д искретной , если в ы ход ная величина какого-либо ее элемента имеет д искретны й характер. П р еобр азован ие н епр е р ы вн ы х систем в д искр етн ы е Испол ьзован ие c2d В Matlab сущ еств ует функция c2d, отвечаю щ ая за преобразование зад анной непреры вной системы в д искретную систему. В качестве моделей могут быть указаны TF, SS, или ZPK-мод ели . Ф ункция d2c осущ ествляет обратное преобразование. Команд а под держ и вает несколько метод ов д искретизаци и , вклю чая экстраполятор нулевого порядка (ZOH), экстраполятор первого порядка (FOH), прибли ж ение Т астина, а такж е прибли ж ение с соответств ием нулей и полю сов . Синтаксис · Sysd = c2d (sysc, Ts); % Ts = период в ы борки · Sysc = d2c (sysd); В таком в и д е команд а в ыполняет ZOH преобразование по умолчанию . Чтобы использовать альтернати вные конверсионные схемы , след ует определить ж елаелмы й метод как д ополнительны й параметр: · Sysd = c2d (sysc, Ts, 'foh'); % экстраполятор первого порядка · Sysc = d2c (sysd, 'tustin'); % прибли ж ение Т астина Э к ст ра по л я т о р нул ево го по ря дк а

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

модели И зображ ена на след ую щ ей блок-схеме.

ZOH-устрой ство генерирует непреры вны й в ходной сигнал u(t), под д ерж и вая каж д ую величину u [k] постоянной в течение одного период а:

Page 5: MATLAB для дискретных СУ

5

Сигнал под ается непреры вной системе , получаю щ и й ся в ы ход

отбирается каж д ые секунд , д ля получения .

Н аоборот, д ля д анной д искретной системы , преобразование d2c построит непреры вную систему , чья ZOH-д искретизация совпад ает с

. Это обратное д ей ствие имеет след ую щ ие ограничения:

· d2c не мож ет работать с LTI-мод елями с полю сами в ;

· отрицательные вещ ественные полю са в области отображ аю тся парой

комплексных полю сов в области . В результате преобразование d2c д искретной системы с отрицательными вещ ественными полю сами построит непреры вную систему с более в ы соким порядком. След ую щ и й пример иллю стрирует свой ство d2c с реальными отрицательными полю сами . Рассмотрим мод ель ZPK. >> Hd = zpk ([], -0.5,1,0.1) Zero/pole/gain: 1 ------- (Z+0.5) Период квантования: 0.1 Применим d2c д ля преобразования этой модели в непреры вную : >> Hc = d2c (hd) В результате получим модель второго порядка. Zero/pole/gain: 4.621 (s+149.3) --------------------- (S^2 + 13.86s + 1035) Е сли снова провести д искретизацию : >> C2d (hc, 0.1) Получится оригинальная д искретная система (с сокращ аемой парой полю с/нуль в z =-0.5): Zero/pole/gain: (Z+0.5) --------- (Z+0.5) ^2 Период квантования: 0.1 Э к ст ра по л я т о р перво го по ря дк а FOH отличается от ZOH механи змом экстраполяци и . Д ля перевод а в ход ной

последовательности в непреры вны й в ход FOH использует линей ную интерполяцию :

Page 6: MATLAB для дискретных СУ

6

Этот метод является более точным, чем ZOH, д ля систем, управляемых гладкими вход ами . Эта опция применима только д ля c2d – преобразования. П рео бра зо ва ние Та ст ина Преобразование Т астина или билиней ное преобразование описы вается формулой :

и используется д ля соотнесения перед аточных функци й в областях z и s. В

преобразовани и c2d д искретизация непреры вной функции получается:

А налогично преобразование d2c полагается на обратное соответствие

Со гл а со ва нные по л юса и нул и М етод согласования полю сов и нулей применяется только к SISO-системам. В этом случае полю са и нули непреры вны х и д искретизированны х систем связаны преобразованием:

Изменение времени к ва нт о ва ния М ож но и зменить время квантования TF, SS, или ZPK-мод ели sys1, используя команд у: Sys2 = d2d (sys1, Ts) Н овы й период квантования Ts не д олж ен быть кратным пред ы д ущ ему. Реакцию на ед иничны й скачок д ля систем с различным период ом квантования мож но получить след ую щ им образом: >> h1 = tf([1 0.4],[1 -0.7],0.1); >> h2 = d2d(h1,0.25); >> step(h1, '--', h2, '--') Дискрет изация сист ем с за па здыва нием В ы мож ете такж е использовать c2d д ля д искретизаци и непреры вны х SISO или MIMO мод елей с запазд ы ванием (Ts – время в ы борки , использованное д ля д искретизаци и ): · Зад ерж ка tau секунд в непреры вной модели отображ ена к зад ерж ке k тактов в д искретизированной модели , гд е k = fix(tau/Ts). · О статочная зад ерж ка tau - k*Ts поглощ ается коэффициентами д искретизированной модели (только д ля метод ов с экстраполяцией нулевого и первого порядков ).

Page 7: MATLAB для дискретных СУ

7

Н апример, чтобы д искретизировать перед аточную функцию

с использованием экстраполяци и нулевого порядка и интенси вности замеров 10 Герц, след ует в ы полнить: >> h = tf (10 [, 1 3 10], 'inputdelay', 0.25); >> hd = c2d (рука, 0.1) Это позволит получить д искретную перед аточную функцию

Transfer function: 0.01187 z^2 + 0.06408 z + 0.009721 z^(-2) * ---------------------------------- z^3 - 1.655 z^2 + 0.7408 z Sampling time: 0.1

Зд есь в ход ная зад ерж ка в в 2.5 превы ш ает период квантования в 0.1 секунд ы . Соответственно д искретизированная модель hd наслед ует в ходную зад ерж ку в д ва период а квантования, что под тверж д ается значением hd.inputdelay. О статочная зад ерж ка размером в полупериод разделена в коэффициентах hd алгоритмом д искретизаци и . Реакци и на скачок непреры вны х и д искретизированны х моделей сравни ваю тся команд ой : >> step (h, '--', hd, '--') График при вед ен ни ж е:

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

Page 8: MATLAB для дискретных СУ

8

Поэтому д ля моделей с задерж ками предпочтительно использовать zoh и foh метод ы д искретизаци и . Испол ьзован ие c2dm Д ля построения д искретной модели зад аннной (в пространстве систояни й или в форме перед аточной функци и ) системы мож но такж е использовать команд у c2dm, записанную одним и з след ую щ и х способов : [numDz,denDz] = c2dm (num,den,Ts,'zoh') [F,G,H,J] = c2dm (A,B,C,D,Ts,'zoh') В ремя Ts д олж но быть меньш е 1/(30*BW), гд е BW – полоса частот замкнутой системы . П ереда т о чна я ф ункция Пусть есть непреры вная перед аточная функция

M = 1 kg b = 10 N.s/m k = 20 N/m F(s) = 1 Приняв BW> 1 рад иан/сек, в ы берем Ts= 1/100 сек. Т еперь созд ад им новы й m-file, в которы й запиш ем след ую щ ие команд ы : M=1; b=10; k=20; num=[1]; den=[M b k]; Ts=1/100; [numDz,denDz]=c2dm(num,den,Ts,'zoh') Запусти в этот m-file в командном окне, получим след ую щ ие матрицы д ля числителя и знаменателя д искретной перед аточной функци и : numDz = 1.0e-04 * 0 0.4837 0.4678 denDz = 1.0000 -1.9029 0.9048 И сходя и з в и д а этих матриц, мож но записать перед аточную функцию :

Зам ечан ие : матрицы числителя и знаменателя буд ут представлены по убы ванию степеней z. Т аким образом была получена перед аточная функция в д искретной форме. П ро ст ра нст во со ст о я ний Пусть есть след ую щ ая мод ель в пространстве состояни й :

Page 9: MATLAB для дискретных СУ

9

В се константы те ж е, что и раньш е. При веденны й ни ж е m-file преобразовы вает непреры вную модель в д искретную : M=1; b=10; k=20; A=[0 1; -k/M -b/M]; B=[ 0; 1/M]; C=[1 0]; D=[0]; Ts=1/100; [F,G,H,J] = c2dm (A,B,C,D,Ts,'zoh') Запуск этого m-file в команд ном окне Matlab при ведет к получению след ую щ и х матриц: F = 0.9990 0.0095 -0.1903 0.9039 G = 0.0000 0.0095 H = 1 0 J = 0 И сходя и з в и д а матриц, мож но получить д искретную форму модели :

Page 10: MATLAB для дискретных СУ

10

Т аким образом, получена д искретная модель в форме пространства состояни й . Устойчивость и пер е х од н ая х ар акте р истика Д ля непреры вны х систем поведение определяется располож ением полю сов на s-плоскости . Н апример, система неустойчи ва, если полю са располож ены в правой полуплоскости . Повед ение д искретных систем мож но анали зировать, исход я и з располож ения полю сов на плоскости z. Х арактеристики плоскости z могут быть соотнесены с характеристиками плоскости s в соответстви и с в ыраж ением:

T = время в ы борки s = место на плоскости s z = место на плоскости z О тметитм, что мнимая ось (граница области устой чи вости на плоскости s) переход ит в окруж ность ед иничноо рад и уса (граница области устой чи вости на плоскости z) |z|=1. Система буд ет устой чи вой , если все полю са располож ены внутри ед иничной окруж ности , и неустойчи вой , если хотя бы од ин полю с располож ен вне ее. Д ля анали за переходной характеристики применяю тся те ж е три уравнения, которые использую тся и д ля непреры вны х систем:

, гд е zeta = скорость затухания Wn = собственная частота (рад иан/сек) Ts = время стабилизаци и Tr = время нарастания Mp = максимальное перерегулирование

Page 11: MATLAB для дискретных СУ

11

Важ н о: собстве н н ая частота (Wn) н а пл оскости z-plane изм е р яется в р ад иан /вы бор ка, н о пр и испол ьзован ии пр иве д е н н ы х вы ш е ур авн е н ий в качестве е д ин ицы изм е р е н ия Wn н уж н о бр ать р ад иан /сек. Пусть есть д искретная перед аточная функция:

Созд ад им новы й m-file и запиш ем в него команд ы : numDz=[1]; denDz=[1 -0.3 0.5]; pzmap(numDz,denDz) axis([-1 1 -1 1]) zgrid Запуск этогоs m-file в командном окне при вед ет к отображ ению графика:

М ож но в и д еть, что полю са располож ены приблизительно в области собственной частоты 9pi/20T (рад ./в ы б.) и скорости затухания 0.25. Принимая, что время в ы борки составляет 1/20 сек (что при вод ит к Wn = 28.2 р ад /сек), и используя при веденные в ы ш е три уравнения, определяем, что рассматри ваемая система д олж на иметь время нарастания 0.06 сек., время установления 0.65 сек. и максимальное перерегулирование 45% (установи вш егося значения). Получим переход ную характеристику и покаж ем, что эти утверж д ения верны . Д ля этого д обав им при веденные ни ж е команд ы в m-file и вернемся в командное окно. После запуска получим переходную характеристику. [x] = dstep (numDz,denDz,51); t = 0:0.05:2.5; stairs (t,x)

Page 12: MATLAB для дискретных СУ

12

Н а графике в и д но, что время нарастания, время установления и перерегулирование таковы , как и предполагалось. Т аким образом, мы д оказали , что мож но использовать располож ение полю сов и при веденные три уравнения д ля анализа переходной характеристики . Discrete Root-Locus Т раектория представляет собой располож ение точек, в которы х могут наход иться корни характеристического уравнения при и зменени и усиления от 0 д о бесконечности . Х арактеристическео уравнение д ля системы с обратрной связью :

, гд е G(z) – компенсатор, примененны й к цифровому контроллеру, а Hzoh(z) – перед аточная функция объекта. М еханизм построения траектории д ля плоскостей z и s аналогичен. В случае непреры вны х систем используется функция sgrid, в случае д искретных систем используется функция zgrid, облад аю щ ая теми ж е характеристиками . Команд а zgrid(zeta, Wn) прорисовы вает лини и постоянной скорости затухания (zeta) и собственной частоты (Wn). Пусть есть д искретная перед аточная функция:

и требования к скорости затухания ( больш е 0.6) и собственной частоте (больш е 0.4 рад ./в ы б.). Созд ад им новы й m-file и запи ш ем в него: numDz=[1 -0.3]; denDz=[1 -1.6 0.7]; rlocus (numDz,denDz) axis ([-1 1 -1 1]) zeta=0.4; Wn=0.3; zgrid (zeta,Wn)

Page 13: MATLAB для дискретных СУ

13

После запуска фай ла получим:

По в и д у графика мож но сделать в ы вод , что система устойчи ва, так как все полю са наход ятся внутри окруж ности ед иничного рад и уса с центром в начале коорд инат. Кроме того, в и д ны д ве лини и , прорисованные точками – постоянной скорости затухания и собственной частоты . Собственная частота превы ш ает 0.3 вне постоянной -Wn лини и , а скорость затухания превы ш ает 0.4 внутри постоянной -zeta лини и . В этом примере траектория располож ена в ж елаемой области . In this example, we do have the root-locus drawn in the desired region. Следовательно, усиление (K), в ы бранное и з локусов в ж елаемой области , д аст реакцию , уд овлетворяю щ ую требованиям разработки . Ltiview Средство просмотра LTI д ля анализа реакци и системы . Синтаксис:

Ltiview Ltiview (sys1, sys2, ..., sysn) Ltiview ('plottype', sys1, sys2, ..., sysn) Ltiview ('plottype', sys,extras) Ltiview (' clear ', viewers) Ltiview('current',sys1,sys2,...,sysn,viewers)

О писание В ы зов Ltiview без параметров инициализирует новое LTI-cредство просмотра д ля LTI анализа реакци и системы . Ltiview (sys1, sys2, ..., sysn) откры вает LTI Средство просмотра, сод ерж ащ ее реакцию на скачок LTI-моделей sys1, sys2, ..., sysn. Д ля каж д ой и з систем мож но определить отличительны й цвет, тип лини и , и маркер: >> Sys1 = rss (3,2,2); >> Sys2 = rss (4,2,2); >> Ltiview (sys1, ' r- * ', sys2, ' м. - ');

Page 14: MATLAB для дискретных СУ

14

Ltiview ('plottype', sys) инициали зирует LTI-cредство просмотра, сод ерж ащ ее тип реакции , обозначенны й как plottype д ля модели системы . Значение plottype мож ет быть лю бым и з:

• 'step' • 'impulse' • 'initial' • 'lsim' • 'pzmap' • 'bode' • 'nyquist' • 'nichols' • 'sigma'

Кроме того, plottype мож ет представлять собой вектор размерностью д о ш ести и з таких типов . Н апример, команд а Ltiview ({'step'; 'nyquist'}, sys) показы вает графики обоих типов реакции д ля д анной системы . Ltiview (plottype, sys, extras) д опускаю т наличие д ополнительны х в ход ны х аргументов , под д ерж и ваемы х различными частотными характеристиками модели LTI, которые буд ут перед аны к команд е ltiview. Extras - од ин или более в ход ны х аргументов , определенны х функцией в plottype. Эти аргументы могут быть обязательными или опциональными в зав исимости от типа LTI реакции . Н апример, если plottype - 'step', тогд а extras мож ет представлять собой ж елаемое время заверш ения, Tfinal, как показано ни ж е. Ltiview ('step', sys, Tfinal) О д нако если plottype - 'initial', аргументы extras д олж ны сод ерж ать начальные услов ия x0, а такж е могут содерж ать аргументы типа Tfinal: ltiview('initial',sys,x0,Tfinal) Ltiview (' clear ', viewers) очи щ аю т графики и д анные от LTI -средств просмотра с д ескрипторами viewers. Ltiview('current',sys1,sys2,...,sysn,viewers) д обавляет новые записи реакции систем sys1, sys2, ..., sysn на LTI-средства просмотра с д ескрипторами viewers. Е сли эти новые системы имею т размерность в ход а/в ы ход а, отличную от текущ ей размерности LTI-средства просмотра, то оно пред варительно очи щ ается, после чего отображ аю тся новые реакци и систем. И , наконец, Ltiview (plottype, sys1, sys2, ... sysN) Ltiview(plottype,sys1,PlotStyle1,sys2,PlotStyle2,...) Ltiview(plottype,sys1,sys2,...sysN,extras) инициали зирую т LTI-средство просмотра, содерж ащ ее реакци и множ ества моделей , используя графические стили , указанные в PlotStyle. Частотн ая х ар актер истика Команд а bode позволяет получить частотную характеристику моделей LTI bode - в ычисляет амплитуд у и фазу частотной характеристики мод ели LTI. В ы зов без указания аргументов при ведет к отображ ению д и аграммы Бод е на экране. А мплитуд а в ыраж ена в д ецибелах (dB), фаза - в град усах. В ычисление д ецибел д ля mag осущ ествляется как 20log10 , гд е является частотной характеристикой системы . Д и аграммы Бод е использую тся д ля

Page 15: MATLAB для дискретных СУ

15

анализа таких свой ств системы , как предел усиления, пороговое значение фазы , коэффициента усиления, ш ирины полосы частот, под авление внеш них возд ей стви й и устой чи вость системы . bode(sys) – строит д и аграмму реакци и произвольной модели системы . . Эта модель мож ет быть непреры вна или д искретна, SISO или MIMO. В MIMO случае, команд а составит масси в д и аграмм Бод е, каж д ы й график в котором буд ет показы вать реакцию одного определенного канала в ход а-в ы ход . Д и апазон частот определяется автоматически , основы ваясь на располож ени и корней и полю сов . bode(sys,w) - явно определяет д и апазон частот или частоты , которые буд ут использоваться д ля построения графика. Д ля фокусировкиь на определенном интервале частот [wmin, wmax] след ует зад ать w = {wmin, wmax}. Чтобы использовать специфические частоты , укаж ите в качестве w вектор ж елательны х частот. И спользуй те logspace д ля генераци и логарифмически разделенных векторов частот. В се частоты д олж ны быть определены в рад ианах/сек. bode(sys1,sys2,...,sysN), bode(sys1,sys2,...,sysN,w) – размещ аю т реакци и нескольких LTI-модели на одном графике. В се системы д олж ны иметь од инаковое число в ход ов и в ы ход ов . Кроме того, зд есь могут быть микш ированы непреры вные и д искретные системы . bode(sys1,'PlotStyle1',...,sysN,'PlotStyleN') - определяет, какой цвет, стиль лини и и маркер д олж ен использоваться д ля графика каж д ой системы . Н апример, >> bode (sys1, ' r - ', sys2, 'gx') использует красные пунктирные лини и д ля первой системы sys1 и зеленые маркеры 'x' д ля системы sys2. Когд а команд а bode в ы зы вается с аргументами в левой части : · [mag,phase,w] = bode(sys) · [mag,phase] = bode(sys,w), возвращ ается амплитуд а и фаза (в град усах) частотной характеристики в частотах w (в рад /сек). В ы ход ы амплитуд а и фаза являю тся трехмерными матрицами . А мплитуд у мож но выразить в д ецибелах: >> Magdb = 20*log10 (mag) П р им е р Построим д и аграмму Бод э д ля непреры вной SISO системы :

, и ее д искретизаци и . >> g = tf ([1 0.1 7.5], [1 0.12 9 0 0]); >> bode(g) Д ля получения реакции в более ш ироком д и апазоне частот, например, от 0.1 д о 100 рад /сек, след ует набрать: >> bode(g,{0.1 , 100});

Page 16: MATLAB для дискретных СУ

16

Затем построим д искретную модель, используя экстраполяцию нулевого

порядка и секунд , и сравним непреры вные и д искретизированные реакци и , набрав : >> gd = c2d(g,0.5) >> bode(g,'r',gd,'b--') В этом случае график буд ет иметь в и д :

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

,

гд е является временем в ы борки , - частота Н ай кв иста. Экви валент " непреры вной частоты " затем используется как переменная -оси .

Поскольку период ична с период ом , команд а bode отобразит

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

Page 17: MATLAB для дискретных СУ

17

Е сли система имеет полю с на ед иничном круге (в д искретном случае) и w, сод ерж ит эту частоту, коэффициент усиления бесконечен, является сингулярной , и bode в ы вед ет пред упреж д аю щ ее сообщ ение: «Singularity in freq. response due to jw-axis or unit circle pole.» Зад ан ие . И зучить другие возмож ности построения д и аграмм: nyquist, evalfr, freqresp, nichols, sigma. Simulink Пакет расш ирения Simulink служ ит д ля имитационного моделирования моделей , состоящ и х и з графических блоков с зад анными свой ствами (параметрами ). Компоненты моделей , в свою очеред ь, являю тся графическими блоками и мод елями , которые содерж атся в ряде библиотек и с помощ ью мы ш и могут переноситься в основное окно и соед иняться друг с другом необход имыми связями . В состав моделей могут вклю чаться источники сигналов различного в и д а, в иртуальные регистрирую щ ие приборы , графические средства анимаци и . Д в ой ной щ елчок мы ш ью на блоке модели в ы вод ит окно со списком его параметров , которые пользователь мож ет менять. Запуск имитаци и обеспечи вает математическое моделирование построенной модели с наглядным в и зуальным представлением результатов . Пакет основан на построении блочных схем путем переноса блоков и з библиотеки компонентов в окно ред актирования созд аваемой пользователем модели . Затем модель запускается на в ыполнение. Рассмотрим некоторые блоки , предназначенные д ля работы с д искретными системами . Бл оки Discrete Discrete State-Space Представляет д искретную систему в пространстве состояни й .

Этот блок реали зует систему, описанную системой уравнени й :

, гд е u – в ход , x – состояние, y - в ы ход . М атрицы д олж ны иметь характеристики : A - матрица n*n, гд е n - число состояни й . B - матрица n*m, гд е м. - число в ход ов . C - матрица r*n, гд е r - число в ы ход ов . D - матрица r*m.

Блок принимает одно в ход ное и генерирует одно в ы ходное значение. Размер вектора-в ход а определяется числом столбцов в матрицах B и D. Размер

Page 18: MATLAB для дискретных СУ

18

вектора-в ы ход а определяется числом строк в матрицах C и D. Simulink преобразовы вает матрицу, сод ерж ащ ую нули в разреж енную матрицу д ля э ффекти вного умнож ения. Discrete Filter Блок д искретного фильтра зад ает д искретную перед аточную функцию от обратного аргумента (1/z):

, гд е

m+1 и n+1 – количество коэффициентов числителя и знаменателя, соответственно; num – вектор или матрица коэффициентов числителя; den – вектор коэффициентов знаменателя. Параметры : 1. Numerator — В ектор или матрица коэффициентов числителя 2. Denominator –В ектор коэффициентов знаменателя 3. Sample time — Ш аг д искретизаци и по времени . Unit Delay Представляет собой блок ед иничной д искретной зад ерж ки и в ы полняет зад ерж ку в ход ного сигнала на од ин ш аг модельного времени . Параметры : 1. Initial condition – Н ачальное значение д ля вы ход ного си гнала. 2. Sample time – Ш аг модельного времени . В ходной си гнал блока мож ет быть как скалярным, так и векторным. При векторном в ход ном сигнале зад ерж ка в ыполняется д ля каж д ого элемента вектора. Блок под д ерж и вает работу с комплексными и д ей ствительными сигналами . Zero-Order Hold Блок экстраполятора нулевого порядка в ы полняет д искретизацию в ход ного сигнала по времени . Параметр - Sample time – В еличина ш ага д искретизаци и по времени . Блок фиксирует значение в ход ного сигнала в начале интервала квантования и под держ и вает на в ы ход е это значение д о окончания интервала квантования. Затем в ы ход ной сигнал и зменяется скачком д о величины в ход ного сигнала на след ую щ ем ш аге квантования. Блок экстраполятора нулевого порядка мож ет использоваться такж е д ля согласования работы д искретны х блоков , имею щ и х разные интервалы квантования.

Page 19: MATLAB для дискретных СУ

19

First-Order Hold Блок экстраполятора первого порядка зад ает линей ное и зменение в ы ходного сигнала на каж д ом такте д искретизаци и , в соответстви и с крутизной в ходного сигнала на пред ы д ущ ем интервале д искретизаци и . Параметр - Sample time – В еличина ш ага д искретизаци и по времени . Discrete-Time Integrator Производ ит интеграци ю или накопление си гнала

Этот блок мож но использовать вместо блока Integrator д ля созд ания полностью д искретной системы . О н позволяет определять начальные услов ия в д и алоговом окне или как в вод в блок в ход ного значения коэффициента усиления (K). Блок используется д ля вы полнения операции интегрирования в д искретны х системах. Параметры : 1. Integration method – М етод численного интегрирования: o Forward Euler - Прямой метод Э й лера. М етод использует аппроксимаци ю T/(z-1) перед аточной функци и 1/s. В ы ход ной сигнал блока рассчиты вается по в ыраж ению : y(k) = y(k–1) + T*u(k–1), y – в ы ход ной сигнал интегратора, u – в ход ной си гнал интегратора, T – ш аг д искретизаци и , k – номер ш ага моделирования. o Backward Euler – О братны й метод Э й лера. М етод использует аппроксимацию T*z/(z–1) перед аточной функци и 1/s. В ы ход ной си гнал блока рассчиты вается по в ыраж ению : y(k) = y(k–1) + T*u(k). o Trapeziodal – М етод трапеци й . М етод использует аппроксимацию T/2*(z+1)/(z–1) перед аточной функци и 1/s. В ы ход ной си гнал блока рассчиты вается по в ыраж ению : x(k) = y(k–1) + T/2 * u(k–1). 2. Sample time — Ш аг д искретизаци и по времени . О стальные параметры д искретного интегратора те ж е, что и у блока аналогового интегратора Integrator (библиотека Continuous). Discrete Transfer Fсn Д искретная перед аточная функция зад ает д искретную перед аточную функцию в в и д е отнош ения полиномов :

,

Page 20: MATLAB для дискретных СУ

20

m+1 и n+1 – количество коэффициентов числителя и знаменателя, соответственно; num – вектор или матрица коэффициентов числителя; den – вектор коэффициентов знаменателя. Параметры :

1. Numerator — В ектор или матрица коэффициентов числителя 2. Denominator – В ектор коэффициентов знаменателя 3. Sample time — Ш аг д искретизаци и по времени .

Поряд ок числителя не д олж ен превы ш ать поряд ок знаменателя. В ходной сигнал блока д олж ен быть скалярным. В том случае, если коэффициенты числителя зад аны вектором, то вы ход ной сигнал блока буд ет скалярным (такж е как и в ход ной сигнал). Discrete Zero-Pole Блок Discrete Zero-Pole определяет д искретную перед аточную функцию с зад анными полю сами и нулями :

, гд е Z – вектор или матрица нулей перед аточной функци и ; P – вектор полю сов перед аточной функци и ; K – коэффициент перед аточной функции , или вектор коэффициентов , если нули перед аточной функци и зад аны матрицей . При этом размерность вектора K определяется числом строк матрицы нулей . Параметры :

1. Zeros – В ектор или матрица нулей . 2. Poles – В ектор полю сов . 3. Gain – Скалярны й или векторны й коэффициент перед аточной функци и . 4. Sample time — Ш аг д искретизаци и по времени .

Количество нулей не д олж но превы ш ать число полю сов перед аточной функци и . В том случае, если нули перед аточной функци и зад аны матрицей , то блок Discrete Zero-Pole моделирует векторную перед аточную функцию . Н ули или полю са могут быть зад аны комплексными числами . В этом случае нули или полю са д олж ны быть зад аны комплексно-сопряж енными парами полю сов или нулей , соответственно. Н ачальные услов ия при использовани и блока Discrete Zero-Pole полагаю тся нулевыми . Метод цифр ового пе р еобор уд ован ия н епр е р ы вн ого р егул ятор а в ср е д е MATLAB/SIMULINK Рассмотрим зад ачу стабилизаци и суд на на курсе. Л иней ная математическая модель первого порядка, описы ваю щ ая рыскание суд на, имеет в и д :

Page 21: MATLAB для дискретных СУ

21

δ+ω−=ω

ω=ϕ

sy

sy

y

TK

T1

&

&

,

гд е ϕ – угол рыскания (угол отклонения от зад анного курса), yω – угловая скорость вращ ения вокруг вертикальной оси , δ – угол поворота вертикального руля относительно полож ения равновесия, sT – постоянная времени , K – постоянны й коэффициент, имею щ и й размерность сек -1. Перед аточная функция от угла поворота руля к углу рыскания запиш ется в в и д е

)1()(

+=

sTsKsFs

.

В лабораторной работе буд ем исслед овать модель суд на-контей неровоза при 2,18=sT сек , 0694,0=K сек -1.

При вод (рулевая маш ина) прибли ж енно моделируется звеном первого порядка

1)(

+=

sTKsGR

R,

с параметрами 2=RT сек , 1=RK .

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

1)(

+=

sTKsG

oc

oc,

гд е д ля д анной системы 6=ocT сек , 1=ocK .

Структурная схема системы стабилизаци и :

Н а судне установлен пропорционально-интегрально-д ифференциальны й (ПИ Д ) непреры вны й регулятор, которы й описы вается перед аточной функцией

+

++=1

11)(sT

sTsT

KsCV

D

Ic

с параметрами 8,0=cK , 1000=IT сек , 2,18== sD TT сек , 1=VT сек .

+ –

ε

C(s) F(s)

G(s

ϕ u объект регулятор

и змерительная система

H(sδ

при вод

Page 22: MATLAB для дискретных СУ

22

Т ребуется построить модель непреры вной системы в среде MATLAB/SIMULINK, построить переходны й процесс в непреры вной системе при и зменени и курса на 10 град усов , в ыполнить переоборуд ование непреры вного регулятора с

помощ ью преобразования Т астина 112

+−

⋅=zz

Ts при в ы боре интервала

квантования 1=T сек, построить мод ель цифровой системы в среде MATLAB/SIMULINK, сравнить переходные процессы в непреры вной и цифровой системах при и зменени и курса на 10 град усов , а такж е повторить процед уру д ля интервала квантования 5=T сек, объяснить э ффекты , наблю д аю щ иеся при увеличени и интервала квантования, и д ля последнего варианта рассчитать перерегулирование и время переходного процесса. П о дго т о вк а исхо дных да нных Запустите систему MATLAB. В вед ите д анные д ля перед аточной функции )(sF : >> Ts = 18.2; >> K = 0.0694; >> F = tf(K, [Ts 1 0]) >> [nF,dF] = tfdata(F, 'v') Последняя строчка означает, что числитель и знаменатель скалярной перед аточной функции )(sF буд ут записаны в полиномы nF и dF. Зад ан ие . А налогично опи ш ите все остальные перед аточные функци и (эти операции мож но в ыполнить иначе, написав скрипт на языке системы MATLAB в в и д е фай ла). Мо дел ь непрерывно й сист емы Запустите пакет SIMULINK, набрав в командном окне системы MATLAB >> simulnik Созд ай те нов ую мод ель (File – New – New model). В ы берите группу э лементов Continuous в окне Simulink Library Browser и перетащ ите в окно новой модели э лемент Transfer Fcn (перед аточная функция). Сделай те д вой ной щ елчок мы ш ью по этому блоку и в вед ите nF в поле Numerator и dF в поле Denominator. Это означает, что числитель и знаменатель перед аточной функци и )(sF д олж ны быть зад аны в командном окне системы MATLAB как полиномы с именами nF и dF. Щ елкните на этом блоке правой кнопкой мы ш и и в ы берите пункт Format – Flip name и з контекстного меню . При этом название блока д олж но переместиться в верх. Щ елкните на блоке левой кнопкой мы ш и и и змените название блока на Ship. А налогично д обавьте блоки , соответств ую щ ие рулевому устрой ству, и змерительной системе и регулятору.

Page 23: MATLAB для дискретных СУ

23

Чтобы и зменить направление прохож д ения сигнала через блок обратной связи , д в аж д ы в ы берите пункт Format – Rotate block и з контекстного меню . Д ля того чтобы смоделировать ступенчаты й в ход ной сигнал, перетащ ите блок Sources – Step и з окна Simulink Library Browser в окно модели . Сделай те д вой ной щ елчок мыш ью по этому блоку и в вед ите 0 в поле Step time и 10*pi/180 в поле Final value (и зменение курса на 10 град усов ). Д ля созд ания суммирую щ его э лемента перетащ ите блок Math operation – Sum и з окна Simulink Library Browser в окно модели . Сделай те д вой ной щ елчок мыш ью по этому блоку и в вед ите |+- в поле List of signs (второй в ход – отрицательная обратная связь). Д ля того чтобы на в ы ход е получить значения угла рыскания и угла перекладки руля в град усах, д обавьте в модель д ва блока-усилителя (Math operations - Gain). Д ля каж д ого и з них установите (щ елкнув д в аж д ы по блоку) коэффициент усиления 180/pi. Д ля просмотра графиков и зменения угла рыскания и угла перекладки руля д обавьте в модель д в а блока-осциллографа (Sinks – Scope). Соед ините нуж ные в ход ы и в ы ход ы блоков . Д ля этого над о наж ать левую кнопку мы ш и на в ы ход е элемента-источника сигнала и вести мыш ь к нуж ному в ход у э лемента-приемника, гд е отпустить кнопку мы ш и . Д ля того чтобы сделать разв илку, например, при созд ани и лини и обратной связи , над о наж ать на правую кнопку мы ш и в нуж ном месте лини и и , не отпуская ее, протянуть линию к вход у нуж ного блока. В результате д олж на получиться схема:

Step

nF(s)

dF(s)

Ship

nH(s)

dH(s)

Rudder

Phi

nC(s)

dC(s)

PID-controller

nG(s)

dG(s)

Gyrocompass

-K-

Gain1

-K-

Gain

Delta

Мо дел иро ва ние Д ля установки времени мод елирования (150 секунд ) в окне модели в ы берите пункт меню Simulation – Parameters и установ ите д ля параметра Stop time значение 150. Д ля того чтобы начать мод елирование, щ елкните по кнопке или в ы берите пункт меню Simulation – Start. Д ля того чтобы посмотреть графики , щ елкните д в аж д ы по блоку Scope. Е сли график не помещ ается в окно, д ля автоматического масш табирования щ елкните по кнопке в окне графика, а затем – по кнопке (чтобы запомнить настрой ки ). Н астрой те таким образом окна обоих э лементов .

Page 24: MATLAB для дискретных СУ

24

П ерео б о рудо ва ние непрерывно го регул я т о ра Перей д ите в командное окно системы MATLAB. Д ля построение д искретного регулятора, переоборуд ованного по метод у Т астина, в вед ите команд ы >> T = 1; >> Cd = c2d ( C, T, ‘tustin’ ); >> [nCd,dCd] = tfdata ( Cd, ‘v’ ) ; Первая и з них определяет интервал квантования (1 сек), вторая – строит д искретны й регулятор, полученны й и з регулятора C с помощ ью преобразования Т астина, а третья в ы д еляет его числитель и знаменатель. Мо дел иро ва ние циф ро во й сист емы упра вл ения Перей д ите в окно модели системы . Н а этом этапе над о построить мод ель цифровой системы и сравнить ее с исход ной моделью . Д ля этого сделаем так, чтобы каж д ы й элемент Scope в ы вод ил д в а сигнала (от непреры вной и цифровой систем). О бвед ите рамкой (при наж атой левой кнопке мы ш и ) д в а элемента Scope вместе с усилителями и отд елите и х от системы , перетащ и в при наж атой клави ш е Shift. В ы д елите все э лементы замкнутого контура и скопируй те и х (перетащ и в при наж атой клав и ш е Ctrl) на свободное место ни ж е первой схемы . В скопированной схеме уд алите блок, соответств ую щ и й непреры вному регулятору, и установите на его место блок типа Discrete Transfer Fcn и з группы Discrete. Сделай те д вой ной щ елчок мы ш ью по этому блоку и в вед ите nCd поле Numerator, dCd поле Denominator и T поле Sample time. Д ля того чтобы объед инить д ва си гнала в од ин векторны й сигнал, использую т блок-мультиплексор. Перетащ ите д в а таких блока (блоки Mux и з группы Signal routing или , в други х версиях, и з группы Connections) в свою мод ель. Н а в ход одного мультиплексора под ай те си гналы в ы ход а непреры вной и цифровой систем (углы рыскания), а на в ход ы второго – сигналы управления (углы поворота руля). В ы ход ы мультиплексоров соед ините со в ход ами усилителей перед блоками -осциллографами . Т еперь в окне осциллографов буд ут в ы вед ены д в а графика. Зад ан ие . В ы полните мод елирование системы , модель которой при вед ена ни ж е.

Page 25: MATLAB для дискретных СУ

25

В ы полните переоборуд ование д ля интервала квантования 5 сек и заново провед ите мод елирование. О бъясните полученные результаты . По графикам определите время переходного процесса и перерегулирование д ля непреры вной и цифровой систем.

М од ель д ля сравнения непреры вной и цифровой систем.

Зад ан ия

1. О сущ еств ить преобразование непреры вной модели системы в д искретную с использованием команд ы c2d с различными параметрами .

2. Преобразовать зад анную д искретную модель в непреры вную , используя команд у d2c.

3. Применить команд у c2dm. У казать различия в результатах работы команд c2dm и c2d.

4. Построить переходную характеристику системы . 5. И сслед овать систему на устой чи вость. 6. Построить траекторию д в и ж ения системы . 7. Применить команд у ltiview с различными параметрами , объяснить

различия в результатах работы . 8. Построить д и аграмму Бод э , используя различные комбинаци и

параметров . И спользовать другие возмож ности д ля построения частотны х характеристик системы , реализованные в MATLAB.

9. Произвести моделирование поведения д искретной системы управления с помощ ью Simulink.

10. В ы полнить зад ания, при веденные в конце разделов .

Step

nF(s) dF(s)

Ship1

nF(s) dF(s)

Ship

nH(s) dH(s)

Rudder1

nH(s) dH(s)

Rudder

Phi

nC(s) dC(s)

PID-contr.

nG(s) dG(s)

Gyrocompass1

nG(s) dG(s)

Gyrocompass

-K- Gain1

-K- Gain

nCd(z dCd(z

Discrete Contr.

Delta

Page 26: MATLAB для дискретных СУ

26

Лите р атур а

1. Franklin G.F. Digital Control of Dynamic Systems / G.F. Franklin, J.D. Powell, M.L. Workman, Addison-Wesley, 1990.

2. И зерман Р. Ц ифровые системы управления / Р. И зерман. - М . : М ир, 1984. 3. Бесекерски й В .А . Ц ифровые автоматические системы / В .А . Бесекерский . -

М . : Н аука, 1976. 4. Simulink Documentation.-

(http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/) 5. Matlab Documentation.-

(http://www.mathworks.com/access/helpdesk/help/toolbox/control/) 6. Н икульчев Е .В . Практикум по теории управления в среде MATLAB: учеб.

пособие / Е .В . Н икульчев . - М . : М ГА ПИ , 2002. 7. Черных И .В . SIMULINK: сред а созд ания инж енерны х прилож ени й / И .В .

Черных; под общ . ред . В .Г. Потемкина .— М . : Д И А Л О Г-М И Ф И , 2004. 8. Потемкин В .Г. В вед ение в MATLAB / В .Г. Потемкин. - М . : Д и алог-М И Ф И ,

2000.

Page 27: MATLAB для дискретных СУ

27

Составитель Кры ж ановская Ю лиана А лександровна Ред актор Т и хомирова О .А .