Can matlab give me difference equation from transfer fucntion
164 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
moonman
el 12 de Nov. de 2011
Comentada: Ben Le
el 4 de Feb. de 2017
Hi My transfer function is H(z)= (1-z(-1)) / (1-3z(-1)+2z(-2))
How can i calculate its difference equation. I have calculated by hand but i want to know the methods of Matlab as well
0 comentarios
Respuesta aceptada
Wayne King
el 12 de Nov. de 2011
I think I'm trying to say that you see it right away if you have the Z-transform. Do you have the System Identification Toolbox? You can do:
M = idpoly([1 -3 2],[1 -1],'NoiseVariance',0)
2 comentarios
Ben Le
el 4 de Feb. de 2017
Hi, If I don't have System Identification Toolbox, how can I do it in Matlab? Thanks.
Más respuestas (3)
Gert Kruger
el 29 de Jul. de 2015
Editada: Gert Kruger
el 29 de Jul. de 2015
syms z;
H = (1-z^-1) / (1-3*z^-1+2*z^-2);
[N, D] = numden(H);
Nc = eval(coeffs(N)); %Get coeffs and evaluatle symbolic variable, i.e. make real matrix
Dc = eval(coeffs(D));
Nc = Nc./(Dc(1)); %Turn into proper polynomial, first coeffs of a is 1
Dc = Dc./(Dc(1));
M = idpoly(Dc, Nc, 'NoiseVariance',0)
0 comentarios
Wayne King
el 12 de Nov. de 2011
You have the difference equation:
H(z)= (1-z(-1)) / (1-3z(-1)+2z(-2))
y(n)-3*y(n-1)+2*y(n-2) = x(n)-x(n-1);
zplane([1 -1],[1 -3 2]);
This is not stable, you have a pole outside the unit circle.
Ver también
Categorías
Más información sobre Stability Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!