跟踪微分器

本文最后更新于:2026年7月8日 晚上

跟踪微分器(TD,Tracking-Differentiator)由韩京清研究员在《自抗扰控制技术》中提出,是自抗扰控制(ADRC,Active Disturbance Rejection Controller)的一个重要组成部分。跟踪微分器最常见的用途是安排过渡过程,但它作为一种微分器,同样也可以提取含噪信号的微分、配置系统零点、引入相角超前等。

在开始学习跟踪微分器之前,有必要简要地介绍一下 PID 算法的主要缺点:

  1. 从 PID 的原理可以看出 PID 的稳定裕度是不小的,但其动态性能的裕度并不大。也就是说,当被控对象处于一个动态变化的环境之中时,便需要经常改动 PID 的增益来达到控制效果;

  2. PID 算法的核心是:基于误差反馈来消除误差,但有时这种方式并不是最合理的,在初始状态时,直接取这种误差,往往会使初始控制量太大而出现超调的现象,正是这个原因,导致 PID 算法控制的系统会有“快速性”与“超调”的矛盾;

  3. 在实际应用中,由于实际测量很少有比较合适的微分器,导致大部分系统使用 P 控制,从而限制了 PID 的控制能力;

上述描述中,有两个点比较重要,一个是由于初始误差较大而导致控制量大进而造成的超调问题,另一个是微分信号获取得不准确的问题导致 PID 中的微分项 D 没有发挥出应有的作用。而跟踪微分器便是解决这两个问题的一个较好的工具。

微分-跟踪器(tracking - differentiator, TD)灰信网

跟踪微分器(Tracking Differentiator,TD)_跟踪微分器原理-CSDN博客

【ADRC】跟踪微分器 - 知乎 (zhihu.com)

ADRC的理解(含效果视频) - 知乎 (zhihu.com)

非线性跟踪-微分器 仿真应用_非线性跟踪微分器-CSDN博客

自抗扰控制2— 跟踪微分器是怎么设计的 (zhihu.com)

【ADRC】一. 线性跟踪微分器 - 知乎 (zhihu.com)

ADRC学习|TD微分跟踪器(原理解析和Matlab实现)_跟踪微分器原理_David小伟同学的博客-CSDN博客

自抗扰控制ADRC之三种微分跟踪器TD仿真分析 (xjx100.cn)

自抗扰控制算法(一)— Simulink实现 - 知乎 (zhihu.com)

跟踪微分器滤波性能研究 - 中国知网 (cnki.net)

1 跟踪微分器的作用

工程上信号的微分是难以得到的,所以本文采用微分器实现带有噪声的信号及其微分信号提取,从而实现无需测量速度信号的控制。并且将会结合一般惯性控制对象,简单地用 PID 进行控制,即 TD 微分器+PID 控制。

与 PID 的缺点相对应,跟踪微分器的作用是提供两个信号:一个是目标点的过渡信号,一个是目标点过渡信号的微分信号。过渡信号的意思可以简单地理解为缓慢地向目标点靠近而不阶跃,不超调。即过渡信号可以理解为惯性环节,不超调,缓慢地向目标点生成一条曲线。

1.1 经典微分器

假如我们要提取一个信号的微分,最直接也是最简单的想法便是用差分计算,写成传递函数的形式就是一个纯微分环节 。这样做对一个理想的信号是没问题的,但一旦有一个噪声混在信号中,这个噪声便会被微分环节放得非常大,使提取出来的原信号的微分失真。而现实系统中的信号普遍存在噪声,所以我们想要一种方式,可以既提取出原信号的微分,又不放大噪声。

由于在现实中无法获得真正的微分 ,理想微分环节实际上难以实现(微分具有滞后),所以实际的微分环节是带有惯性环节的,因此我们常采用如下经典微分器,来获取微分信号。

其中, 为原始信号, 为近似的微分信号。可以看到,其实经典微分器就是在一个纯微分环节后,又串联了一个一阶低通滤波器(惯性环节)来抑制噪声。

当时间常数 比较小时:

所以式 所表达的微分环节在时域中可以这样理解:

1.2 经典微分器噪声分析

将经典微分器的传递函数利用 后向差分 进行离散化,将 代入传递函数:

离散表示为:

当测量信号 中存在随机噪声 ,则:

其中 为真实信号值,而 为测量信号值。可以看到,减小微分器的时间常数 会导致噪声被放大,而增大时间常数会造成相位滞后。还可以看出,较短的离散化采样时间会放大滤波信号中的噪声,这就是经典微分器的噪声放大效应。

1.3 线性跟踪微分器

为了消除或减弱噪声的放大效应,考虑用两个惯性环节相减来近似微分器(亦可以理解为纯微分环节串联一个二阶系统,这比经典微分器中惯性环节的噪声抑制能力要强,高频信号抑制能力更强,见下图),这也是跟踪微分器的雏形,如下二阶形式:

IMG-跟踪微分器_B79D5B853528F0AFC029159A118273BB

1.4 线性跟踪微分器噪声分析

将式 中的线性跟踪微分器的传递函数利用 后向差分 进行离散化,将 代入传递函数:

离散表示为:

当测量信号 中存在随机噪声 ,则:

当两个惯性环节的时间常数一致时:,则其噪声项为:

其中 为真实信号值,而 为测量信号值。与经典微分器进行比较,可以看出线性跟踪微分器的噪声项影响更小。

2 线性跟踪微分器

2.1 原理分析

线性跟踪微分器的原理是类似二阶系统的传递函数,如上式 ,当两个惯性环节的时间常数相等 时获得线性跟踪微分器:

从上式的二阶系统传递函数可知其处于临界阻尼 状态,系统会无超调地一次进入稳态值。这便是我们想要的一个理想的线性跟踪微分器。此时的参数 便可以代表系统的收敛速度, 越大,系统收敛得越快,就越快达到目标值,但实际调试的时候需要根据实际系统来调试 ,不同的系统可以达到的实际收敛速度是不同的。取两个状态 ,分别表示过渡曲线和过渡曲线的微分,用传递函数表示:

写成时域方程:

转换成状态空间方程:

即可以理解 是输入信号经二阶系统衰减平滑后的信号,即安排过渡过程, 是过渡曲线的微分,由此获得线性跟踪微分器。

2.2 仿真验证

2.2.1 阶跃信号微分测量

IMG-跟踪微分器_CD89981170D3ACE4FDAFE9420780F1EC

IMG-跟踪微分器_B7446B3612804D12396735960381B876

IMG-跟踪微分器_65923011BCEC06FFF6C461C93F079CF6

2.2.2 优化 PID 控制

IMG-跟踪微分器_3C680CCB2C98579E5CF3E7DF6D7D32B1

IMG-跟踪微分器_1FB8A56D71F2069E67223EF3CEF01DB4

3 非线性跟踪微分器

3.1 原理分析

非线性跟踪微分器 NLTD 可以结合线性跟踪微分器 LTD 进一步分析:其中 相当于是目标过渡信号, 相当于是过渡信号的微分信号,如果将输入信号 的控制律修改为一个非线性函数,便可以得到一个非线性跟踪微分器,这个非线性函数的形式有很多种,比较常用的是快速最优控制综合函数:

对于上式的直观理解,可认为是安排 追赶 的过程, 可认为是以当前速度 减速至 0 的所需位移。当目标位移比减速所需位移大时,即减速到 0 并不能达到目标位置,因此 ,以 的加速度加速,反之,则 ,减速。这个“快速最优控制”就是使加速度在始末都是 0,这样就能保证启停时的一个流畅过渡,不至于加速度突变,从而增加控制的稳定性。

3.2 仿真验证

IMG-跟踪微分器_0A6F8F90490AF33A8168936B42F2B339

3.2.1 阶跃信号微分测量

IMG-跟踪微分器_F917AC265A895B37D2B17F59F93BB6C5

IMG-跟踪微分器_8D4A904FD3C68394B278E6B5869CAC7A

3.2.2 颤振改进(改善)

IMG-跟踪微分器_A11939DBD83A6EE2B7193056670C1BCC

将原来的符号函数替换成线性饱和函数:

1
2
3
4
5
6
7
8
9
function y = Saturation(delta, u)

if abs(u) > delta
y = sign(u);
else
y = u / delta;
end

end

IMG-跟踪微分器_5459A76C7B738A282592182E3E3DF2E2

IMG-跟踪微分器_37ADC05BE23A2865EC8FBFE06DFCF37D

3.2.3 优化 PID 控制对比

针对常规 PID 控制,引入线性跟踪微分器,对输入信号进行平滑过渡消除纯微分放大噪声的作用,这将会引入信号滞后,通过调试收敛参数 可减少滞后影响,当然也可直接引入非线性跟踪微分器,提高过渡曲线跟踪输入信号的快速性,减少滞后影响。

IMG-跟踪微分器_6D8B34741698EA1FA96A2C9CB51525C8

4 最速离散跟踪微分器

4.1 原理公式

如果考虑连续系统,上面提到的非线性 TD 有着非常好的效果,但是我们要处理的实际问题一定是离散的。考虑其离散形式:

这个系统的一个最大问题是,进入稳态后会有高频震颤,将 函数改为线性饱和函数 虽有改善,但仍不够完美。上面的离散递推公式只是一种数值计算的近似解,并不是非线性跟踪微分器的离散形式,因此韩京清老师推导了该离散系统的最速控制综合函数,这里只给出结果:

且最速跟踪微分器的离散表达式为:

是积分步长, 是决定跟踪快慢的参数。 越大, 更快地跟踪信号 ,也越容易引入高频噪声。当 被噪声污染时,会使信号 被更大的噪声所污染。为了滤掉 所含的噪声,选取适当的 ,能获得很好的滤波效果。 数值上一般取大于步长 的数,然而 越大,滤波效果越好,但会使 跟踪信号 的相位损失也越大。

4.2 仿真验证

IMG-跟踪微分器_7C0779CE025AD084412EF47181D0193B

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function fh = fhan(x1, x2, v, r, h1)
% h1为滤波因子,r为调节系数,r越大跟踪效果越好,但微分信号会增加高频噪声
% 反之,微分信号越平滑,会产生一定的滞后
d = r * h1;
d1 = h1 * r^2;
y = x1 - v + h1 * x2;
if (abs(y) >= d1)
a = x2 + sign(y) * (sqrt(d^2+8*r*abs(y)) - d) / 2;
else
a = x2 + y / h1;
end
fh = -r * sat(a, d);
end

function m = sat(a, d)
if (abs(a) >= d)
m = sign(a);
else
m = a / d;
end
end

Simulink 中的仿真步长改为固定步长,且与采样步长 一致,其中噪声模块和正弦波发生模块的采样时间改为-1,表示使用仿真步长采样。

IMG-跟踪微分器_A3BD3534EE73A634032B893F5A81073F

IMG-跟踪微分器_BA21BB5AD5C03CA1A07E27D7026EB2FF

IMG-跟踪微分器_C8DEB167C079C4F1D6EB6CFE690A7FF4

从左图中可以看出跟踪信号存在相位延迟,所以学者武利强在对 TD 进行进一步研究后,由于从 TD 得到了原始信号的微分,受物理学中位移公式的启发,采用预报的方法来克服延迟。思路是将滤波后得到的信号加上微分信号与预报步长的乘积作为原始信号的逼近,虽然校正了跟踪信号的相位延迟,但是获得的微分信号噪声会变大,读者可查阅该学者文献自行理解。

此节讲述了最速综合控制函数的非线性跟踪微分器,但也有其他非线性跟踪微分器,如全程快速微分器、Levant 微分器。理解最速非线性跟踪微分器是学习自抗扰控制的基础,此篇文章作为自抗扰控制的入门篇,后续将更新自抗扰控制。