Can matlab give me difference equation from transfer fucntion
75 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
moonman
am 12 Nov. 2011
Kommentiert: Ben Le
am 4 Feb. 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 Kommentare
Akzeptierte Antwort
Wayne King
am 12 Nov. 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 Kommentare
Ben Le
am 4 Feb. 2017
Hi, If I don't have System Identification Toolbox, how can I do it in Matlab? Thanks.
Weitere Antworten (3)
Gert Kruger
am 29 Jul. 2015
Bearbeitet: Gert Kruger
am 29 Jul. 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 Kommentare
Wayne King
am 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.
Siehe auch
Kategorien
Mehr zu Stability Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!