离散化传递函数c语言,连续传递函数离散化的方法与原理

《连续传递函数离散化的方法与原理》由会员分享,可在线阅读,更多相关《连续传递函数离散化的方法与原理(33页珍藏版)》请在人人文库网上搜索。

1、数字控制器的模拟化设计目录第一章 模拟化设计基础1第一节 步骤1第二节 在MATLAB中离散化3第三节 延时e-Ts环节的处理5第四节 控制函数分类6第二章 离散化算法10摘要10比较11第一节 冲击响应不变法(imp,无保持器直接z变换法)11第二节 阶跃响应不变法(zoh,零阶保持器z变换法)11第三节 斜坡响应不变法(foh,一阶保持器z变换法)11第四节 后向差分近似法12第五节 前向差分近似法14第六节 双线性近似法(tustin)15第七节 预畸双线性法(prevarp)17第八节 零极点匹配法(matched)18第三章 时域化算法19第一节 直接算法1双中间变量向后递推19第二。

2、节 直接算法2双中间变量向前递推20第三节 直接算法3单中间变量向后递推21第四节 直接算法4单中间变量向前递推(简约快速算法)21第五节 串联算法22第六节 并联算法23第四章 数字PID控制算法24第一节 微分方程和差分方程25第二节 不完全微分25第三节 参数选择26第四节 c51框架27第五章 保持器33第一节 零阶保持器33第二节 一阶保持器30附录 两种一阶离散化方法的结果的比较31第一章 模拟化设计基础数字控制系统的设计有两条道路,一是模拟化设计,一是直接数字设计。如果已经有成熟的模拟控制器,可以节省很多时间和部分试验费用,只要将模拟控制器离散化即可投入应用。如果模拟控制器还不存。

3、在,可以利用已有的模拟系统的设计经验,先设计出模拟控制器,再进行离散化。将模拟控制器离散化,如果用手工进行,计算量比较大。借助数学软件MATLAB控制工具箱,可以轻松地完成所需要的全部计算步骤。如果需要的话,还可以使用MATLAB的SIMULINK工具箱,进行模拟仿真。第一节 步骤步骤1 模拟控制器的处理在数字控制系统中,总是有传输特性为零阶保持器的数模转换器(DAC),因此,如果模拟控制器尚未设计,则应以下图的方式设计模拟控制器,即在对象前面加上一个零阶保持器,形成一个新对象,然后针对这个新对象求模拟控制器D(s)。事实上,模拟控制器一般是已经设计好的,无法或不方便更改了,离散化后的系统只好。

4、作为近似设计了。然而,按照上述思路,可否将已有的控制器除以一个零阶保持器再离散化呢?还没有这方面的实际经验。以下假设选定的G(s),D(s)如下图,而且不对G(s)作添加保持器的预处理。步骤2 离散化模拟控制器离散化模拟控制器之前,先要确定离散化算法和采样时间。离散化算法有好几种,第二章中有详细的论述,现假定采用双线性变换法。确定采样时间,需要考虑被控对象的特性,计算机的性能,以及干扰信号的影响等,初步可按采样时间T tf(1 -1,1 3 5,inputdelay,0.35)将返回以下形式的传递函数s 1exp(-0.35*s) * -s2 + 3 s + 5使用这个方法不能建立形如的传递函。

5、数,因为带延时的传递函数不能与不带延时的传递函数相加,但可以使用c2d进行离散化,但要求延时时间t必须是采样时间Dt的整数倍,若不是整数倍,则在转换时不理会延时环节,例如:用tf函数建立2个传递函数,主体部分相同,但一个无输入延时,一个有输入延时0.35s, a=tf(1 -1,1 4 5) s - 1-s2 + 4 s + 5 a1=tf(1 -1,1 4 5,iodelay,0.35) s - 1exp(-0.35*s) * -s2 + 4 s + 5若采样时间为0.05,因为延时时间是采样时间的整数倍,转换结果的主体部分完全一样: c2d(a,0.05,imp) z2 - 1.039 z。

6、 + 9.146e-018- sampling time: 0.05z2 - 1.807 z + 0.8187 c2d(a1,0.05,imp) z2 - 1.039 z + 9.146e-018z(-7) * - sampling time: 0.05z2 - 1.807 z + 0.8187若采样时间为0.1,因为延时时间不是采样时间的整数倍,结果的主体部分不一样: c2d(a,0.1,imp) z2 - 1.06 z + 4.349e-018- sampling time: 0.1z2 - 1.629 z + 0.6703 c2d(a1,0.1,imp) 0.768 z - 0.851z。

7、(-3) * - sampling time: 0.1z2 - 1.629 z + 0.67032. 将e-Ts有理化设,因e-Ts的一阶有理表达式是 ,故 。为了对ts进行离散化,首先使用tf函数建立lti模型的ts。若,则。3. 在离散化时使用恒等式设,因,采样时间为t,若T=mt,则,因为离散化时总是认为,故取。根据以上假设,用MATLAB的c2d函数对g(s)进行离散化,则,进而。则。第四节 控制函数分类以下函数在control toolbox中,这里所述仅限于siso模型1 创建多项式形式的传递函数sys = tf(num,den) 创建一个s降幂多项式连续传递函数sys,分子多项式。

8、系数和分母多项式系数分别为num和den。sys = tf(num,den,Dt) 创建一个z降幂离散传递函数sys,Dt是采样时间,行矢量num和den同上。sys = tf(sys) 把一个任意的lti模型sys转换成多项式传递函数,例如把零极点模型转换成多项式传递函数。 sys = tf 创建一个空的tf对象。sys = tf(m) 指定静态增益m。2 创建零极点形式的传递函数sys = zpk(z,p,k) 创建一个零极点模型的连续传递函数sys,零极点矢量分别是z和p,增益是k。sys = zpk(z,p,k,Dt) 创建一个零极点模型的离散传递函数sys,零极点矢量分别是z和p,增。

9、益是k,采样时间是Dt。在零极点对象中,如果没有零点,则z=。sys = zpk 创建一个空的零极点对象。sys = zpk(d) 指定静态增益d。3 创建任意形式的传递函数s = tf(s) 指定多项式传递函数变量为s变量z = tf(z,Dt) 指定多项式传递函数变量为z变量,Dt为采样时间形如的传递函数,既不能直接用tf函数建立,也不能直接用zpk函数建立。定义了s=tf(s)后,写出赋值式f=10/(s*(0.25*s+1)*(0.05*s+1),回车后即可得到多项式型传递函数,再令f1=zpk(f),可得。s = zpk(s) 指定零极点传递函数变量为s变量z = zpk(z, Dt。

10、) 指定零极点传递函数变量为z变量,Dt为采样时间定义了s = zpk(s),写出赋值式f=10/(s*(0.25*s+1)*(0.05*s+1),回车后即可得到零极点型传递函数。4 建立z-1降幂离散传递函数sys = filt(num,den,Dt) 返回z-1降幂离散传递函数,num和den分别是分子和分母多项式系数,Dt是采样时间。sys = filt(m) 返回增益离散传递函数。5 连续函数离散化sysd = c2d(sysc,t,method)把连续传递函数sysc转换成采样时间为Dt的离散传递函数,字符串method为离散化方法: zoh(零阶保持,即阶跃响应不变),foh(一阶。

11、保持),imp(冲击响应不变,v6以上版本),tustin (双线性近似),prewarp(带预畸变的双线性近似),matched(零极点匹配)。注: 缺省的方法是zoh foh的算法是而不是,这一点可以通过验证证实,验证方法是,令,但此结果中,的分子和分母将含有公因式,所以应进一步用zpk函数把表示成零极点形式,然后用“手工”的方法写出不含公因式的来,可以看到,最后的结果与用foh方法得到的结果完全一致。 当使用prewarp方法时,临界频率wc(in rad/sec)作为第四个输入来指定,如sysd = c2d(sysc,t,prewarp,wc) 。另有1种形式是,opt = c2dOp。

12、tions(Method,tustin,PrewarpFrequency,.5), c2d(ds,.05,opt)。6 取多项式模型传递函数的分子和分母的系数矢量num,den = tfdata(sys,v) 对于siso模型sys返回作为分子和分母系数的单行矩阵num和den。num,den,t = tfdata(sys,v) 同上,同时返回采样时间Dt。7 取零极点模型传递函数的零点和极点的单行矩阵z,p,k = zpkdata(sys,v) 返回lti模型sys的零极点矢量z和p,增益k。8 取e-T s近似式num,den = pade(t,n) 返回e-Ts的n阶pade近似式,行矢。

13、量num和den是s的降幂多项式系数。e-Ts的一阶有理表达式是 。e-Ts的高阶有理表达式是 9 画阶跃响应图step(sys) 画出由tf,zpk,or ss等函数创建的lti模型sys的阶跃响应图。step(sys,tfinal) 画出lti模型sys从t=0到t=tfinal的阶跃响应图。对于未指定采样时间的离散模型,tfinal被解释为采样的数目。step(sys,t) 使用用户提供的矢量t画阶跃响应图。对于离散时间模型,t的形式应该是ti: Dt:tf,在这里,Dt是采样时间。对于连续时间模型,t的形式应该是ti:dt:tf,在这里,dt变成对于连续系统的近似离散化的采样时间。Ti。

14、是开始时间,tf是终止时间。因为阶跃输入总是假定在t=0开始,所以通常不考虑ti和tf,即只使用一个终止时间t。step(sys1,sys2,.,t) 在一个单个的图上画出多个lti模型sys1,sys2,. 的阶跃响应图,时间矢量t是可选择,还可以以step(sys1,r,sys2,y,sys3,gx)的方式对每一个系统指定颜色,线型和标记。y,t = step(sys) 返回用于仿真的时间t的输出响应y,但并没有图形画在屏幕上,如果sys有ny输出和nu输入和lt = length(t),y就是一个尺寸为lt ny nu的阵列,而y(:,:,j)给出第j个输入通道的阶跃响应。10 画脉冲响。

15、应图impulse 脉冲响应函数,用法与step相同11 画频率响应图-伯德图(连续或离散)bode(sys) 画伯德图bode(sys,wmin,wmax) 在频率wmin,wmax(in radians/second)之间画伯德图bode(sys,w) 按指定的频率矢量w(in radians/second)画伯德图bode(sys1,sys2,.) 画多个lti模型sys1,sys2,.的伯德图bode(sys1,sys2,.,w) 按指定的频率矢量w(in radians/second)画多个lti模型sys1,sys2,.的伯德图以下函数在符号工具箱symbolick中,需注意,在使。

16、用这些函数前,要对所使用的变量进行符号说明,例如:syms a t %是用空格分隔而不是用逗号分隔a=sin(t)L=laplace(a)12 福里哀变换fourier反福里哀变换ifourier13 拉普拉斯变换laplace反拉普拉斯变换ilaplace14 z变换ztrans反z变换iztrans注:以上3 种变换必须是符号表达式,例如:syms tlaplace(sin(t)15 改善公式的可读性pretty16 多项式转换为符号表达式poly2sym17 化简符号表达式simplify18 取符号表达式的分子和分母numden以下函数在符号工具箱polyfun中,在公式变换中可能会用。

17、到19 部分分式展开an ad ak = residue(n,d)n和d分别为原分式的分子和分母矢量,an和ad分别为分项式的分子和分母矢量,ak为整式部分。这是一个数学公式,在数字控制器程序设计中,利用部分分式展开的方法,把高于2阶的分式变换为不高于2阶的分式之和,从而把高阶传递函数算法变为低阶传递函数并联的算法。在使用这个方法时,不论在分子矢量中还是在分母矢量中,如果有共轭复数出现,则应将其整合为2阶质因式。20 多项式乘法c = conv(a,b) ab=c21 多项式除法q,r = deconv(b,a) ba=q.r,即b = conv(a,q) + r第二章 离散化算法连续传递函数。

18、离散化的核心环节,就是将控制器的s传递函数转换为z传递函数。离散化后,系统应该仍有好的稳定性,好的控制精度,而不是要求转换前后,两个数学公式等值。因此,离散化方法有多种。本章对这些方法的转换原理和由来进行了演绎。离散化后得到的离散传递函数的稳定性,没有进行讨论,仅列了一张表进行比较。离散的结果,虽然可能会控制精度降低,应该认为,这不是主要问题。真正影响控制精度的因素,主要还是采样周期的长短。一般情况下,由连续到离散的设计最好多实验几种方法(通过仿真,得出满意的结果)。因为匹配零、极点映射法、双线性变换法都能得出比较满意的结果,初步设计时,可以试用这些方法。而其实,后向差分近似法也是合理的选择。。

19、但MATLAB的c2d函数中没有这一方法,在该方法的介绍之后,给出了一个可由MATLAB引用的m文件函数。摘要3种保持器法 保持器法即将s函数串联上一个保持器后取z变换,也可以从“对输入信号的响应不变”的角度导出。无保持器法(阶跃响应不变)imp零阶保持器法(阶跃响应不变)zoh一阶保持器法(斜坡输入不变)foh(一阶保持器)MATLAB中无此方法4种近似法 近似法将s与z的无理关系近似地化为有理关系,主要应用于传递函数从连续到离散的变换。后向差分近似法MATLAB的C2D函数中没有这个方法前向差分近似法MATLAB的C2D函数中没有这个方法双线性近似法tustin预畸双线性近似法 ,w1为进。

20、行预畸变的频率prevarp增益匹配: 或1种匹配法 匹配法完全从控制学的角度看问题,也是应用于传递函数从连续到离散的变换。零极点匹配法 若,matched则,或者,确定增益kz: a 令, b 若D(s)分子有s因子,例如,可以令 ,也可以令 比较离散化方法变换公式映射关系特点冲击响应不变法Z变换法 imp脉冲响应采样值相同;容易产生频率混迭现象,为采样角频率。阶跃响应不变法零阶保持器法 zoh阶跃响应采样值相同;稳定增益不变。斜坡响应不变法一阶保持器法 foh向前差分法D(s)稳定,D(z)可能不稳定;等效精度差。向后差分法变换计算简单;如果D(s)稳定,D(z)稳定;离散滤波器的过程特性。

21、及频率特性有一定的失真,需要较小的采样周期T。双线性变换法 tustinD(s)稳定,D(z)也稳定;低频特失真,但无频率混迭现象。稳定增益不变;具有串联特性。预修正双线性变换法prevarp有前一种变换的特点;还能保证在关键频率1处,幅频特性不变。零极点匹配法 matchedZ域与s域零极点位置一一对应;当没有零点时,补充z=1的零点可避免频率混迭现象。第一节 冲击响应不变法(imp,无保持器直接z变换法)公式推导1 无保持器,直接转换:公式推导2 按冲击响应不变的原则:(冲击响应不变,中的1表示)第二节 阶跃响应不变法(zoh,零阶保持器z变换法),式中T为采样周期,所以 公式推导1 按串。

22、联零阶保持器的原则:因为零阶保持器的s传递函数为,故公式推导2 按阶跃响应不变的原则:设阶跃信号,则,按照下一节对斜坡响应不变法的推导,立即可以写出第三节 斜坡响应不变法(foh,一阶保持器z变换法),按斜坡响应不变原则导出,也可按一阶保持器原则配合e-Ts的台劳近似式得出,foh方法使用此式 ,从一阶保持器的思路推出 以上2个公式中T为采样周期,两式差异请参看“附录 两种一阶离散化方法的结果的比较”。公式推导1 按斜坡响应不变的原则:设连续滤波器为D(s),输入为斜坡函数e(t)=t,则,采样输出为us(kT)。按z变换的定义,us(kT)的变换就是的z变换,故。又设离散滤波器的传递函数为D。

23、(z),它的输出为uz(KT),按斜坡响应不变的要求,应有uz(kT)=us(kT),故,但离散滤波器的输出为U(z)=E(z)D(z),而斜坡函数e(t)=t的z变换为,求Uz(z) 与E(z)的比值,得斜坡响应不变法离散公式 。公式推导2 按串联一阶保持器的原则:一阶保持器的传递函数为,则一阶保持器法离散公式为,故。根据台劳近似式,用取代中的Ts+1,则得到。显然,反过来也可以将近似为。由此可以认为,“斜坡响应不变公式”和“串联一阶保持器公式”互为近似式。经验证,MATLAB的C2D函数中foh方法使用的就是“斜坡响应不变法公式”。使用台劳近似式的条件是,T很小,时间单位也很小。第四节 后。

24、向差分代换法(backward difference)公式推导1 近似微分:设连续传递函数,则,取反变换得,将中的微分用后向差分代替,得,对上式取z变换,得 ,整理后得离散传递函数 ,比较和,知 。公式推导2 近似积分:设连续传递函数,则,反变换得 ,进行近似积分,而且把输出看作由两部分组成,一部分是前一个时刻面积的累加值,一部分是本次的面积值。如果认为本次的面积是本次采样值与采样周期的乘积,则式(B)取z变换,得 合并同类项,得离散传递函数 比较和,知 。所以,后向差分法就是积分法,并且以当前采样值为计算依据,所以可以称为本次采样积分,式(B)的图形见下页。公式推导3有理化z与s的关系:,由。

25、此式求得。% 差分近似法 function y=c2d1(ds,t0,str)% 函数 c2d1 补充MATLAB控制类函数 c2d 之不足,可以将连续传递函数以向前差分法和向后差分法变换为离散传递函数% 因为双线性变换法与向前差分法和向后差分法同属近似法,所以 c2d1 函数也包括了双线性变换法% 输出参数 y : LTI模型,离散传递函数% 输入参数 ds : LTI模型,连续传递函数% t0 : 数值,采样时间% str : 字符串,变换方法 backdiff=向后差分 fordiff=向前差分 tustin=双线性syms z;% -检查采样时间Ts是否大于0if t0=0error(。

26、Ts0 or Ts=0 unallowed);end% -根据输入的方法,确定代入公式if strcmp(str,backdiff)s=(z-1)/(t0*z);string=coefficient of result of backward difference:;string1=zero-pole of result of backward difference:;elseif strcmp(str,fordiff)s=(z-1)/t0;string=coefficient of result of forward difference:;string1=zero-pole of resu。

27、lt of forward difference:;elseif strcmp(str,tustin)s=(2/t0)*(z-1)/(z+1);string=coefficient of result of double linear:;string1=zero-pole of result of double linear:;elsedisp( );error(please chek method parameter);end% -%以下将模型的传递函数转换为符号表达式,以便s=f(z)代入到ds中num,den=tfdata(ds,v); %取模型连续传递函数的分子和分母(多项式)nums。

28、=poly2sym(num,s);%将多项式转换为符号dens=poly2sym(den,s);tran=nums/dens; %生成一个符号分式m=compose(tran,s); %代入m=simplify(m); %化简n d=numden(m); %取符号表达式的分子和分母n=sym2poly(n); %取符号表达式的分子多项式系数,按降幂排列d=sym2poly(d); %取符号表达式的分母多项式系数,按降幂排列% -%以下显示分子和分母的系数,是辅助性的disp(string)n=n/d(1); %使分母的最高项的系数为1d=d/d(1);n_str=num2str(n);d_st。

29、r=num2str(d);n_disp=strcat(fn = ,n_str);d_disp=strcat(fd = ,d_str);disp(n_disp);disp(d_disp);% -%以下生成离散传递函数y=tf(n,d,t0);% -%以下求出离散传递函数的零点和极点disp(string1);z p k=zpkdata(y,v)% -%以下画出连续传递函数和离散传递函数的伯德图bode(ds,r,y,g);zpk(z,p,k,t0)% 程序结束第五节 前向差分代换法(forward difference)公式推导1 近似微分:设连续传递函数,则,反变换得 ,将中的微分用前向差分代。

30、替,得 。将所有的采样值提前一个周期,得 ,。取z变换,得 ,故 。整理后得离散传递函数 。比较和,知 。也可以不进行时间位移,直接从 进行z变换,同样可得,。公式推导2 近似积分:设连续传递函数,则,它的积分表达式是,进行近似积分,而且把输出看作由两部分组成,一部分是前一个时刻面积的累加值,一部分是本次的面积值。如果认为本次的面积是前次采样值与与采样周期的乘积,则 (式B),取z变换,得 ,合并同类项,得离散传递函数 。比较和,得 所以,前向差分法就是积分法,并且以前一次采样值为计算依据,所以可以称为前次采样积分,式(B)的图形是公式推导3 有理化z与s的关系:,由此式求得。第六节 双线性近。

31、似法(tustin)公式推导1 近似微分:设连续传递函数,则,它的微分表达式是。将用后向差分代替,用前采样值与本次采样值的平均值代替,得, 对上式取z变换 ,即 ,故 ,比较和,得 。公式推导2 近似积分: 设连续传递函数,它的积分表达式是,进行近似积分,而且把输出看作由两部分组成,一部分是前一个时刻面积的累加值,一部分是本次的面积值。如果认为本次面积是前次采样值与本次采样值,两次采样值的平均值平均值与采样周期的乘积,则 (式B),取z变换,得 ,合并同类项,得 。比较和,得 。所以,双线性近似法也是积分法,与差分法不同的是它是梯形积分,式(B)的图形是:公式推导3 有理化z与s的关系: ,由。

32、此式求得。公式推导4 使用的台劳级数: 由,得 故。公式推导5 使用th s压缩s平面: 脉冲响应不变法的主要缺点是频谱交叠产生的混淆,这是从S平面到Z平面的标准变换的多值对应关系导致的。为了克服这一缺点,设想通过两个步骤建立S平面与Z平面一一对应的单值关系。双线性变换的映射关系第一步 将整个S平面压缩到S1平面的一条横带里考察双曲正切变换,当由时,w由,也就是说将s平面的w轴压缩到平面轴上的一段上。将这一关系推广到整个s平面,则得到s平面到平面的映射关系,系数的来源是,当时,可得。第二步 通过标准变换关系将此横带变换到整个Z平面上去令,得S平面与Z平面的单值映射关系, 或者 验证: 变换的单。

33、值性:当时,代入,即S的虚轴映射到Z平面正好是单位圆。 S平面Z平面 S1平面 变换的稳定性: 代入z表达式,得 和。当时,|z|1即s左半平面映射在单位圆内,s右半平面映射在单位圆外,因此,稳定的模拟滤波器通过双线性变换后,所得到的数字滤波器也是稳定的。第七节 预畸双线性法(prevarp)第一步:求预修正频率 ,w1为预防畸变的频率, 为修正后的频率。第二步:预畸变 。第三步:变换 。综合以上3步: ,w1为预防畸变的频率 。变换后,稳态增益将变化,需以或的原则进行增益匹配。举例: 若 , 则若 , 则第八节 零极点匹配法(matched)D(S) D(Z) 若 ,则 。分子上因子(Z+1。

34、)n-m的作用是:把处的零点投射到来单位园上,使D(Z)的分母和分子的阶数就相同。(如果不加这个因子,D(Z)脉冲响应会产生n-m个采样时间的延迟,对系统造成不利影响?)。或者 。后一个公式比前一个公式少一个零点,MATLAB函数c2d的matched方法是按后一个公式进行变换的(但脉冲响应具有一个采样时间的延迟?)。确定D(z)的增益kz的方法:a 令与的稳态增益相等求得,即令,b 若D(s)分子有s因子,例如,可依高频段增益相等原则确定增益,即,也可选择某关键频率处的幅频相等,即。对零极点匹配法做的描述,可以使用符号数学编写m文件程序,“手工式”地进行验证。下面的程序以连续传递函数为例,运。

35、行此程序后,可以看到,文中描述的方法与c2d函数的mtched方法是一致的,也说明文本中没有排版错误,这样应该更有于助理解和使用零极点匹配法。%程序开始syms s z kz t %预置采样周期tt=0.7 %预置采样周期s1=1 %建立ds的分子s2=vpa(s3+1.8*s2+1.8*s+1) %建立ds的分母s2r=solve(s2) %求ds的极点z1=(z+1)2 %建立dz分子的零点表达式,不包含增益z1=vpa(expand(z1),5) %展开dz分子的零点表达式为多项式表达式,不包含增益z2=(z-exp(t*s2r(1)*(z-exp(t*s2r(2)*(z-exp(t*s。

36、2r(3) %建立dz分母的极点表达式z2=vpa(subs(z2,t,tt),5) %将dz分母中周期t用预置的值tt代替,不改变极点表达式形式z2=vpa(expand(z2),5) %展开dz分母的极点表达式为多项式表达式kz=limit(s1/s2,s,0)/limit(z1/z2,z,1) %计算dz的静态增益dz=vpa(eval(kz*z1/z2),4) %获得dz的表达式%display(strcat(Sample time: ,num2str(tt), seconds) %对dz的说明display(Sample time: ,num2str(tt), seconds) %对。

37、dz的说明,用方括号代替strcat,以保留空格display(Discrete-time transfer function.) %续对dz的说明ds0=tf(1,1,1.8,1.8,1) %比较用c2d展开的结果dz0=c2d(ds0,tt,matched)%程序结束第三章 时域化算法控制系统中控制算法一般是指控制器的传递函数,但要用计算机实现,还应该将z域的离散传递函数,转换为时域的差分方程。由于差分方程已经清晰地显示出输入输出的时序关系,甚至可以在一定程度上把它等同于计算机程序流程图。传递函数由z域向t域转换,也有几算法。如果把控制器的传递函数看作一体,叫做直接算法;如果把控制器的传递。

38、函数分解为几个传递函数的积,叫做串联算法;如果把控制器的传递函数分解为几个传递函数的和,则叫做并联算法;但串联算法和并联算法的z域分解式的转换,仍然要归结为直接算法。通过不同形式的从z域到t域的数学转换,可以得到,同一个z传递函数的不同形式的输出差分表达式。对于直接算法,共可获得4种形式的输出差分表达式,而串联算法和并联算法形成的一阶分式和二阶分式的转换,同样归结为直接算法。信流图对时域的输入输出关系的描述,比差方程形象,因此,对每一种算法都根据数学公式画出了它的信流图。参照信流图所表达的信号之间的关系,将给程序设计带来很大的方便。在信流图之后,给出了c语言的参考语句。离散传递函数有z格式和z-1格式两种,在将离散传递函数变换为差分方程前,要将z格式的传递函数改写为z-1格式的传递函数。远离当前时刻的过去时刻叫“后”: . m(-2) m(-1) m(0)当前时刻和靠近当前时刻的过去时刻叫“前”: . m(-2) m(-1) m(0)公式和信流图中,E(Z),U(Z),e(k),u(k)表示输入量和输出量,Mi(Z),Ni(Z),mi(k),ni(k)表示中间变量,ai,bi表示系数。程序中。

你可能感兴趣的:(离散化传递函数c语言)