[原]s-域与z-域的各种离散方法区别分析
matlab中连续域 to 离散域的命令
sysd1= d2c(sysd,Ts,\’tustin\’);%双线性
sysd2 = c2d(sysc,Ts,\’foh\’);%零阶保持器
1、零阶保持器Zero-Order Hold,阶跃响应不变
调节器的Step输入响应与连续域相同,其他响应不确定。
2、一阶保持[First-Order Hold]
调节器的斜坡输入响应与连续域相同,其他响应不确定。
3、冲击响应不变
4、零极点匹配,Matched Poles and Zeros
只能用在SISO系统中,主要是用到了Z=exp(sT)
5、双线性变换法[Tustin Approximation], 用梯形面积代替积分
6、带频率预畸变的双线性变换法
Tustin with Frequency Prewarping
我们常用的方法,大部分都是间接设计法。在连续域设计出调节器,然后离散到Zdomain,进行计算机的数字控制(CPU)、DSC、DSP)。
// div By stone
一般使用的增量式PID属于后向差分法,即将S domain中的左半平面映射到Z domain的以(0.5,0)为圆心,0.5为半径的圆中。
频率无混叠,但是失真较大,尤其是在Ts(采样频率)较低时。
ZOH使用的也比较少,其特点如下:
1
——–
s + 6283
转折频率为1kHz,ZOH和Tustin的频率为14kHz,其bode plot如下图
Matlab M code shown as blow:
%Stone Test different C2D metheods
clear all;
clf;
P=bodeoptions;
P.FreqUnits = \’Hz\’; % or \’rad/second\’, \’rpm\’, etc.
num=[1];
den=[1,2*pi/(1e-3)]; % Simple 1st order continuous system f=1kHz
% RangeFreq = {1, 100};
sc1=tf(num,den); % s-domain continue
sd1=c2d(sc1,0.07142e-3,\’tustin\’); % 7kHz Smple Frequency 0.07142e-3
sd2=c2d(sc1,0.07142e-3,\’zoh\’); % 7kHz Smple Frequency 0.07142e-3
bode(sc1,\’r-\’,sd1,\’b–\’,sd2,\’g:\’,P);
grid on;
legend(\’Cont\’,\’Tustin\’,\’ZOH\’);
title(\’Difference Bode of S-Domain to Z-Domain\’);
set(findall(gcf,\’Type\’,\’line\’),\’LineWidth\’, 2)