news 2026/3/16 8:38:52

传递函数离散相似法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
传递函数离散相似法

问题 如何采用离散补偿器提高离散化模型的精度和稳定性

方案1

1) 参数与采样周期

已知参数(图中):


2) 被控对象、执行机构的 ZOH 精确离散化(第一阶系统)

这些表达式在直流与低频处与连续系统保持良好一致性,比简单差分法精度高。


3) PI 控制器用 Tustin(双线性)离散化(保留积分精度)

说明:

  • 使用 Tustin(梯形法)能更好保持积分在低频处的累计(比前向欧拉或后向欧拉在相位与幅值上更准确)。

  • 若对某一特定频率(如环交叉频率)需要精确匹配,可以在 Tustin 中对该频率做预畸变(pre-warp)


4) 细节


5) 最终仿真实现(步骤概要)

方案2

1 — 基本思想

2 — 图中方框的具体数学形式

3 — 并行计算与 z⁻¹ 延迟(为什么要在反馈里加一个 delay)

书上强调的一点:当环路中有若干个离散块“串联”时,如果在一次采样周期里把它们依次顺序更新,得到的结果与实际可在微控制器/数值仿真中“同时计算所有离散块、并把前一采样周期的输出作为输入” 的情况不同。工程实现常常是“在时刻 k,同时用上一次(时刻 k-1)的信号作为每个子环节的输入来计算这些子环节的 k 时刻新值”,因此后一个环节在实际运算中看到的是前一个环节在 k−1 时刻的输出,而不是刚刚计算出来的 k 时刻输出——这就产生了并行更新的模型差异。

4 — 具体实现伪代码(一步步写出如何在仿真/程序中计算)

假设某一子环节状态方程为

离散化步骤(在每个采样 k = 1,2,... 执行):

伪代码:

初始化: x_i[0] = x_i_init 保存: xdot_i_prev = a_i * x_i[0] + b_i * u_i_prev // u_i_prev 为 k=0 时刻的已知输入 for k = 1..N: // 1) 计算当前导数近似(如果并行模型要求,u_i_use = u_i[k-1],否则可能用 u_i[k]) xdot_i_curr = a_i * x_i[k-1] + b_i * u_i_use // 2) 状态更新(文献公式) delta = lambda_i * Ts * ( gamma_i * xdot_i_curr + (1 - gamma_i) * xdot_i_prev ) x_i[k] = x_i[k-1] + delta // 3) 准备下一步 xdot_i_prev = xdot_i_curr end

注意:

  • u_i_use的取值要与图 4.10/4.11 中的延迟策略一致(并行实现通常是使用u_i[k-1])。

  • 输出量通常是从状态或通过比例变换得到(例如在图中有K0/T0等放大器块在状态之后)。

  • 对于 PI 的积分环节,a_ib_i的具体值对应积分方程(例如对于积分器)。

5 — λ、γ 的物理/数值意义与表 4.1(为何需要优化)

6 — 给出表中某组数值(举例,便于你直接代入)

(直接阅读表 4.1 的数值并列出,便于复制使用;表中的数字是书中通过数值优化得到的近似最优值。)

举例(从图中读出近似值):

7 — 与常见离散化方法的对比(表 4.2 的含义)

  • 表 4.2 比较了三种方法在“平均相对误差 / 仿真精度”上的表现:

  • 因此结论是:如果希望在较大采样周期下仍保持良好仿真精度,采用带参数调整的数值积分器(即书中方法)优于常规的 ZOH/零阶保持

8 — 如何在你自己的仿真/控制器里使用这方法(步骤总结)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 16:28:31

DNF包管理器终极指南:从安装到精通

DNF包管理器终极指南:从安装到精通 【免费下载链接】dnf Package manager based on libdnf and libsolv. Replaces YUM. 项目地址: https://gitcode.com/gh_mirrors/dn/dnf DNF(Dandified YUM)是新一代的RPM包管理器,作为Y…

作者头像 李华
网站建设 2026/3/9 18:43:38

开源AI工具链推荐:Miniconda为核心组件

开源AI工具链推荐:Miniconda为核心组件 在人工智能项目开发中,你是否经历过这样的场景?刚克隆一个同事的代码仓库,满怀期待地运行 pip install -r requirements.txt,结果却因版本冲突报错;或者为了跑通某个…

作者头像 李华
网站建设 2026/3/13 12:57:33

终极指南:如何在SwiftUI中快速构建专业级富文本编辑器

终极指南:如何在SwiftUI中快速构建专业级富文本编辑器 【免费下载链接】RichTextKit RichTextKit is a Swift-based library for working with rich text in UIKit, AppKit and SwiftUI. 项目地址: https://gitcode.com/gh_mirrors/ri/RichTextKit 还在为Swi…

作者头像 李华
网站建设 2026/3/13 11:38:46

xcaddy:打造专属Caddy服务器的智能构建利器

xcaddy:打造专属Caddy服务器的智能构建利器 【免费下载链接】xcaddy Build Caddy with plugins 项目地址: https://gitcode.com/gh_mirrors/xc/xcaddy 想象一下,你正在为项目配置Caddy服务器,但发现官方版本缺少某个关键功能。这时&am…

作者头像 李华
网站建设 2026/3/13 23:17:57

Altium Designer环境下差分信号PCB设计全面讲解与应用

差分信号PCB设计实战:在Altium Designer中打造高性能高速电路你有没有遇到过这样的情况——明明原理图画得一丝不苟,元器件选型也符合规格,可产品一上电,USB就是握手失败,千兆以太网频繁丢包?调试几天后才发…

作者头像 李华