Matlab中的c2d函数用法
c2d()函数的作用是将s域的表达式转化成z域的表达式,s=0对应z=1。
c2d()函数转化的方法有多种:
①zoh, 零阶保持器法,又称阶跃响应不变法;
②foh ,一阶保持器法
③tustin ,双线性变换法
④ imp, 脉冲响应不变法。
根据不同的场合,使用不同的方法,生成的参数也不一样。在具体的应用场合,需针对不同的具体应用问题采用适当的方法的问题!比如滤波器设计多采用脉冲响应不变法;控制器设计多采用双线性变换法('tustin')、零极点配置法('matched')、后向差分法(这个c2d函数不包含)等;如果是控制系统仿真或控制器的直接数字化设计,被控对象离散化则多采用加零阶保持器方法('zoh',又称阶跃响应不变法)。
若根据s函数直接求z变换,用c2d(k,0.02,'imp')就可以了!'imp'称为“脉冲响应不变法”,实为直接求Z变换!当然还有其他办法!事实上,所有教科书所予“Z变换表”就是直接求Z变换(这种解释有点像“同意反复”),而c2d函数并非如此!比如c2d(k,0.02),尽管没有指明采用何种方法离散化,但事实上默认的是'zoh'!
posted on 2018-05-28 13:25 tuxinbang 阅读(9633) 评论(1) 编辑 收藏 举报