Читайте также: |
|
subplot(3,1,1); g1=stem(n,u,'ro','fill'); grid on;
set(g1,'LineWidth',2); axis([-5,22,0,1.2]);
title('1) input signal u[n]'); set(gca, 'XTickLabel',[]);
subplot(3,1,2); g2=stem(n,yi,'ro','fill'); grid on;
set(g2,'LineWidth',2); axis([-5,22,-2.5,3.5]);
title('2) impulse responce h[k]'); set(gca, 'XTickLabel',[]);
subplot(3,1,3); g3=stem(n,yf,'ro','fill'); grid on;
set(g3,'LineWidth',2); axis([-5,22,-1,6]);
title('3) system responce y[n]'); xlabel('n');
Пример 5_05. Необходимо создать программные представления в среде MATLAB, как ss, tf и zpk - объекты соответственно для DLTI систем со следующими моделями:
а) б)
;
в) нули: 0.1, –0.2+0.1j, –0.2–0.1j;
полюса: –0.8, –0.1+0.2j, –0.1–0.2j, –0.3+0.4j, –0.3–0.4j;
коэффициенты: 1.
Далее следует преобразовать ss - объект к tf-форме, tf-объект к ss-форме и zpk-объект к ss-форме и найти собственные значения последнего ss объекта. Кроме того, нужно сгенерировать случайный устойчивый SISO DLTI-объект второго порядка в ss-форме и найти его передаточную функцию.
Для решения примера воспользуемся программой, представленной в листинге 5.5.
Листинг 5.5
% Пример 5_05: Создание и преобразование
% DLTI объектов
Clear;
% 1. Создание DLTI-объектов
% в ss-форме
a=[-2 3; 1 -2]; b=[1 -2]'; c=[1 1]; d=0;
dlti_1=ss(a,b,c,d,1);
% в tf-форме
% передаточная функция от q=z^(-1)
num_2=[-2 3 2 0]; den_2=[1 5 -2 -3];
dlti_2=tf(num_2,den_2,1); dlti_2.variable='q';
Dlti_2
% передаточная функция от z
dlti_2a=tf(num_2,den_2,1)
% в zpk-форме
z1=0.1; z2=-0.2+0.1j; z3=-0.2-0.1j;
zz=[z1; z2; z3];
p1=-0.8; p2=-0.1+0.2j; p3=-0.1-0.2j;
p4=-0.3+0.4j; p5=-0.3-0.4j;
pp=[p1; p2; p3; p4; p5];
dlti_3=zpk(zz,pp,1,1);
% 2. Преобразование DLTI-объектов
% ss=>tf
d1=tf(dlti_1)
% tf=>ss
d2=ss(dlti_2a);
% zpk=>ss
d3=ss(dlti_3); zz3=eig(d3)
% 3. Создание случайного устойчивого DLTI-объекта
dlti_4s=drss(2); tf(dlti_4s)
Предусмотренный в программе вывод результирующей информации в командное окно имеет следующий вид:
>>
Transfer function:
-2 + 3 q + 2 q^2
-----------------------
1 + 5 q - 2 q^2 - 3 q^3
Sampling time: 1
Transfer function:
-2 z^3 + 3 z^2 + 2 z
---------------------
z^3 + 5 z^2 - 2 z - 3
Sampling time: 1
Transfer function:
-z - 7
-------------
z^2 + 4 z + 1
Sampling time: 1
zz3 =
-0.1000 + 0.2000i
-0.1000 - 0.2000i
-0.3000 + 0.4000i
-0.3000 - 0.4000i
-0.8000
Transfer function:
-0.8323 z^2 + 1.195 z - 0.4288
------------------------------
z^2 - 1.427 z + 0.5093
Sampling time: unspecified
>>
Пример 5_06. Необходимо создать в среде MATLAB ss - объект в соответствии со следующими уравнениями:
и найти его передаточную функцию. Далее необходимо выполнить линейное преобразование вектора состояния с помощью неособой матрицы
и создать соответствующий преобразованный ss-объект. Для него так же нужно найти передаточную функцию и сравнить ее с предшествующим вариантом. Для сформированных объектов построить импульсные характеристики с помощью функций impulse (CST) и impz (DSPT).
Решение примера обеспечивается программным кодом на языке MATLAB, представленном в листинге 5.6.
Листинг 5.6
% Пример 5_06:
% Линейное преобразование вектора состояния
% для DLTI-объектов
% 1. Создание DLTI-объектов в ss- и tf-формах
a=[-0.51 -0.083 -0.33;...
0.11 -0.28 -0.050;...
-0.32 0.086 -0.74];
b=[0; 1.62; -0.69]; c=[0.86 1.3 -1.6]; d=0;
dz1=ss(a,b,c,d,1); dz1_t=tf(dz1)
% 2. Линейное преобразование вектора состояния
T=[-1 2 0; 3 2 -2; 5 -1 2];
a1=inv(T)*a*T; b1=inv(T)*b;
c1=c*T; d1=0;
dz2=ss(a1,b1,c1,d1,1);
Дата добавления: 2015-09-11; просмотров: 75 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Grid on; | | | figure(2); clf reset; |