最近一直在瞎看,顺便拣了拣自动控制原理的东西,今天看代码突然对出现离散化的东西很迷茫,特此记录一下。
z变换,就是离散化的形式,为什么要将s域转换成z域呢?为什么要将t时域呢?
拉普拉斯变换与z变换原理类似,t时域中求导不便于求解微分方程,而在离散化过程,可认为离散化就是信号采集与信号保持的过程,在信号采集过程由于积分会导致出现e^st形式,
这种具有s的超参形式难以计算,故将其z变化。
这里的难以计算是指:不能转换成对变量加减乘除的形式。从理想角度来看,还是加减乘除的形式更方便计算。类似与空间转换过程的李群李代数。
就目前计算机系统里面的向前差分,向后差分,与双线性差分与自动控制理论中的z变换有什么区别呢?
譬如针对一阶系统中的低通滤波器,可以写成向前差分,向后差分,双线性差分,或者用查表形式得到的离散化有什么区别呢?
Y(S)/U(S) = 1/(RCS+1)
将器变换至:
1/(RC)*1/(S+1/(RC))
通过查表可以将其转换成:
Y(Z)/U(Z)=z/(z-e^(-1/(RC)*T))
而对于向后差分,其传递函数可写成:
Y(S)/U(S)=1/(RCS+1)
对其进行拉普拉斯逆变换,可得到:
RC*(dY(t)/dt)+Y(t)=U(t)
这里可以利用向前差分,向后差分,与双线性差分或者直接差分形式将其转换,其中向前差分,向后差分实际上是对通过公式得到的离散化形式的一种粗略简化表示形式,
这里可以联想泰勒展开,将一个精确的方程,展开得到由很多方程求导的形式,差分法,就相当于对其进行一次导。
由于很多书标有向前差分不一定稳定,故采用向后差分形式:
RC*(Y(k)-Y(k-1))/T+Y(k)=U(k)
由此可以得到:
Y(K)=RC/(RC+T)Y(K-1)+T/(RC+T)U(K)
这里可以进行Z变换:
RC(Y(Z)-ZY(Z))/T+Y(Z)=U(Z)
经过变换可得到
Y(Z)/U(Z)=1/(RC/T*(1-Z)+1)