数字控制器实现:从差分方程到双线性变换
1. 差分方程基础
差分方程是数字控制中的重要工具,常见的二阶差分方程形式为:
[y_k = -a_1y_{k - 1} - a_2y_{k - 2} + b_0u_k + b_1u_{k - 1}]
对于具有 (n) 个极点和 (m) 个零点的系统,其更通用的形式为:
[y_k = -a_1y_{k - 1} - a_2y_{k - 2} \cdots - a_ny_{k - n} + b_0u_k + b_1u_{k - 1} + \cdots + b_mu_{k - m}]
在数字控制器中,我们逐样本处理数据,需要一个微处理器(或不太常见的现场可编程门阵列 FPGA)以采样间隔执行无限循环。例如,若控制器设计的采样间隔为 (T_s),则差分方程的每次循环处理都必须使用相同的时间间隔,否则会改变采样间隔,导致差分方程输出错误。
2. 差分方程的伪代码实现
实现差分方程的软件需要一个具有实时操作系统(RTOS)的处理器,以提供精确的定时。个人计算机(PC)由于其操作系统是通用操作系统,不适合实时控制。我们使用伪代码来实现差分方程,以二阶差分方程 (y_k = -a_1y_{k - 1} - a_2y_{k - 2} + b_0u_k + b_1u_{k - 1}) 为例,其伪代码如下:
// Do all definiƟons before the real-Ɵme loop
//define a1,a2,b0,b1 from design calculaƟons of z transfer-funcƟon
W
超级会员免费看
订阅专栏 解锁全文

88

被折叠的 条评论
为什么被折叠?



