6·16

RC 电路的阶跃响应和冲激响应

About 6 minLecture 15

第 15 讲用最简单的 RC 电路算了两个最重要的响应:输入是阶跃时的 step response,输入是 impulse 时的 impulse response。它们是 convolution 部分的原料:知道了 impulse response h(t)h(t),任何输入的输出都能算出来(C·02)。δ\delta 的定义和单位见 6·01,电路里的 impulse 见 6·15。

① 电路和方程

+ − vin R C v i + −
电压源 vinv_{in} 经 RR 给 CC 充电,输出是 CC 上的电压 vv(上 + 下 −)。ii 是流过 RR、流进 CC 的电流。

读图。RR 两端的电压是 vin−vv_{in} - v,电流(向右)i=(vin−v)/Ri = (v_{in} - v)/R。这个电流全部从 + 端流进 CC,按 passive sign convention,i=C dv/dti = C\,dv/dt。

写方程。两者相等:

vin−vR=Cdvdt⟹τ dvdt+v=vin,τ=RC\begin{gathered} \frac{v_{in} - v}{R} = C\frac{dv}{dt} \\ \Longrightarrow\quad \tau\,\frac{dv}{dt} + v = v_{in},\qquad \tau = RC \end{gathered}

开关前的状态。阶跃源 V0u(t)V_0 u(t) 在 t≤0t \le 0 时是 0 V,就是一根导线。如果电路这样放了很久,CC 早已经经 RR 放完电,v(0−)=0v(0^-) = 0。下面两种输入都从这个 zero state 出发。如果 CC 是开关前单独充过电再接进来的,初值就不是 0,要按 6·14 的方法另算。

② step response

输入 vin=V0 u(t)v_{in} = V_0\,u(t)。用 6·14 的万能公式,三样东西分开求:

  1. 初值。电流 (V0−v)/R(V_0 - v)/R 有限,没有 impulse,capacitor 电压不跳:v(0+)=v(0−)=0v(0^+) = v(0^-) = 0。
  2. 终值。dc steady state 时 CC 是 open circuit,没有电流,RR 上没有压降:v(∞)=V0v(\infty) = V_0。
  3. time constant。关掉电源(导线),CC 看到 RR:τ=RC\tau = RC。
v(t)=V0+(0−V0) e−t/τ=V0(1−e−t/τ) u(t)\begin{aligned} v(t) &= V_0 + (0 - V_0)\,e^{-t/\tau} \\ &= V_0\big(1 - e^{-t/\tau}\big)\,u(t) \end{aligned}

最后乘上 u(t)u(t),是因为 t≤0t \le 0 时确实是 0(zero state),这样一个式子就写全了所有时间。V0=1V_0 = 1 时叫 unit step response,记作 s(t)=(1−e−t/τ) u(t)s(t) = (1 - e^{-t/\tau})\,u(t)。

代回方程核对

t>0t \gt 0 时 dvdt=V0τe−t/τ\frac{dv}{dt} = \frac{V_0}{\tau}e^{-t/\tau},所以 τdvdt+v=V0e−t/τ+V0−V0e−t/τ=V0\tau\frac{dv}{dt} + v = V_0 e^{-t/\tau} + V_0 - V_0 e^{-t/\tau} = V_0 ✓。

读曲线。过 τ\tau 到终值的 63%,2τ2\tau 到 86%,3τ3\tau 到 95%,5τ5\tau 到 99.3%。起点的斜率是 V0/τV_0/\tau:如果一直按起点的速度走,正好在 t=τt = \tau 到达终值(图中从原点出发的虚线)。RR 或 CC 越大,τ\tau 越大,充得越慢。

1 2 3 4 5 0.63 V₀ 0 t / τ v / V₀ 63% 95%
横轴以 τ\tau 为单位。1 个 τ\tau 到 63%,3 个 τ\tau 到 95%。
例 1

2 kΩ、0.5 µF、10 V 阶跃

R=2R = 2 kΩ,C=0.5 μC = 0.5\ \muF,vin=10u(t)v_{in} = 10u(t) V,电路原来没电。求 v(1 ms)v(1\text{ ms})、v(3 ms)v(3\text{ ms}),以及 vv 什么时候到 9 V。

  1. τ=RC=2000×0.5×10−6=1×10−3\tau = RC = 2000 \times 0.5 \times 10^{-6} = 1 \times 10^{-3} s = 1 ms。
  2. v(1 ms)=10(1−e−1)=6.32v(1\text{ ms}) = 10(1 - e^{-1}) = 6.32 V;v(3 ms)=10(1−e−3)=9.50v(3\text{ ms}) = 10(1 - e^{-3}) = 9.50 V。
  3. 到 9 V:10(1−e−t/τ)=910(1 - e^{-t/\tau}) = 9 ⇒ e−t/τ=0.1e^{-t/\tau} = 0.1 ⇒ t=τln⁡10=2.30t = \tau\ln 10 = 2.30 ms。

③ impulse response

输入 vin=A δ(t)v_{in} = A\,\delta(t),AA 的单位是 V·s。impulse 只在 t=0t = 0 那一瞬间作用,那一瞬间 vv 会跳;之后输入又是 0。分两步算。

第 1 步:跳了多少。把方程两边从 0−0^- 积到 0+0^+:

τ[v(0+)−v(0−)]+∫0−0+v dt=A∫0−0+δ(t) dt=A\begin{aligned} &\tau\big[v(0^+) - v(0^-)\big] + \int_{0^-}^{0^+} v\,dt \\ &\qquad = A\int_{0^-}^{0^+}\delta(t)\,dt = A \end{aligned}

vv 最多跳一个有限的量,一个有限的函数在长度趋于 0 的区间上积分是 0,所以中间那一项是 0:

v(0+)−v(0−)=Aτv(0^+) - v(0^-) = \frac{A}{\tau}

物理上看:impulse 那一瞬间 vv 还是有限的,RR 上的电流约为 A δ(t)/RA\,\delta(t)/R,送进 CC 的 charge 是 A/RA/R,电压升高 A/RC=ARC\frac{A/R}{C} = \frac{A}{RC},是同一个结果。电流里有 impulse,所以 capacitor 电压可以跳。

第 2 步:跳完以后。t>0t \gt 0 时输入是 0(电压源是导线),CC 从 A/τA/\tau 经 RR 放电,终值 0,time constant 还是 τ\tau:

v(t)=Aτ e−t/τ u(t)v(t) = \frac{A}{\tau}\,e^{-t/\tau}\,u(t)
RC 电路的 impulse response(A = 1 V·s) h(t)=1τ e−t/τ u(t)h(t) = \frac{1}{\tau}\,e^{-t/\tau}\,u(t)

它的面积 ∫0∞1τe−t/τ dt=1\int_0^\infty \frac1\tau e^{-t/\tau}\,dt = 1,等于 step response 的终值(输入 1 V 的阶跃,最后输出 1 V)。τ\tau 越小,hh 越高越窄,面积不变。只写 e−t/τu(t)e^{-t/\tau}u(t) 是错的:它的面积是 τ\tau,少了 1/τ1/\tau。

1 2 3 4 1 2 0 t τ = 0.5 τ = 1 τ = 2
τ=0.5, 1, 2\tau = 0.5,\ 1,\ 2 的 h(t)h(t):起点高 1/τ1/\tau,面积都是 1。
例 2

同一个电路,输入 0.004 V·s 的 impulse

τ=1\tau = 1 ms(例 1 的电路),vin=0.004 δ(t)v_{in} = 0.004\,\delta(t) V·s。用两种方法求 v(0+)v(0^+),再求 v(t)v(t) 和 v(2 ms)v(2\text{ ms})。

  1. 方法 1(积分方程)。跳变 A/τ=0.004/0.001=4A/\tau = 0.004/0.001 = 4 V,v(0−)=0v(0^-) = 0,所以 v(0+)=4v(0^+) = 4 V。
  2. 方法 2(charge)。送进 CC 的 charge A/R=0.004/2000=2×10−6A/R = 0.004/2000 = 2 \times 10^{-6} C = 2 µC,电压 2 μC/0.5 μF=42\ \mu\text{C}/0.5\ \mu\text{F} = 4 V ✓。
  3. 之后。v(t)=4e−t/1 ms u(t)v(t) = 4e^{-t/1\text{ ms}}\,u(t) V,v(2 ms)=4e−2=0.541v(2\text{ ms}) = 4e^{-2} = 0.541 V。

④ impulse response 是 step response 的导数

对 zero state 的 linear、time-invariant 电路,把输入求导,输出也跟着求导。δ=p u\delta = p\,u,所以 h=p sh = p\,s。用乘积法则验证(6·05 技巧 C):

p[(1−e−t/τ) u(t)]=1τe−t/τu(t)+(1−e−t/τ) δ(t)\begin{aligned} p\big[(1 - e^{-t/\tau})\,u(t)\big] &= \frac1\tau e^{-t/\tau}u(t) \\ &\quad + \big(1 - e^{-t/\tau}\big)\,\delta(t) \end{aligned}

第二项用 sampling property:δ(t)\delta(t) 前面的函数取 t=0t = 0 的值,1−e0=01 - e^0 = 0,整项为 0。剩下的正是 h(t)h(t) ✓。反过来 s=1phs = \frac1p h:∫0t1τe−λ/τ dλ=1−e−t/τ\int_0^t \frac1\tau e^{-\lambda/\tau}\,d\lambda = 1 - e^{-t/\tau},也对得上。所以 step response 和 impulse response 知道一个就知道另一个。

常见错误
  • impulse 箭头旁边的数是面积(V·s),不是电压的峰值。
  • 忘了乘 u(t)u(t):没有它,公式在 t<0t \lt 0 也"成立",但电路那时根本没有响应。
  • 把 hh 写成 e−t/τu(t)e^{-t/\tau}u(t),丢了 1/τ1/\tau。
  • 不看开关前的电路就用 v(0−)=0v(0^-) = 0。
  • 阶跃输入时 capacitor 电压不跳;impulse 输入时跳 A/τA/\tau。
练习:先设计 C,再反推 impulse 的面积

R=5R = 5 kΩ,电路原来没电。(a) 输入 6u(t)6u(t) V。要让 vv 在 30 ms 时达到终值的约 95%,CC 应该取多大(用 ② 的"3τ 到 95%")?用这个 CC 求 v(10 ms)v(10\text{ ms}) 和 vv 到 3 V 的时刻。(b) 同一个电路改加 impulse A δ(t)A\,\delta(t)。要让 v(0+)=3v(0^+) = 3 V,AA 要多大?之后 v(20 ms)v(20\text{ ms}) 是多少?

提示

(a) 先由 3τ=303\tau = 30 ms 定 τ\tau,再 C=τ/RC = \tau/R。(b) 把 ③ 的跳变公式 v(0+)−v(0−)=A/τv(0^+) - v(0^-) = A/\tau 倒过来解 AA。

(a) τ=10\tau = 10 ms,C=τ/R=0.01/5000=2 μC = \tau/R = 0.01/5000 = 2\ \muF(精确地,1−e−3=95.0%1 - e^{-3} = 95.0\%)。v(10 ms)=6(1−e−1)=3.79v(10\text{ ms}) = 6(1 - e^{-1}) = 3.79 V;3 V 是终值的一半,e−t/τ=12e^{-t/\tau} = \frac12,t=τln⁡2=6.93t = \tau\ln 2 = 6.93 ms。

(b) A=τ×3 V=0.01×3=0.03A = \tau \times 3\ \text{V} = 0.01 \times 3 = 0.03 V·s。用 charge 核对:送进 CC 的 charge A/R=6 μA/R = 6\ \muC,6 μC/2 μF=36\ \mu\text{C}/2\ \mu\text{F} = 3 V ✓。之后 v=3e−t/10 msv = 3e^{-t/10\text{ ms}} V,v(20 ms)=3e−2=0.406v(20\text{ ms}) = 3e^{-2} = 0.406 V。