Can matlab give me difference equation from transfer fucntion
Afficher commentaires plus anciens
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
Réponse acceptée
Plus de réponses (3)
Gert Kruger
le 29 Juil 2015
Modifié(e) : Gert Kruger
le 29 Juil 2015
2 votes
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)
Wayne King
le 12 Nov 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.
1 commentaire
moonman
le 12 Nov 2011
moonman
le 12 Nov 2011
0 votes
Catégories
En savoir plus sur Stability Analysis dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!