Contents
State-space representation in direct form II und normal form
b = [1 2 1]; a = [1 -1.4 .74];
ssr = struct('A',[0 1; -a(3) -a(2)],'B',[0;1],...
'C',[b(3)-a(3)*b(1) b(2)-a(2)*b(1)],'D',b(1),'S',[0;0],'form','DF2');
p = roots(a); z=p(1);
T = [-1 0; -real(z) imag(z)]/imag(z); T_1 = inv(T);
ssr(2).A = T_1*ssr(1).A*T; ssr(2).B = T_1*ssr(1).B;
ssr(2).C = ssr(1).C*T; ssr(2).D = ssr(1).D;
ssr(2).S = [0; 0]; ssr(2).form = 'NF2';
Filtering
N = 50;
x = [1 zeros(1,N)];
[y,S] = ssr_filter(ssr(2),x);
Graphics - Impulse response
FIG1 = figure('Name','lab2_3 : Impulse response (N)',...
'NumberTitle','off');
MAX = max(abs(y));
stem(0:N,y/MAX,'filled');
axis([0 N -.5 1]); grid;
xlabel('n \rightarrow'), ylabel(['h[n] / MAX \rightarrow'])
text(.82*N,.86,['MAX = ',num2str(MAX)])
title('Impulse response')