
Добавил:
DungeonMaster
t.me
мой будущий Dungeon
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лаба2 / LR2
.m clear all;
U1 = 9;
U2 = -3;
U3 = -8;
U4 = 5;
T1 = 3;
T2 = 6;
Fd = 5;
T = 1 / Fd;
b = [0.0097 -0.0321 0.0454 -0.0321 0.0097];
a = [1 -3.5729 4.8079 -2.8863 0.6520];
%1
t1 = 0:T:T1;
t2 = T1+T:T:T2;
t = 0:T:T2;
x1 = U1 + (U2-U1)/T1*t1;
x2 = U3 + (U4-U3)/(T2-T1)*(t2-T1);
x = [x1 x2];
figure;
hold on;
plot(t,x);
stem(t,x);
xlabel('t, ms');
ylabel('u(t), V');
grid on;
%2
t = 0:T:(T2+T*5*length(x));
x0 = [x, zeros(1, 5*length(x))];
yd = filter(b,a,x0);
figure;
stem(t,yd);
title('Direct filter');
xlabel('t, ms');
ylabel('u(t), V');
grid on;
%3
ymaxd = max(abs(yd));
xmax = max(abs(x0));
maxd = max(xmax, ymaxd);
%4
yc = filter(1,a,x0);
figure;
stem(t,yc);
title('Canonical filter');
xlabel('t, ms');
ylabel('u(t), V');
ymaxc = max(abs(yc));
grid on;
%5
states = [];
s = [];
for i = 1:length(x0)
[yt(i), s] = filter(b,a,x0(i),s);
states = [states s];
end
figure;
plot(states');
ymaxt = max(max(abs(states')));
grid on;
title('Filter internal signals');
xlabel('Samples');
ylabel('u,V');
%6
fvtool(b,a,'magnitude');
fvtool(b,a,'phase');
fvtool(b,a,'grpdelay');
fvtool(b,a,'impulse');
fvtool(b,a,'polezero');
%7
[r, p, k] = residuez(b,a);
rab = abs(r);
ran = angle(r);
pab = abs(p);
pan = angle(p);
k;
U1 = 9;
U2 = -3;
U3 = -8;
U4 = 5;
T1 = 3;
T2 = 6;
Fd = 5;
T = 1 / Fd;
b = [0.0097 -0.0321 0.0454 -0.0321 0.0097];
a = [1 -3.5729 4.8079 -2.8863 0.6520];
%1
t1 = 0:T:T1;
t2 = T1+T:T:T2;
t = 0:T:T2;
x1 = U1 + (U2-U1)/T1*t1;
x2 = U3 + (U4-U3)/(T2-T1)*(t2-T1);
x = [x1 x2];
figure;
hold on;
plot(t,x);
stem(t,x);
xlabel('t, ms');
ylabel('u(t), V');
grid on;
%2
t = 0:T:(T2+T*5*length(x));
x0 = [x, zeros(1, 5*length(x))];
yd = filter(b,a,x0);
figure;
stem(t,yd);
title('Direct filter');
xlabel('t, ms');
ylabel('u(t), V');
grid on;
%3
ymaxd = max(abs(yd));
xmax = max(abs(x0));
maxd = max(xmax, ymaxd);
%4
yc = filter(1,a,x0);
figure;
stem(t,yc);
title('Canonical filter');
xlabel('t, ms');
ylabel('u(t), V');
ymaxc = max(abs(yc));
grid on;
%5
states = [];
s = [];
for i = 1:length(x0)
[yt(i), s] = filter(b,a,x0(i),s);
states = [states s];
end
figure;
plot(states');
ymaxt = max(max(abs(states')));
grid on;
title('Filter internal signals');
xlabel('Samples');
ylabel('u,V');
%6
fvtool(b,a,'magnitude');
fvtool(b,a,'phase');
fvtool(b,a,'grpdelay');
fvtool(b,a,'impulse');
fvtool(b,a,'polezero');
%7
[r, p, k] = residuez(b,a);
rab = abs(r);
ran = angle(r);
pab = abs(p);
pan = angle(p);
k;
Соседние файлы в папке Лаба2