传递函数(Transfer Function)是控制系统领域最核心的概念之一。 用通俗语言+公式+实际工程例子讲明白。
一、什么是传递函数?
定义:
传递函数是一个输入-输出系统的数学模型,用于描述输入信号和输出信号之间的关系,特别是在频域(s域)下的比例关系。
用公式表达,就是
G(s)=Y(s)U(s) G(s) = \frac{Y(s)}{U(s)} G(s)=U(s)Y(s)
其中,Y(s)Y(s)Y(s) 是输出的拉普拉斯变换,U(s)U(s)U(s) 是输入的拉普拉斯变换,G(s)G(s)G(s) 就是传递函数。
作用:
- 只要你知道了系统的传递函数,就能预测它对于任何输入的响应。
- 传递函数包含了系统的所有动态信息(惯性、延迟、阻尼等)。
二、实际生活中的例子
例子1:水箱进水系统
假设你有一个大水箱,进水口流速可以调节,出水口很小几乎忽略。你想知道,如果你突然把进水流量调大,水箱的水位是怎么变化的。
建立数学模型
- 设输入 u(t)u(t)u(t):进水流量(单位L/min)
- 输出 y(t)y(t)y(t):水位高度(单位cm)
- 假设水箱初始是空的。
根据物理定律(体积=流量×时间),水位的变化可以用一阶微分方程描述:
Adhdt=Qin A \frac{dh}{dt} = Q_{in} Adtdh=Qin
其中,AAA 是水箱截面积,hhh 是水位,QinQ_{in}Qin 是进水流量。
拉普拉斯变换得到传递函数
对上式拉氏变换,有:
AsH(s)=Qin(s) A s H(s) = Q_{in}(s) AsH(s)=Qin(s)
G(s)=H(s)Qin(s)=1As G(s) = \frac{H(s)}{Q_{in}(s)} = \frac{1}{A s} G(s)=Qin(s)H(s)=As1
这就是这个水箱系统的传递函数。
它说明:输入是一个阶跃(如突然开水龙头),输出水位会线性增加。
例子2: 伺服驱动器的速度环传递函数
我们来看速度闭环结构(速度指令 -> 伺服驱动器 -> 电机 -> 速度反馈):
- 输入 U(s)U(s)U(s):速度指令
- 输出 Y(s)Y(s)Y(s):实际电机速度反馈
假设
- 驱动器速度环采用PI调节
- 电机、电流环带宽很高可近似忽略
那么常见的速度环传递函数如下:
G(s)=KvTvs+1 G(s) = \frac{K_v}{T_v s + 1} G(s)=Tvs+1Kv
- KvK_vKv:速度环放大倍数(增益)
- TvT_vTv:速度环时间常数,反映系统惯性/延迟
2. 具体数值举例
假设参数如下:
- Kv=1K_v = 1Kv=1
- Tv=0.05T_v = 0.05Tv=0.05 秒
则传递函数是:
G(s)=10.05s+1 G(s) = \frac{1}{0.05s + 1} G(s)=0.05s+11
3. 工程实际意义
-
阶跃响应:
- 如果你把速度指令从0立刻改成1000rpm,电机实际速度会“平滑”地跟踪,而不是立刻到1000rpm,输出有一个惯性曲线。
-
频率响应(伯德图):
- 低频段(慢慢变化):幅值接近1(理想跟随)
- 高频段(快变指令):幅值迅速下降,说明高频扰动(噪声、震动)会被抑制
4. 在伯德图里的表现
-
幅频特性:
20log10∣G(jω)∣=20log10∣10.05jω+1∣ 20\log_{10} |G(j\omega)| = 20\log_{10} \left|\frac{1}{0.05j\omega + 1}\right| 20log10∣G(jω)∣=20log100.05jω+11
- 低频幅值0dB
- 高频时,幅值每十倍频率衰减20dB/dec
-
相频特性:
相位从0°(低频)到-90°(高频)
5. 实际用途
- 伺服驱动器厂家会用这个模型进行系统整定(比如自整定后自动识别出惯性和增益),用于评估闭环性能、抗扰能力。
- 用户现场用扫频法测得的伯德图和这个理论模型对比,可以判断“调得是否好”,“带宽是多少”。
6. 简单代码例子(Python)
可以用以下代码画出这个传递函数的伯德图:
import numpy as np
import matplotlib.pyplot as plt
K = 1
T = 0.05
w = np.logspace(0, 3, 1000) # 1~1000rad/s
H = K / (1j * w * T + 1)
mag = 20 * np.log10(np.abs(H))
phase = np.angle(H, deg=True)
plt.figure()
plt.subplot(2,1,1)
plt.semilogx(w, mag)
plt.ylabel('幅值[dB]')
plt.subplot(2,1,2)
plt.semilogx(w, phase)
plt.ylabel('相位[deg]')
plt.xlabel('角频率(rad/s)')
plt.show()
总结
- 伺服驱动器的速度环/电流环等都能用传递函数描述!
- 这样能用来做系统分析(如伯德图),也能更科学地进行控制器设计和整定。
细节
这些参数是一阶系统传递函数的典型参数,在伯德图、控制系统、伺服驱动应用里非常常见,下面我详细解释:
1. K 是什么?
- K = 1
这是系统的增益(Gain),也叫“放大倍数”。 - 通俗理解:输入一个单位阶跃,稳态输出就是K。
- 实际伺服驱动器里,如果K不是1,可能是有缩放关系(比如位置单位换算、传感器灵敏度等)。
2. T 是什么?
-
T = 0.05
这是系统的时间常数(Time constant),单位秒(s)。 -
一阶惯性环节传递函数通常为:
G(s)=KTs+1 G(s) = \frac{K}{T s + 1} G(s)=Ts+1K
-
T越小,系统越快(带宽越高);T越大,系统越慢。
举例:
- T=0.05秒,对应系统带宽约20Hz(带宽 ≈ 1/(2πT))。
3. w 是什么?
w = np.logspace(0, 3, 1000)- 这里的**w(ω)**是角频率(rad/s),常用于频率特性分析。
np.logspace(0, 3, 1000)生成了从 10^0 = 1 到 10^3 = 1000 的1000个点(对数均匀分布)。
这些参数从哪来?
理论建模
- 这些参数通常来自你对系统的数学建模,比如通过系统辨识、厂商手册、频率响应实验得到。
- 比如某伺服系统实际传递函数大致是一阶惯性,你就可以用K和T来拟合。
实测辨识
-
也可以通过扫频实验+伯德图分析,逆向推算K、T:
- 低频段幅值≈0dB,对应K
- -3dB处对应的频率,算出T
仿真/设计
- 有时做理论仿真(比如MATLAB/Simulink里)也会假设一组典型参数(比如K=1,T=0.05),方便分析。
伺服驱动器应用举例
假设你的速度环近似为一阶系统:
G(s)=KTs+1 G(s) = \frac{K}{T s + 1} G(s)=Ts+1K
- K 由伺服放大器、速度环增益等决定。
- T 由负载惯量、摩擦、伺服参数共同决定。
- 你扫频做完伯德图后,可以拟合出这两个参数(K、T)。
总结
- K —— 系统输出对输入的放大倍数
- T —— 响应快慢的时间常数
- w —— 扫频/分析用的频率点
你实际用什么K、T,取决于你的实际系统或实验数据。
理论仿真时随便设定一组也可以(常用K=1,T=0.05之类)。
为什么是-3db
“为什么用 -3dB 频率点算时间常数 T?”
一阶系统和 -3dB
一阶系统幅频特性:
G(jω)=K1+jωT G(j\omega) = \frac{K}{1 + j\omega T} G(jω)=1+jωTK
它的幅值响应(以 dB 计):
∣G(jω)∣dB=20log10∣K1+jωT∣ |G(j\omega)|_{dB} = 20\log_{10}\left|\frac{K}{1 + j\omega T}\right| ∣G(jω)∣dB=20log101+jωTK
-3dB 频率的物理意义
-3dB 的物理含义:
信号幅值下降到原来的 12\frac{1}{\sqrt{2}}21(约0.707)时,对应的频率。
-3dB带宽,是自动控制、信号处理、电子工程中定义“有效频带”的国际标准。
对一阶系统的意义
对一阶系统来说,-3dB点的频率 ωc 正好等于 1T\frac{1}{T}T1:
推导如下:
-
幅值下降到 12\frac{1}{\sqrt{2}}21:
∣11+jωT∣=11+(ωT)2 \left| \frac{1}{1 + j\omega T} \right| = \frac{1}{\sqrt{1 + (\omega T)^2}} 1+jωT1=1+(ωT)21
当
11+(ωT)2=12 ⟹ 1+(ωT)2=2 ⟹ (ωT)2=1 ⟹ ωT=1 ⟹ ω=1T \frac{1}{\sqrt{1 + (\omega T)^2}} = \frac{1}{\sqrt{2}} \implies 1 + (\omega T)^2 = 2 \implies (\omega T)^2 = 1 \implies \omega T = 1 \implies \omega = \frac{1}{T} 1+(ωT)21=21⟹1+(ωT)2=2⟹(ωT)2=1⟹ωT=1⟹ω=T1
-
换算成 Hz:
fc=ωc2π=12πT f_c = \frac{\omega_c}{2\pi} = \frac{1}{2\pi T} fc=2πωc=2πT1
为什么叫 -3dB?
因为:
20log10(0.707)≈−3dB 20\log_{10}(0.707) \approx -3 \text{dB} 20log10(0.707)≈−3dB
用法总结
- 伯德图上,幅值从0dB开始,在某个频率点下降到-3dB
- 这个频率点的横坐标就是系统的截止频率(带宽),其倒数就是时间常数T
- 所以常用**-3dB点**来判定一阶系统的响应带宽和T
一句话总结
-3dB点频率是衡量一阶惯性环节“速度”的标准,等于 ωc=1/T\omega_c = 1/Tωc=1/T。在伯德图上,这个点很容易找到,所以就用它来推算T!
1693

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



