Dolgov_Laba_1_kulikov
.docxМинистерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования «Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых»
(ВлГУ)
Институт Информационных технологий и радиоэлектроники (ИИТР)
Кафедра: «Биомедицинские и электронные средства и технологии» (БЭСТ)
Лабораторная работа № 1
на тему: «Исследование разомкнутой линейной системы»
по дисциплине: «Узлы и элементы БТС»
Выполнили:
ст. гр. БТС-115
Куликов К.В.
Принял:
доц. Долгов Г. Ф.
Владимир 2018.
Цели работы:
-
освоение методов анализа одномерной линейной непрерывной системы с помощью среды Matlab
Задачи работы:
-
ввести модель системы в виде передаточной функции
-
построить эквивалентные модели в пространстве состояний и в форме «нули-полюса»
-
определить коэффициент усиления в установившемся режиме и полосу пропускания системы
-
научиться строить импульсную и переходную характеристики, карту расположения нулей и полюсов, частотную характеристику
-
научиться использовать окно LTIViewer для построения различных характеристик
-
научиться строить процессы на выходе линейной системы при произвольном входном сигнале
-
Описание системы
Исследуется система, описываемая математической моделью в виде передаточной функции
-
Результаты исследования
-
адрес файла tf.m:
C:\Program Files\MATLAB\R2010b\toolbox\control\control\@tf\tf.m % tf constructor
-
нули передаточной функции
-0.6935
-0.1065
полюса передаточной функции
-1.1001
-0.5454 + 0.7273i
-0.5454 - 0.7273i
-
коэффициент усиления звена в установившемся режиме
k = 0.1056
-
полоса пропускания системы
b = 17.3820 рад/сек
-
модель системы в пространстве состояний
a =
x1 x2 x3
x1 -2.191 -1.013 -0.4546
x2 2 0 0
x3 0 1 0
b =
u1
x1 1
x2 0
x3 0
c =
x1 x2 x3
y1 1.3 0.52 0.048
d =
u1
y1 0
-
статический коэффициент усиления после изменения матрицы
k1 = 1.1056
-
связь между k и k1 объясняется тем, что при нахождении статического коэффициента передачи через модель в пространстве состояний мы используем формулу ( ), в которой есть слагаемое D. Оно в рассматриваемом нами случае системы с одним входом и одним выходом просто скалярная величина, значение которой мы изменили с нуля на единицу.
-
модель в форме «нули-полюса»
1.2 (s+0.8) (s+0.1)
----------------------------
(s+1.1) (s^2 + 1.273s + 0.8264)
-
коэффициенты демпфирования и частоты среза
Полюс передаточной функции
Собственная частота, рад/сек
Постоянная времени, сек
Коэффициент демпфирования
-1.1001
-0.5454 + 0.7273i
-0.5454 - 0.7273i
0.7000
0.7000
1.0000
5
2
2
0.9091
0.9091
1.1000
-
Импульсные характеристики систем f и f_ss получились одинаковые, потому что для модели f_ss ( ) импульсная характеристика построена неправильно, так как в момент времени t=0 она должна быть бесконечной по величине, и система Matlab в таком случае строит импульсную характеристику для строго правильной части, принимая , т. е. для модели f.
-
Переходные процессы исходной и модифицированной систем
-
амплитудная частотная характеристика
-
для того, чтобы найти статический коэффициент усиления по АЧХ, надо найти частоту на которой усиление максимальное.
-
Для того, чтобы найти полосу пропускания по АЧХ, надо посмотреть при каком значении частоты коэффициент усиления равен 0,707.
-
реакция на сигнал, состоящий из прямоугольных импульсов
Вывод: в этой работе были освоены основные функции Matlab и создана первая программа.
>> which('tf')
C:\Program Files\MATLAB\R2010b\toolbox\control\control\@tf\tf.m % tf constructor
>> n=[1.3 1.04 0.096]
n =
1.3000 1.0400 0.0960
>> d=[1 2.1909 2.0264 0.9091]
d =
1.0000 2.1909 2.0264 0.9091
>> f = tf (n,d)
Transfer function:
1.3 s^2 + 1.04 s + 0.096
----------------------------------
s^3 + 2.191 s^2 + 2.026 s + 0.9091
>> [n1,d1] = tfdata ( f, 'v' )
n1 =
0 1.3000 1.0400 0.0960
d1 =
1.0000 2.1909 2.0264 0.9091
>> z = zero ( f )
p = pole ( f )
z =
-0.6935
-0.1065
p =
-1.1001
-0.5454 + 0.7273i
-0.5454 - 0.7273i
>> k = dcgain ( f )
k =
0.1056
>> b = bandwidth ( f )
b =
17.3820
>> f_ss = ss ( f )
a =
x1 x2 x3
x1 -2.191 -1.013 -0.4546
x2 2 0 0
x3 0 1 0
b =
u1
x1 1
x2 0
x3 0
c =
x1 x2 x3
y1 1.3 0.52 0.048
d =
u1
y1 0
Continuous-time model.
>> f_ss.d = 1
a =
x1 x2 x3
x1 -2.191 -1.013 -0.4546
x2 2 0 0
x3 0 1 0
b =
u1
x1 1
x2 0
x3 0
c =
x1 x2 x3
y1 1.3 0.52 0.048
d =
u1
y1 1
Continuous-time model.
>> k1 = dcgain ( f_ss )
k1 =
1.1056
>> f_zp = zpk ( f )
Zero/pole/gain:
1.3 (s+0.6935) (s+0.1065)
-------------------------------
(s+1.1) (s^2 + 1.091s + 0.8264)
>> who
Your variables are:
b d1 f_ss k n p
d f f_zp k1 n1 z
>> whos
Name Size Bytes Class Attributes
b 1x1 8 double
d 1x4 32 double
d1 1x4 32 double
f 1x1 1081 tf
f_ss 1x1 914 ss
f_zp 1x1 1089 zpk
k 1x1 8 double
k1 1x1 8 double
n 1x3 24 double
n1 1x4 32 double
p 3x1 48 double complex
z 2x1 16 double
>> pzmap ( f )
>> [wc,ksi,p] = damp ( f )
wc =
0.9091
0.9091
1.1001
ksi =
0.6000
0.6000
1.0000
p =
-0.5454 + 0.7273i
-0.5454 - 0.7273i
-1.1001
>> ltiview
>> print -dmeta
>> w = logspace(-1, 2, 100);
>> r = freqresp ( f, w );
r = r(:);
>> semilogx ( w, abs(r) )
>> print -dmeta
>> [u,t] = gensig('square',4);
>> lsim (f, u, t)
>> print -dmeta