Can matlab give me difference equation from transfer fucntion

86 次查看(过去 30 天)
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

采纳的回答

Wayne King
Wayne King 2011-11-12
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 个评论
moonman
moonman 2011-11-12
Ok for this equation it is ok
lets suppose we have some complex transfer function
then is there any way matlab gives difference equation
Ben Le
Ben Le 2017-2-4
Hi, If I don't have System Identification Toolbox, how can I do it in Matlab? Thanks.

请先登录,再进行评论。

更多回答(3 个)

Gert Kruger
Gert Kruger 2015-7-29
编辑:Gert Kruger 2015-7-29
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
Wayne King 2011-11-12
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 个评论
moonman
moonman 2011-11-12
And Thanks for telling me abt new command zplane
I used to use pzmap which does not show overlapped poles and zeros but zplane is showing the digits if multiple poles and zeros are there at same place
Great help

请先登录,再进行评论。


moonman
moonman 2011-11-12
Thanks king yes i have calculated all this and i know it is unstable systm but i need to know that can matlab give difference equation the way it gives poles and zeros by pole zero command and plots by pzmap

类别

Help CenterFile Exchange 中查找有关 Stability Analysis 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by