Matlab c2d离散用法

 

c2d()函数的作用是将s域的表达式转化成z域的表达式,s=0对应z=1。

c2d()函数转化的方法有多种:

①zoh, 零阶保持器法,又称阶跃响应不变法;

②foh ,一阶保持器法

③tustin ,双线性变换法

④ imp, 脉冲响应不变法。

根据不同的场合,使用不同的方法,生成的参数也不一样。在具体的应用场合,需针对不同的具体应用问题采用适当的方法的问题!比如滤波器设计多采用脉冲响应不变法;

脉冲响应不变法的优点:1,模拟频率到数字频率的转换是线性的,2,数字滤波器单位脉冲响应的数字表示近似原形的模拟滤波器的单位脉冲响应,因此时域特性逼近好

缺点:会产生频率混叠,只适合带限滤波器

双线性变换法的优点:克服多值映射关系,可以消除频率的混叠

缺点:时域到频域的变换是非线性的,在高频出有较大的失真

 

       控制器设计多采用双线性变换法('tustin')、零极点配置法('matched')、后向差分法(这个c2d函数不包含)等;如果是控制系统仿真或控制器的直接数字化设计,被控对象离散化则多采用加零阶保持器方法('zoh',又称阶跃响应不变法)。

若根据s函数直接求z变换,用c2d(k,0.02,'imp')就可以了!'imp'称为“脉冲响应不变法”,实为直接求Z变换!当然还有其他办法!事实上,所有教科书所予“Z变换表”就是直接求Z变换(这种解释有点像“同意反复”),而c2d函数并非如此!比如c2d(k,0.02),尽管没有指明采用何种方法离散化,但事实上默认的是'zoh'!
 

 

你可能感兴趣的:(Matlab c2d离散用法)