Davis 6.1 的结论是:电阻电路里每个电压、电流都是独立源波形的 linear combination (线性组合),他把这叫 multilinear 。要看懂这句话,先得知道电路里说的"线性"到底是什么意思,它和代数课里的"线性函数 y = m x + b y = mx + b y = m x + b "不完全一样。这一节先把线性讲清楚,再说明电阻电路为什么是线性、无记忆的,最后说明这件事为什么重要。(波形、单边波形、u ( t ) u(t) u ( t ) 、脉冲这些记号见 6·01 。)
① 什么叫 linear(线性)
把电路看成一台机器:送进去一个输入 x x x (某个独立源的值或波形),读出来一个输出 y y y (我们关心的某个电压或电流)。记作 x → y x \to y x → y 。
linear(线性)= superposition 成立
如果对任意输入、任意常数 k k k ,下面两条都成立,就说 x → y x \to y x → y 是 linear :
homogeneity (齐次性,也叫比例性):输入乘 k k k ,输出也乘 k k k 。若 x → y x \to y x → y ,则 k x → k y kx \to ky k x → k y 。
additivity (可加性):两个输入加在一起,输出等于各自输出之和。若 x 1 → y 1 x_1 \to y_1 x 1 → y 1 、x 2 → y 2 x_2 \to y_2 x 2 → y 2 ,则 x 1 + x 2 → y 1 + y 2 x_1 + x_2 \to y_1 + y_2 x 1 + x 2 → y 1 + y 2 。
两条合起来就是 superposition (叠加原理):k 1 x 1 + k 2 x 2 → k 1 y 1 + k 2 y 2 k_1x_1 + k_2x_2 \to k_1y_1 + k_2y_2 k 1 x 1 + k 2 x 2 → k 1 y 1 + k 2 y 2 。Davis 6.1 的脚注写成 f ( a x ) = a f ( x ) f(ax) = af(x) f ( a x ) = a f ( x ) 和 f ( x + y ) = f ( x ) + f ( y ) f(x + y) = f(x) + f(y) f ( x + y ) = f ( x ) + f ( y ) 。
白话:输入翻倍,输出就翻倍;两个输入一起来,输出就是"各自单独来时的输出"加起来。x x x 可以是一个数,也可以是一整条波形 x ( t ) x(t) x ( t ) ,那时两条性质要在每个时刻都成立。
快速检查:零输入必须给出零输出
在 homogeneity 里取 k = 0 k = 0 k = 0 :输入 0 ⋅ x = 0 0 \cdot x = 0 0 ⋅ x = 0 ,输出必须是 0 ⋅ y = 0 0 \cdot y = 0 0 ⋅ y = 0 。所以线性关系在输入为 0 时,输出一定是 0 。只要输入为 0 时输出不是 0,马上可以断定不是线性的。
反过来不成立:零进零出只是必要条件。例如 y = x 2 y = x^2 y = x 2 :x = 0 x = 0 x = 0 时 y = 0 y = 0 y = 0 ,可是 x = 1 → 1 x = 1 \to 1 x = 1 → 1 、x = 2 → 4 x = 2 \to 4 x = 2 → 4 ,输入翻倍、输出变成 4 倍,homogeneity 不成立。
例题 例 1 y = 2 x y = 2x y = 2 x 是线性的
检查 y = 2 x y = 2x y = 2 x 是否满足两条性质,并用数字核对。
homogeneity: 输入换成 k x kx k x ,输出是 2 ( k x ) = k ( 2 x ) = k y 2(kx) = k(2x) = ky 2 ( k x ) = k ( 2 x ) = k y ✓。
additivity: 输入换成 x 1 + x 2 x_1 + x_2 x 1 + x 2 ,输出是 2 ( x 1 + x 2 ) = 2 x 1 + 2 x 2 = y 1 + y 2 2(x_1 + x_2) = 2x_1 + 2x_2 = y_1 + y_2 2 ( x 1 + x 2 ) = 2 x 1 + 2 x 2 = y 1 + y 2 ✓。
数字核对: x = 1 → y = 2 x = 1 \to y = 2 x = 1 → y = 2 ,x = 3 → y = 6 = 3 × 2 x = 3 \to y = 6 = 3 \times 2 x = 3 → y = 6 = 3 × 2 (输入乘 3,输出乘 3)✓。两个一起来:x = 1 + 3 = 4 → y = 8 = 2 + 6 x = 1 + 3 = 4 \to y = 8 = 2 + 6 x = 1 + 3 = 4 → y = 8 = 2 + 6 ✓。零输入:x = 0 → y = 0 x = 0 \to y = 0 x = 0 → y = 0 ✓。结论:线性。
例题 例 2 y = 4 + 2 x y = 4 + 2x y = 4 + 2 x 不是线性的(课本 Q6.1-1 的式子)
用同样的方法检查 y = 4 + 2 x y = 4 + 2x y = 4 + 2 x 。
零输入: x = 0 → y = 4 ≠ 0 x = 0 \to y = 4 \ne 0 x = 0 → y = 4 = 0 。这一步就已经可以断定不是线性的。下面再用数字看两条性质各自怎样失败。
homogeneity: x = 1 → y = 4 + 2 = 6 x = 1 \to y = 4 + 2 = 6 x = 1 → y = 4 + 2 = 6 。输入翻倍到 x = 2 x = 2 x = 2 ,输出是 4 + 4 = 8 4 + 4 = 8 4 + 4 = 8 ,而不是 2 × 6 = 12 2 \times 6 = 12 2 × 6 = 12 ✗。
additivity: x 1 = 1 → 6 x_1 = 1 \to 6 x 1 = 1 → 6 ,x 2 = 2 → 8 x_2 = 2 \to 8 x 2 = 2 → 8 。一起来 x = 3 → 4 + 6 = 10 x = 3 \to 4 + 6 = 10 x = 3 → 4 + 6 = 10 ,而不是 6 + 8 = 14 6 + 8 = 14 6 + 8 = 14 ✗。差的正好是多算了一次的常数 4。
结论:两条都不满足,不是线性的。问题全出在常数项 4 上:去掉它,就是例 1 的 y = 2 x y = 2x y = 2 x 。
affine(仿射)
形如 y = m x + b y = mx + b y = m x + b 、常数 b ≠ 0 b \ne 0 b = 0 的关系叫 affine :一个线性部分 m x mx m x 加一个常数 b b b 。它不是线性的,但它的变化量 是成比例的:Δ y = m Δ x \Delta y = m\,\Delta x Δ y = m Δ x 。例 2 里 x x x 从 1 增加到 2,y y y 增加 8 − 6 = 2 = 2 × 1 8 - 6 = 2 = 2 \times 1 8 − 6 = 2 = 2 × 1 。
那为什么代数课把 y = m x + b y = mx + b y = m x + b 叫"线性函数"?因为那里的"线性"只是说它的图像是一条直线。电路和信号系统里的 linear 指的是上面两条性质,只有过原点 的直线 y = m x y = mx y = m x 满足。不过原点的直线在这里叫 affine。同一个词,两门课的意思不同,做题时按电路的意思判断。
② 电路里的常数项从哪来
只有电阻和独立源的电路,如果把所有 独立源都关掉(电压源换成导线,电流源换成开路),电路里就没有任何能量来源,所有电压、电流都是 0。所以如果 x x x 是电路里唯一 的独立源,x = 0 x = 0 x = 0 时输出必须是 0,不可能出现 y = 4 + 2 x y = 4 + 2x y = 4 + 2 x 里的那个 4。这就是课本 Q6.1-1 的答案:在"x x x 是唯一独立源"的前提下,y = 4 + 2 x y = 4 + 2x y = 4 + 2 x 不是 linear,也不是 multilinear(④ 定义),这样的电阻电路不存在。
常数一旦出现,就说明电路里还有另一个独立源(比如一个一直接着的电池)。那个 4 就是它的贡献。把它也算作输入,关系就重新变成线性的:设电池电压为 V B V_B V B ,它的贡献是 a V B = 4 aV_B = 4 a V B = 4 ,那么 y = 2 x + a V B y = 2x + aV_B y = 2 x + a V B 。把 x x x 和 V B V_B V B 同时 乘 k k k ,y y y 也乘 k k k ;两个都为 0 时 y = 0 y = 0 y = 0 。所以判断线性时,所有 独立源都要算作输入。这正是 Davis 说"输出是全部 independent source 的 linear combination"的原因。只盯着其中一个源、其余的源一直开着,看到的就是 affine 关系。
你已经见过这种情况:Thévenin 等效 v = v o c + R t h i v = v_{oc} + R_{th}\,i v = v oc + R t h i (i i i 从端口 + 端流进)。对端口电流 i i i 来说它是 affine 的,常数 v o c v_{oc} v oc 正是电路内部所有独立源的贡献。把内部的源也算作输入,它又是线性的。下面例 5 会用到这一点。
③ linear combination 和 memoryless
linear combination(线性组合)
几个输入 x 1 , … , x N x_1, \dots, x_N x 1 , … , x N 的 linear combination 是
y = a 1 x 1 + a 2 x 2 + ⋯ + a N x N y = a_1x_1 + a_2x_2 + \cdots + a_Nx_N y = a 1 x 1 + a 2 x 2 + ⋯ + a N x N 其中系数 a k a_k a k 是常数 :不随时间 t t t 变,也不依赖任何输入。每一项都是"一个常数 × 一个输入",没有 x 1 x 2 x_1x_2 x 1 x 2 、x 2 x^2 x 2 这样的乘积,也没有不带输入的常数项。
linear combination 总是满足 superposition(把全部输入看成一组):所有 x k x_k x k 都乘 k k k ,每一项都乘 k k k ,y y y 也乘 k k k ;两组输入相加,每一项分别相加,y y y 也相加。例 1 是 N = 1 N = 1 N = 1 、a 1 = 2 a_1 = 2 a 1 = 2 的情况。
memoryless(无记忆)
如果时刻 t t t 的输出只由同一时刻 t t t 的输入决定,和过去的输入无关,就说这个关系是 memoryless 。
例如 v ( t ) = 0.2 v s ( t ) v(t) = 0.2\,v_s(t) v ( t ) = 0.2 v s ( t ) 是 memoryless:要知道 t = 5 t = 5 t = 5 s 时的 v v v ,只需知道 t = 5 t = 5 t = 5 s 时的 v s v_s v s 。下一节的 capacitor 不是:它的电压 v ( t ) = 1 C ∫ − ∞ t i ( τ ) d τ v(t) = \frac{1}{C}\int_{-\infty}^{t} i(\tau)\,d\tau v ( t ) = C 1 ∫ − ∞ t i ( τ ) d τ 是从过去一直到现在的电流累积面积,过去的电流都会影响现在的电压,这叫有记忆。
④ 电阻电路:独立源波形的 linear combination
电阻电路的输出 = 独立源波形的 linear combination
只含电阻、dependent source 和 independent source 的电路里,任何一个电压或电流 y ( t ) y(t) y ( t ) 都可以写成
y ( t ) = a 1 x 1 ( t ) + a 2 x 2 ( t ) + ⋯ + a N x N ( t ) \begin{aligned} y(t) = {} & a_1x_1(t) + a_2x_2(t) \\ & + \cdots + a_Nx_N(t) \end{aligned} y ( t ) = a 1 x 1 ( t ) + a 2 x 2 ( t ) + ⋯ + a N x N ( t ) 其中 x k ( t ) x_k(t) x k ( t ) 是第 k k k 个 independent source 的波形,系数 a k a_k a k 是只由电阻(和 dependent source 的增益)决定的常数 。每个源单独作用时的"部分响应" y k = a k x k y_k = a_kx_k y k = a k x k 都是它自己那个源的线性函数,Davis 因此把这个关系叫 multilinear (多重线性)。
为什么成立:电阻电路的所有方程(KCL、KVL、欧姆定律、dependent source 的控制关系)都是代数方程,没有导数和积分,而且都是线性的。所以在每一个时刻 t t t ,电路都只是一个普通的直流电路,各个源取那一刻的值。由 superposition,答案等于各个源单独作用的结果之和;每个源单独作用时,结果就是"一个常数 × 这个源此刻的值"。dependent source 不算输入:它的值由电路里别的电压电流决定,叠加时不能关掉它。
两个推论。第一,输出的形状 只能是输入形状的缩放和叠加:方波进去,出来的还是方波(可能是几个方波的和),不会变成斜坡。第二,电阻电路是 memoryless 的:每一时刻的方程只含那一时刻的源值。
例题 例 3 三角形输入,三角形输出
电源 v s ( t ) v_s(t) v s ( t ) 串 4 Ω 再串 1 Ω,求 1 Ω 上的 v ( t ) v(t) v ( t ) 。v s v_s v s 是三角形:从 0 线性升到 t = 1 t = 1 t = 1 时的 10 V,再线性降回 t = 2 t = 2 t = 2 时的 0,之后是 0。
每个时刻都是普通分压:v ( t ) = 1 4 + 1 v s ( t ) = 0.2 v s ( t ) v(t) = \frac{1}{4 + 1}\,v_s(t) = 0.2\,v_s(t) v ( t ) = 4 + 1 1 v s ( t ) = 0.2 v s ( t ) 。这是 N = 1 N = 1 N = 1 、a 1 = 0.2 a_1 = 0.2 a 1 = 0.2 的 linear combination。所以 v ( t ) v(t) v ( t ) 也是三角形,同样在 t = 1 t = 1 t = 1 到顶、t = 2 t = 2 t = 2 回到 0,峰值从 10 V 缩成 0.2 × 10 = 2 0.2 \times 10 = 2 0.2 × 10 = 2 V。形状完全不变,只是按比例缩小;v ( t ) v(t) v ( t ) 只取决于同一时刻的 v s ( t ) v_s(t) v s ( t ) ,memoryless。
例 4、例 5 的电路。i s i_s i s 的箭头向下,表示电流从上面的节点流出、流到底线。v v v 是 6 Ω 两端的电压,上 + 下 −。
例题 例 4 两个源,写成 a 1 v s + a 2 i s a_1v_s + a_2i_s a 1 v s + a 2 i s (课本例 6.3)
v s ( t ) = 9 u ( t ) v_s(t) = 9u(t) v s ( t ) = 9 u ( t ) V,i s ( t ) = 4 u ( t − 1 ) i_s(t) = 4u(t-1) i s ( t ) = 4 u ( t − 1 ) A。先求出 v = a 1 v s + a 2 i s v = a_1v_s + a_2i_s v = a 1 v s + a 2 i s 里的两个常数,再求 v ( t ) v(t) v ( t ) 。
第 1 步:只留 v s v_s v s 。 把 i s i_s i s 换成开路(关掉电流源就是让它的电流为 0)。剩下 v s v_s v s 、3 Ω、6 Ω 串成一圈,v v v 是 6 Ω 上的分压:v ′ = 6 3 + 6 v s = 2 3 v s v' = \frac{6}{3+6}\,v_s = \frac23\,v_s v ′ = 3 + 6 6 v s = 3 2 v s 。所以 a 1 = 2 3 a_1 = \frac23 a 1 = 3 2 (无单位)。
第 2 步:只留 i s i_s i s 。 把 v s v_s v s 换成导线(关掉电压源就是让它的电压为 0)。这时 3 Ω 和 6 Ω 都从上面的节点接到底线,是并联:3 ∥ 6 = 3 × 6 3 + 6 = 2 Ω 3 \parallel 6 = \frac{3 \times 6}{3 + 6} = 2\ \Omega 3 ∥ 6 = 3 + 6 3 × 6 = 2 Ω 。i s i_s i s 从这个节点流出 ,所以电流在两个电阻里从下往上流,节点电压为负:v ′ ′ = − 2 i s v'' = -2\,i_s v ′′ = − 2 i s 。所以 a 2 = − 2 Ω a_2 = -2\ \Omega a 2 = − 2 Ω 。
第 3 步:相加,代入波形。
v ( t ) = 2 3 v s ( t ) − 2 i s ( t ) = 6 u ( t ) − 8 u ( t − 1 ) V \begin{aligned} v(t) &= \tfrac23\,v_s(t) - 2\,i_s(t) \\ &= 6u(t) - 8u(t-1)\ \text{V} \end{aligned} v ( t ) = 3 2 v s ( t ) − 2 i s ( t ) = 6 u ( t ) − 8 u ( t − 1 ) V 第 4 步:分段读出来。 t ≤ 0 t \le 0 t ≤ 0 :两个阶跃都是 0,v = 0 v = 0 v = 0 。0 < t ≤ 1 0 \lt t \le 1 0 < t ≤ 1 :只有 u ( t ) = 1 u(t) = 1 u ( t ) = 1 ,v = 6 v = 6 v = 6 V。t > 1 t \gt 1 t > 1 :两个都是 1,v = 6 − 8 = − 2 v = 6 - 8 = -2 v = 6 − 8 = − 2 V。
核对 (不用叠加,直接节点法):t = 2 t = 2 t = 2 时 v s = 9 v_s = 9 v s = 9 、i s = 4 i_s = 4 i s = 4 ,对上面的节点写 KCL,流出的电流之和为 0:v − 9 3 + v 6 + 4 = 0 \frac{v - 9}{3} + \frac{v}{6} + 4 = 0 3 v − 9 + 6 v + 4 = 0 。乘 6:2 v − 18 + v + 24 = 0 2v - 18 + v + 24 = 0 2 v − 18 + v + 24 = 0 ,v = − 2 v = -2 v = − 2 V ✓。波形只是两个阶跃按常数比例相加,没有新形状。
例题 例 5 只看一个源:affine 关系
同一个电路,但 v s v_s v s 换成一个一直接着的 9 V 电池,只把 i s = x i_s = x i s = x 当成输入。写出 v v v 和 x x x 的关系。它是线性的吗?电池也算输入时呢?
看解答 第 1 步:代入例 4 的结果。 v = 2 3 × 9 − 2 x = 6 − 2 x v = \frac23 \times 9 - 2x = 6 - 2x v = 3 2 × 9 − 2 x = 6 − 2 x (v v v 单位 V,x x x 单位 A)。
第 2 步:对 x x x 检查。 x = 0 → v = 6 ≠ 0 x = 0 \to v = 6 \ne 0 x = 0 → v = 6 = 0 ,不是线性的,是 affine。数字:x = 1 → 4 x = 1 \to 4 x = 1 → 4 ,x = 2 → 2 x = 2 \to 2 x = 2 → 2 ,不是 2 × 4 = 8 2 \times 4 = 8 2 × 4 = 8 ✗;x = 1 x = 1 x = 1 和 x = 2 x = 2 x = 2 一起来 x = 3 → 0 x = 3 \to 0 x = 3 → 0 ,不是 4 + 2 = 6 4 + 2 = 6 4 + 2 = 6 ✗。
第 3 步:把电池电压 V B V_B V B 也算输入。 v = 2 3 V B − 2 x v = \frac23 V_B - 2x v = 3 2 V B − 2 x ,这是 V B V_B V B 和 x x x 的 linear combination。核对:V B = 9 , x = 1 V_B = 9, x = 1 V B = 9 , x = 1 给 v = 4 v = 4 v = 4 ;两个都翻倍,V B = 18 , x = 2 V_B = 18, x = 2 V B = 18 , x = 2 给 v = 12 − 4 = 8 = 2 × 4 v = 12 - 4 = 8 = 2 \times 4 v = 12 − 4 = 8 = 2 × 4 ✓。
第 4 步:用 Thévenin 看同一件事。 从电流源两端看进去:开路电压 v o c = 6 3 + 6 × 9 = 6 v_{oc} = \frac{6}{3 + 6} \times 9 = 6 v oc = 3 + 6 6 × 9 = 6 V,R t h = 3 ∥ 6 = 2 Ω R_{th} = 3 \parallel 6 = 2\ \Omega R t h = 3 ∥ 6 = 2 Ω 。流进端口 + 端的电流是 − x -x − x (x x x 从 + 节点流出),所以 v = v o c + R t h ( − x ) = 6 − 2 x v = v_{oc} + R_{th}(-x) = 6 - 2x v = v oc + R t h ( − x ) = 6 − 2 x ,和第 1 步一样。常数 6 V 就是电池的贡献。
容易判断错的地方
① 代数课的"线性"。 y = m x + b y = mx + b y = m x + b 在代数课叫线性函数,在这里 b ≠ 0 b \ne 0 b = 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 d v / d t i = C\,dv/dt i = C d v / d t 满足两条性质),所以含它们的电路仍然可以叠加;但它们有记忆,会改变波形的形状 (例如把方波变成斜坡)。capacitor 的积分形式 v ( t ) = v ( t 0 ) + 1 C ∫ t 0 t i d τ v(t) = v(t_0) + \frac1C\int_{t_0}^{t} i\,d\tau v ( t ) = v ( t 0 ) + C 1 ∫ t 0 t i d τ 对 i i i 是 affine 的,常数 v ( t 0 ) v(t_0) v ( t 0 ) 就像一个额外的源;6·13 的 initial condition 模型正是把它画成一个独立源。下面先讲 capacitor。