6·03

6.1 什么叫线性;电阻电路只会"按比例混合"

About 18 minBook · Davis 6.1

Davis 6.1 的结论是:电阻电路里每个电压、电流都是独立源波形的 linear combination(线性组合),他把这叫 multilinear。要看懂这句话,先得知道电路里说的"线性"到底是什么意思,它和代数课里的"线性函数 y=mx+by = mx + b"不完全一样。这一节先把线性讲清楚,再说明电阻电路为什么是线性、无记忆的,最后说明这件事为什么重要。(波形、单边波形、u(t)u(t)、脉冲这些记号见 6·01。)

① 什么叫 linear(线性)

把电路看成一台机器:送进去一个输入 xx(某个独立源的值或波形),读出来一个输出 yy(我们关心的某个电压或电流)。记作 x→yx \to y。

linear(线性)= superposition 成立

如果对任意输入、任意常数 kk,下面两条都成立,就说 x→yx \to y 是 linear:

  • homogeneity(齐次性,也叫比例性):输入乘 kk,输出也乘 kk。若 x→yx \to y,则 kx→kykx \to ky。
  • additivity(可加性):两个输入加在一起,输出等于各自输出之和。若 x1→y1x_1 \to y_1、x2→y2x_2 \to y_2,则 x1+x2→y1+y2x_1 + x_2 \to y_1 + y_2。

两条合起来就是 superposition(叠加原理):k1x1+k2x2→k1y1+k2y2k_1x_1 + k_2x_2 \to k_1y_1 + k_2y_2。Davis 6.1 的脚注写成 f(ax)=af(x)f(ax) = af(x) 和 f(x+y)=f(x)+f(y)f(x + y) = f(x) + f(y)。

白话:输入翻倍,输出就翻倍;两个输入一起来,输出就是"各自单独来时的输出"加起来。xx 可以是一个数,也可以是一整条波形 x(t)x(t),那时两条性质要在每个时刻都成立。

快速检查:零输入必须给出零输出

在 homogeneity 里取 k=0k = 0:输入 0⋅x=00 \cdot x = 0,输出必须是 0⋅y=00 \cdot y = 0。所以线性关系在输入为 0 时,输出一定是 0。只要输入为 0 时输出不是 0,马上可以断定不是线性的。

反过来不成立:零进零出只是必要条件。例如 y=x2y = x^2:x=0x = 0 时 y=0y = 0,可是 x=1→1x = 1 \to 1、x=2→4x = 2 \to 4,输入翻倍、输出变成 4 倍,homogeneity 不成立。

例题

例 1 y=2xy = 2x 是线性的

检查 y=2xy = 2x 是否满足两条性质,并用数字核对。

homogeneity:输入换成 kxkx,输出是 2(kx)=k(2x)=ky2(kx) = k(2x) = ky ✓。

additivity:输入换成 x1+x2x_1 + x_2,输出是 2(x1+x2)=2x1+2x2=y1+y22(x_1 + x_2) = 2x_1 + 2x_2 = y_1 + y_2 ✓。

数字核对:x=1→y=2x = 1 \to y = 2,x=3→y=6=3×2x = 3 \to y = 6 = 3 \times 2(输入乘 3,输出乘 3)✓。两个一起来:x=1+3=4→y=8=2+6x = 1 + 3 = 4 \to y = 8 = 2 + 6 ✓。零输入:x=0→y=0x = 0 \to y = 0 ✓。结论:线性。

例题

例 2 y=4+2xy = 4 + 2x 不是线性的(课本 Q6.1-1 的式子)

用同样的方法检查 y=4+2xy = 4 + 2x。

零输入:x=0→y=4≠0x = 0 \to y = 4 \ne 0。这一步就已经可以断定不是线性的。下面再用数字看两条性质各自怎样失败。

homogeneity:x=1→y=4+2=6x = 1 \to y = 4 + 2 = 6。输入翻倍到 x=2x = 2,输出是 4+4=84 + 4 = 8,而不是 2×6=122 \times 6 = 12 ✗。

additivity:x1=1→6x_1 = 1 \to 6,x2=2→8x_2 = 2 \to 8。一起来 x=3→4+6=10x = 3 \to 4 + 6 = 10,而不是 6+8=146 + 8 = 14 ✗。差的正好是多算了一次的常数 4。

结论:两条都不满足,不是线性的。问题全出在常数项 4 上:去掉它,就是例 1 的 y=2xy = 2x。

affine(仿射)

形如 y=mx+by = mx + b、常数 b≠0b \ne 0 的关系叫 affine:一个线性部分 mxmx 加一个常数 bb。它不是线性的,但它的变化量是成比例的:Δy=m Δx\Delta y = m\,\Delta x。例 2 里 xx 从 1 增加到 2,yy 增加 8−6=2=2×18 - 6 = 2 = 2 \times 1。

那为什么代数课把 y=mx+by = mx + b 叫"线性函数"?因为那里的"线性"只是说它的图像是一条直线。电路和信号系统里的 linear 指的是上面两条性质,只有过原点的直线 y=mxy = mx 满足。不过原点的直线在这里叫 affine。同一个词,两门课的意思不同,做题时按电路的意思判断。

② 电路里的常数项从哪来

只有电阻和独立源的电路,如果把所有独立源都关掉(电压源换成导线,电流源换成开路),电路里就没有任何能量来源,所有电压、电流都是 0。所以如果 xx 是电路里唯一的独立源,x=0x = 0 时输出必须是 0,不可能出现 y=4+2xy = 4 + 2x 里的那个 4。这就是课本 Q6.1-1 的答案:在"xx 是唯一独立源"的前提下,y=4+2xy = 4 + 2x 不是 linear,也不是 multilinear(④ 定义),这样的电阻电路不存在。

常数一旦出现,就说明电路里还有另一个独立源(比如一个一直接着的电池)。那个 4 就是它的贡献。把它也算作输入,关系就重新变成线性的:设电池电压为 VBV_B,它的贡献是 aVB=4aV_B = 4,那么 y=2x+aVBy = 2x + aV_B。把 xx 和 VBV_B 同时乘 kk,yy 也乘 kk;两个都为 0 时 y=0y = 0。所以判断线性时,所有独立源都要算作输入。这正是 Davis 说"输出是全部 independent source 的 linear combination"的原因。只盯着其中一个源、其余的源一直开着,看到的就是 affine 关系。

你已经见过这种情况:Thévenin 等效 v=voc+Rth iv = v_{oc} + R_{th}\,i(ii 从端口 + 端流进)。对端口电流 ii 来说它是 affine 的,常数 vocv_{oc} 正是电路内部所有独立源的贡献。把内部的源也算作输入,它又是线性的。下面例 5 会用到这一点。

③ linear combination 和 memoryless

linear combination(线性组合)

几个输入 x1,…,xNx_1, \dots, x_N 的 linear combination 是

y=a1x1+a2x2+⋯+aNxNy = a_1x_1 + a_2x_2 + \cdots + a_Nx_N

其中系数 aka_k 是常数:不随时间 tt 变,也不依赖任何输入。每一项都是"一个常数 × 一个输入",没有 x1x2x_1x_2、x2x^2 这样的乘积,也没有不带输入的常数项。

linear combination 总是满足 superposition(把全部输入看成一组):所有 xkx_k 都乘 kk,每一项都乘 kk,yy 也乘 kk;两组输入相加,每一项分别相加,yy 也相加。例 1 是 N=1N = 1、a1=2a_1 = 2 的情况。

memoryless(无记忆)

如果时刻 tt 的输出只由同一时刻 tt 的输入决定,和过去的输入无关,就说这个关系是 memoryless。

例如 v(t)=0.2 vs(t)v(t) = 0.2\,v_s(t) 是 memoryless:要知道 t=5t = 5 s 时的 vv,只需知道 t=5t = 5 s 时的 vsv_s。下一节的 capacitor 不是:它的电压 v(t)=1C∫−∞ti(τ) dτv(t) = \frac{1}{C}\int_{-\infty}^{t} i(\tau)\,d\tau 是从过去一直到现在的电流累积面积,过去的电流都会影响现在的电压,这叫有记忆。

④ 电阻电路:独立源波形的 linear combination

电阻电路的输出 = 独立源波形的 linear combination

只含电阻、dependent source 和 independent source 的电路里,任何一个电压或电流 y(t)y(t) 都可以写成

y(t)=a1x1(t)+a2x2(t)+⋯+aNxN(t)\begin{aligned} y(t) = {} & a_1x_1(t) + a_2x_2(t) \\ & + \cdots + a_Nx_N(t) \end{aligned}

其中 xk(t)x_k(t) 是第 kk 个 independent source 的波形,系数 aka_k 是只由电阻(和 dependent source 的增益)决定的常数。每个源单独作用时的"部分响应" yk=akxky_k = a_kx_k 都是它自己那个源的线性函数,Davis 因此把这个关系叫 multilinear(多重线性)。

为什么成立:电阻电路的所有方程(KCL、KVL、欧姆定律、dependent source 的控制关系)都是代数方程,没有导数和积分,而且都是线性的。所以在每一个时刻 tt,电路都只是一个普通的直流电路,各个源取那一刻的值。由 superposition,答案等于各个源单独作用的结果之和;每个源单独作用时,结果就是"一个常数 × 这个源此刻的值"。dependent source 不算输入:它的值由电路里别的电压电流决定,叠加时不能关掉它。

两个推论。第一,输出的形状只能是输入形状的缩放和叠加:方波进去,出来的还是方波(可能是几个方波的和),不会变成斜坡。第二,电阻电路是 memoryless 的:每一时刻的方程只含那一时刻的源值。

例题

例 3 三角形输入,三角形输出

电源 vs(t)v_s(t) 串 4 Ω 再串 1 Ω,求 1 Ω 上的 v(t)v(t)。vsv_s 是三角形:从 0 线性升到 t=1t = 1 时的 10 V,再线性降回 t=2t = 2 时的 0,之后是 0。

每个时刻都是普通分压:v(t)=14+1 vs(t)=0.2 vs(t)v(t) = \frac{1}{4 + 1}\,v_s(t) = 0.2\,v_s(t)。这是 N=1N = 1、a1=0.2a_1 = 0.2 的 linear combination。所以 v(t)v(t) 也是三角形,同样在 t=1t = 1 到顶、t=2t = 2 回到 0,峰值从 10 V 缩成 0.2×10=20.2 \times 10 = 2 V。形状完全不变,只是按比例缩小;v(t)v(t) 只取决于同一时刻的 vs(t)v_s(t),memoryless。

+ − vs(t) 6 Ω v(t) is(t) 3 Ω + −
例 4、例 5 的电路。isi_s 的箭头向下,表示电流从上面的节点流出、流到底线。vv 是 6 Ω 两端的电压,上 + 下 −。
例题

例 4 两个源,写成 a1vs+a2isa_1v_s + a_2i_s(课本例 6.3)

vs(t)=9u(t)v_s(t) = 9u(t) V,is(t)=4u(t−1)i_s(t) = 4u(t-1) A。先求出 v=a1vs+a2isv = a_1v_s + a_2i_s 里的两个常数,再求 v(t)v(t)。

第 1 步:只留 vsv_s。把 isi_s 换成开路(关掉电流源就是让它的电流为 0)。剩下 vsv_s、3 Ω、6 Ω 串成一圈,vv 是 6 Ω 上的分压:v′=63+6 vs=23 vsv' = \frac{6}{3+6}\,v_s = \frac23\,v_s。所以 a1=23a_1 = \frac23(无单位)。

第 2 步:只留 isi_s。把 vsv_s 换成导线(关掉电压源就是让它的电压为 0)。这时 3 Ω 和 6 Ω 都从上面的节点接到底线,是并联:3∥6=3×63+6=2 Ω3 \parallel 6 = \frac{3 \times 6}{3 + 6} = 2\ \Omega。isi_s 从这个节点流出,所以电流在两个电阻里从下往上流,节点电压为负:v′′=−2 isv'' = -2\,i_s。所以 a2=−2 Ωa_2 = -2\ \Omega。

第 3 步:相加,代入波形。

v(t)=23 vs(t)−2 is(t)=6u(t)−8u(t−1) V\begin{aligned} v(t) &= \tfrac23\,v_s(t) - 2\,i_s(t) \\ &= 6u(t) - 8u(t-1)\ \text{V} \end{aligned}

第 4 步:分段读出来。t≤0t \le 0:两个阶跃都是 0,v=0v = 0。0<t≤10 \lt t \le 1:只有 u(t)=1u(t) = 1,v=6v = 6 V。t>1t \gt 1:两个都是 1,v=6−8=−2v = 6 - 8 = -2 V。

1 2 −2 6 0 t v(t)

核对(不用叠加,直接节点法):t=2t = 2 时 vs=9v_s = 9、is=4i_s = 4,对上面的节点写 KCL,流出的电流之和为 0:v−93+v6+4=0\frac{v - 9}{3} + \frac{v}{6} + 4 = 0。乘 6:2v−18+v+24=02v - 18 + v + 24 = 0,v=−2v = -2 V ✓。波形只是两个阶跃按常数比例相加,没有新形状。

例题

例 5 只看一个源:affine 关系

同一个电路,但 vsv_s 换成一个一直接着的 9 V 电池,只把 is=xi_s = x 当成输入。写出 vv 和 xx 的关系。它是线性的吗?电池也算输入时呢?

看解答

第 1 步:代入例 4 的结果。v=23×9−2x=6−2xv = \frac23 \times 9 - 2x = 6 - 2x(vv 单位 V,xx 单位 A)。

第 2 步:对 xx 检查。x=0→v=6≠0x = 0 \to v = 6 \ne 0,不是线性的,是 affine。数字:x=1→4x = 1 \to 4,x=2→2x = 2 \to 2,不是 2×4=82 \times 4 = 8 ✗;x=1x = 1 和 x=2x = 2 一起来 x=3→0x = 3 \to 0,不是 4+2=64 + 2 = 6 ✗。

第 3 步:把电池电压 VBV_B 也算输入。v=23VB−2xv = \frac23 V_B - 2x,这是 VBV_B 和 xx 的 linear combination。核对:VB=9,x=1V_B = 9, x = 1 给 v=4v = 4;两个都翻倍,VB=18,x=2V_B = 18, x = 2 给 v=12−4=8=2×4v = 12 - 4 = 8 = 2 \times 4 ✓。

第 4 步:用 Thévenin 看同一件事。从电流源两端看进去:开路电压 voc=63+6×9=6v_{oc} = \frac{6}{3 + 6} \times 9 = 6 V,Rth=3∥6=2 ΩR_{th} = 3 \parallel 6 = 2\ \Omega。流进端口 + 端的电流是 −x-x(xx 从 + 节点流出),所以 v=voc+Rth(−x)=6−2xv = v_{oc} + R_{th}(-x) = 6 - 2x,和第 1 步一样。常数 6 V 就是电池的贡献。

容易判断错的地方

① 代数课的"线性"。y=mx+by = mx + b 在代数课叫线性函数,在这里 b≠0b \ne 0 时是 affine,不是 linear。判断方法:先看零输入是否给零输出。

② 只算了一部分源。判断线性时要把所有 independent source 都算作输入。只看一个源、其余源一直开着,得到的是 affine(例 5),这不说明电路不线性。

③ 把 dependent source 当输入关掉。dependent source 不是输入,它的值由电路决定。叠加时只关 independent source,dependent source 留在电路里。

为什么要在意线性:线性意味着可以拆开算、再加起来。后面把一个复杂的输入拆成很多阶跃或 impulse(decomposition,见 6·02),每块单独求响应再相加,最后发展成 convolution,靠的都是 superposition。capacitor 和 inductor 也是线性元件(i=C dv/dti = C\,dv/dt 满足两条性质),所以含它们的电路仍然可以叠加;但它们有记忆,会改变波形的形状(例如把方波变成斜坡)。capacitor 的积分形式 v(t)=v(t0)+1C∫t0ti dτv(t) = v(t_0) + \frac1C\int_{t_0}^{t} i\,d\tau 对 ii 是 affine 的,常数 v(t0)v(t_0) 就像一个额外的源;6·13 的 initial condition 模型正是把它画成一个独立源。下面先讲 capacitor。