加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab中,z传递函数怎样变成s传递函数?(整理自网络)

(2011-01-04 17:26:54)
标签:

杂谈

求出了Z函数的系数【num,den】,怎样变成S函数的【num,den】?

d2c将离散系统转换为连续系统

实在不行,我觉得也可以利用Z变换与S变换的转换公式,不过那样相对来说麻烦。不知三楼所说的“d2c将离散系统转换为连续系统 ”,可用吗。表示怀疑!

Re:matlab中,z传递函数怎样变成s传递函数?

一般传递函数都是指有理分式的形式,由于定义z=exp(s*T),z域的有理分式与s域的有理分式没有一个对应的关系,所以用公式是没错,但经常得不到想要的有理分式的形式。

数学上解决的办法一种就是将指数函数在每个采样点处展开,比如线性展开就相当于欧拉法或零阶保持zoh。但既然我们已经知道了传递函数(或冲击相应),也 就是说已经知道了一个采样点前后一点或几点的值,那么更好的办法就是在时域上拟合,比如直接两点连线就是所谓的Tustin变换或双线性变换。

我觉得一般说z传递函数变成s传递函数隐含的意思就是指将一个离散系统通过适当的拟合方法得到一个连续系统,所以我说可以用d2c。具体用法,只要已知z 传函和采样时间,用tf构建一个sys类,用d2c并选择合适的方法作第二个参数(默认是zoh)得到连续系统的sys类,如果需要再用tfdata来获 取s传函的分子分母。


Re:matlab中,z传递函数怎样变成s传递函数?

今天上午就看到wittenfeld 研友的帖子了,在此先谢谢你的及时回复。

Z变换的引入过程就是将连续函数f(x)离散化,采样信号为:f*(x)。Z变换只能表征连续函数再采样时刻的特征,而不能反映在采样时刻之间的特性。

你所说的d2c和tf构建一个sys类我不清楚,能否具体一点吗?反正书上有将连续函数转换为离散的,反过来到还没有见到过。何况,离散函数所对应的连续函数还不是唯一的,毕竟有还原的问题嘛。

我觉得应该先将Z变换进行Z反变换,得到f*(x)之后再根据采样时间等因素通过你所说的d2c或者拟合的方法来还原连续函数f(x),然后再求出f(x)的拉氏变换。而非将其Z变换直接转化成L氏变换。
比如:能否将单位阶越函数1的Z变换z/(z-1)变成1/s。或者反过来转换。

实在不行。我觉得试一下你说得代换方法:
“一般传递函数都是指有理分式的形式,由于定义z=exp(s*T),z域的有理分式与s域的有理分式没有一个对应的关系,所以用公式是没错,但经常得不到想要的有理分式的形式。

希望得到你的回复!!!!!!!!

>> help d2c

D2C  Conversion of discrete LTI models to continuous time.

    SYSC = D2C(SYSD,METHOD) produces a continuous-time model SYSC
    that is equivalent to the discrete-time LTI model SYSD.  
    The string METHOD selects the conversion method among the
    following:
       'zoh'       Assumes zero-order hold on the inputs.
       'tustin'    Bilinear (Tustin) approximation.
       'prewarp'   Tustin approximation with frequency prewarping.  
                   The critical frequency Wc is specified last as in
                   D2C(SysD,'prewarp',Wc)
       'matched'   Matched pole-zero method (for SISO systems only).
    The default is 'zoh' when METHOD is omitted.


Re:matlab中,z传递函数怎样变成s传递函数?

[parse]comebaker wrote:[/parse]

我觉得应该先将Z变换进行Z反变换,得到f*(x)之后再根据采样时间等因素通过你所说的d2c或者拟合的方法来还原连续函数f(x),然后再求出f(x)的拉氏变换。而非将其Z变换直接转化成L氏变换。
一 般从s传函到z传函的数学推导是由s传函拉氏反变换为微分方程,离散化得到差分方程,对方程z变换得到z传函;所以从z到s的推导过程基本和你说的一样。 但既然我们只关心两种传函间的转换,如果能通过上述的推导找到一个s和z之间的关系式,那么我们就可以省去中间过程,从而简化问题的解决。

从离散转换为连续在控制工程里有时会用得到,因为虽然控制器是离散的但被控对象是连续的,所以d2c是控制工具箱函数,以下例子中tf,tfdata都是控制工具箱的函数
dsys = tf( [1 0], [1 -1], 1 ); %系统传递函数z/(z-1),采样时间1s
csys = d2c( dsys, 'tustin' ); %采用双线性变换
[num, den] = tfdata( csys, 'v' );%获得s传函的分子和分母

因为用了双线性变换,所以结果不是1/s,1/s只是用欧拉法的结果。所以离散函数所对应的连续函数确实不是唯一的,就看你根据实际需要选择什么方法了。


Re:matlab中,z传递函数怎样变成s传递函数?

下午查阅了一些Matlab控制工程工具箱,看到模型的转换。其实S变换与Z变换是那么简单,但是要真正理解这些,总觉得不太容易。S到底是个什么东西,看到控制理论里还提到S平面的说法。我认为不能把它简单地当作一个符号看待吧。

本人认为现在Matlab只能做一些简单的S与Z之间的变换,倘若表达式稍微复杂些,恐怕就无能为力了吧。你所说的双线性变换,就是咱们控制理论中学到的二阶保持器吧。

wittenfeld ,请教一下。能否画出开环传函
G(s)=K(s+a)/(s^2*(s+b))
的关于参数K的根轨迹。其中他的单位反馈的闭环传函
K(s+a)/(s^3+b*s^2+Ks+Ka);

以下是S变换到Z变换。H(S)=(s-1)/(s^2+4s+5)
>>  H=tf([-1 1],[1 4 5])

Transfer function:
   -s + 1
-------------
s^2 + 4 s + 5

>> Hd=c2d(H,0.1,'zoh')%零阶保持

Transfer function:
-0.07736 z + 0.08557
----------------------
z^2 - 1.629 z + 0.6703

Sampling time: 0.1
%%%%%%%%%%%%%%%%%%%%%%%%%%
看到你经常凌晨才过来。伙计,可要注意身体啊。
呵呵!!!!!!!!!!!!!!!!!!!
我的Email:comebaker@163.com

Re:matlab中,z传递函数怎样变成s传递函数?

谢谢你那么关心,不过我很少熬夜的,不要被显示的时间所迷惑了http://bbs.matwav.com/images/smilies/default/smile.gif
S到底是个什么东西,看到控制理论里还提到S平面的说法。我认为不能把它简单地当作一个符号看待吧。
描 述动态系统最基本的是用微分方程(组),但微分方程求解起来不是那么容易的,所以研究数学的就想了一个办法,通过积分变换来把时间域上微分方程变换为在复 平面上的线性方程,这样似乎容易许多。问题是反变换比较麻烦,但后来人们发现许多问题,比如系统判稳等,根本用不着反变换,所以逐步发展起了一套建立在这 个复平面上的理论。这个复平面在控制工程里一般称为s平面,因为习惯上人们把积分变换后的自变量用s表示,可见s本身确实只是一个符号而已,就是换成别的 符号也可以(比如在机械工程里就经常用p)。
你所说的双线性变换,就是咱们控制理论中学到的二阶保持器吧。
“双 线性变换”这个名称在信号工程里用的比较多,在控制工程里经常说“Tustin变换”,它和二阶保持器不是一个概念,它本身也不能独立成一个模块。许多讲 时间离散控制或计算机控制的书都有详细介绍。它是将具有连续传函的控制器离散化的一个方法,这样我们设计数字控制器就可以先按连续系统去设计,再将得到的 控制器传函离散化就行了。方法本身是很简单,但如果这样设计出来的能满足要求那么就没有必要将它复杂化,何况复杂意味着运算量的增加,如果对控制器效果的 提升不大那就是浪费了。
wittenfeld ,请教一下。能否画出开环传函G(s)=K(s+a)/(s^2*(s+b))的关于参数K的根轨迹。
画根轨迹可以用rlocus函数,注意rlocus的参数是开环传函(不包括K)。


Re:matlab中,z传递函数怎样变成s传递函数?

你所说的积分变换是不是所谓的S变换,动态系统中的函数f(x)变换成复平面的F(s)。
比如说吧  一个动态 系统为:
  f'(x)=a(x)+b(x)
通过积分变换为S域的函数:L(f' (x))=f(x)*exp(-st)+s*L(f(x))=L(a(x))-L(b(x));
然后再根据线性方城的关系来进一步研究这个系统。

还有,注意S平面坐标的话,会发现两个坐标分别为:sigma 和jw 。我觉得这与普通的复平面的含义还不一致。在分析控制系统的频域特性时, 我们是令
s=jw ,即得到频率特性。所以很是不理解。这几个变量又是怎样的关系。

这样细细抠的话,真正会把以前一些想当然的问题,给彻底解决的。呵呵
在此,先再次谢谢 wittenfeld !!!!!

Re:matlab中,z传递函数怎样变成s传递函数?

你所说的积分变换是不是所谓的S变换,动态系统中的函数f(x)变换成复平面的F(s)。
控制工程的积分变换主要是指拉氏变换。
还有,注意S平面坐标的话,会发现两个坐标分别为:sigma 和jw 。我觉得这与普通的复平面的含义还不一致。
从数学上将s平面和一般复平面没什么区别,都是实轴和虚轴构成,完全可以用别的符号比如x和jy来替换σ和jω。但如果从σ和jω的物理意义角度看,s平面就有它的特殊性了。
在分析控制系统的频域特性时, 我们是令
s=jw ,即得到频率特性。所以很是不理解。这几个变量又是怎样的关系。
因为系统的传递函数是冲击响应的拉氏变换∫g(t)*exp(-st)dt,系统的频率特性是冲击响应的fourier变换∫g(t)*exp(-jωt)dt,比较两者的公式就看得出s=jω

Re:matlab中,z传递函数怎样变成s传递函数?

[parse]wittenfeld wrote:[/parse]
从数学上将s平面和一般复平面没什么区别,都是实轴和虚轴构成,完全可以用别的符号比如x和jy来替换σ和jω。但如果从σ和jω的物理意义角度看,s平面就有它的特殊性了。
那按照您的意思,如何区分S平面中的jω虚轴坐标和下面您所说的频率特性中令S=jw。这其中的S还是同一个概念吗。还是说仅仅是个叫法。我倒觉得不是。因为L氏算子s 为一个复变量s=σ+jw,难道在脉冲响应的fourier 变换中,我们仅仅考虑虚轴jw。
[parse]wittenfeld wrote:[/parse]
因为系统的传递函数是冲击响应的拉氏变换∫g(t)*exp(-st)dt,系统的频率特性是冲击响应的fourier变换∫g(t)*exp(-jωt)dt,比较两者的公式就看得出s=jω
我 们知道,在控制理论中引入传函的概念后指出,系统传函是系统单位脉冲响应g(t)的相函数。或称为网络函数。任一网络函数都是复变量s的实系数有限函数 (是两个实系数多项式之比)。在信号处理中经常提到您说的fourier 变换,但是传函和频率特性二者之间的关联,我觉得还是不怎么清楚!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
谢谢wittenfeld的答复,希望能留下你的Email!以便更好地向你请教啊!
我的:comebaker@163.com  QQ:46392654
看来你的控制理论理解得特别透彻,实在是令在下佩服!


Re:matlab中,z传递函数怎样变成s传递函数?

我真够马虎的,请问一下wittenfeld ,你的那几个希腊字母和积分号怎么打上去的。
咱也学一招,以后交流的时候。肯定少不了数学表达式的!
呵呵,希望别有灌水之嫌就好!


Re:matlab中,z传递函数怎样变成s传递函数?

系 统频率特性和传递函数的关系s=jω中的s就是s平面的那个s,也就是说我们是只考虑虚轴。这种关系我觉得完全是数学上的原因,因为频率特性就是系统对某 一频率信号的响应和原信号相比在幅值上增益多少和相位上相差多少,如果信号周频为ω,信号 x(t) = A exp(jωt)的系统响应(其中*指卷积):
y(t) = A exp(jωt) * g(t) = A ∫ exp(jω(t-τ)) g(τ) dτ = A exp(jωt) ∫ exp(-jωτ) g(τ) dτ  = x(t) ∫ exp(-jωτ) g(τ) dτ  
很明显系统对这一频率的影响都体现在最后的那个积分上了,那个积分式可以看成是g(t)的fourier变换,但如果我们不把它这么看,而是做一个变量代 换,s=jω那么它就是在s=jω点的拉氏变换。和上次我说的一样,这纯粹是数学上的关系。(虽然这个关系从数学上证明其实是有问题的)

%%
符号我是在别的地方输入以后粘贴过来的。
我的信箱我已经作为留言发给你了。


Re:matlab中,z传递函数怎样变成s传递函数?

wittenfeld ,你的控制理论学的不错,在下佩服!尽管本科学的数学,但现在搞控制理论的话,还是不怎么跟实际的东西联系起来。谢谢你的答复!
你的那些字母在哪粘过来的啊,我刚才试了一下Word,粘不过来啊!该不会在mathmatic里面粘的把。我可没有装那个软件啊。希望不吝赐教!呵呵!!!
希望今后多多交流!



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有