How to convert an equation from z-plane to w-plane in MATLAB

22 次查看(过去 30 天)
If we have an equation like G(z)=(2z^3-4.424z^2+3.3634z-0.8721)/(z^4-3.037z^3+3.425z^2-1.6935237z+0.3084332) how do we convert this to w-plane by using bilinear transformation z=(1+w)/(1-w)? Is there a single command or are a set of commands available?

采纳的回答

MA
MA 2014-11-13
syms z w
G=(2*(z.^3)-4.424*(z.^2)+3.3634*z-0.8721)/((z.^4)-3.037*(z.^3)+3.425*(z.^2)-1.6935237*z+0.3084332);
GN=subs(G,z,(1+w)/(1-w))

更多回答(2 个)

AaHi
AaHi 2019-12-7
If you are working with an tf-values use following code:
T = 0.2;
NumG = [1]
DenG = [1 1 0]
Gs = tf(NumG, DenG)
Gz = c2d(Gs,T,'zoh')
%The stuff above to create the z-function out of a s-function
aug=[T,1]
Gwss = bilin(ss(Gz),-1,'S_Tust',aug);
%Use billingual transformation
Gw = tf(Gwss)

Torsten
Torsten 2014-11-13
help subs
Best wishes
Torsten.

产品

Community Treasure Hunt

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

Start Hunting!

Translated by