副标题:当我们把第 5 章所有公式串成一张依赖图,你会发现 N’ > 2 是唯一的通关密码
推导来源:N.A. 施耐德《导弹导引和追踪》第 5 章全部核心公式 (5.1)~(5.53)
开场:为什么要把推导单独拎出来?
上一篇我们一起逛了比例导引法的"展厅"——看了制导回路长什么样,TPN 和 PPN 怎么分岔,三维空间怎么实现。但展厅里的每件展品背后,都有一条数学生产线。如果我们把生产线也逛一遍,你会发现所有公式不是凭空掉下来的,它们像乐高积木一样一块一块咬合在一起。
别急,推导听起来很吓人对吧?我们这次不追求"从公理到定理"的教科书式严谨,而是追求**"从疑问到啊哈"的认知路径。每走一步,我们只问一个问题;每解决一个,就画一张小图。最后,我们会得到一张全章公式的依赖关系图**——就像深度学习里的计算图,你能清楚地看到:如果改动 N = 2 这个节点,哪些下游公式会跟着爆炸。
第一步:四大几何量——整个推导大厦的地基
在继续之前,我们必须先搞定四个符号。教材第 5 章几乎所有公式都从它们出生。
想象导弹 M 和目标 T 在一个平面上。连接两者的线段叫视线(LOS)。我们定义:
| 符号 | 名称 | 物理意义 | 类比 |
|---|---|---|---|
| r | 弹目距离 | LOS 的长度 | 序列长度 |
| λ | 视线角 | LOS 与参考方向的夹角 | 注意力权重角度 |
| γM | 导弹航向角 | 速度矢量与参考方向的夹角 | RNN 隐藏状态 |
| δ | 前置角 | 速度矢量与 LOS 的夹角,δ = γM - λ | 状态偏差 |
如果画成图会是什么样子?想象一个三角形,顶点在导弹身上:
这个关系 δ = γM - λ 是整个推导大厦的第一块砖。所有后续的微分方程,本质上都在对这个恒等式两边求导。
第二步:运动学方程组——状态转移的"前向传播"
现在我们已经了解了四大几何量。接下来要解决的认知疑点是:如果导弹匀速飞行、目标静止,这四个量怎么随时间演化?
教材式 (5.6) 给出了平面运动学的"前向传播"公式:
ṙ = -v<sub>M</sub> cos δ (A)
r λ̇ = -v<sub>M</sub> sin δ (B)
γ̇<sub>M</sub> = λ̇ + δ̇ (C)
这三条方程的推导其实只用到高中物理:把导弹速度 vM 分解到视线方向(得到 ṙ)和视线垂直方向(得到 rλ̇)。第三条是 δ = γM - λ 的直接求导。
注意这里的结构——它像极了 RNN 的状态更新:
- 输入:当前几何状态 {r, λ, γM, δ}
- 参数:导弹速度 vM(常数)
- 输出:状态变化率 {ṙ, λ̇, γ̇M, δ̇}
如果画成计算图会是什么样子?
第三步:代入 PN 律——从开环到闭环的关键一跃
现在我们已经了解了运动学的前向传播。接下来要解决的认知疑点是:比例导引律这个"反馈信号"是怎么插进运动学方程的?
教材式 (5.1) 定义了 PN 律:
γ̇<sub>Mc</sub> = N λ̇
假设导弹动力学理想(无时滞),则实际航向变化率等于指令:γ̇M = N λ̇。把它代入运动学方程 ©:
N λ̇ = λ̇ + δ̇
=> δ̇ = (N - 1) λ̇ (D)
这就是闭环后的第一个关键结果。它告诉我们:在 PN 控制下,前置角 δ 的变化率与视线转动率成正比,比例系数是 (N-1)。
如果 N = 1,δ̇ = 0,前置角恒定——导弹始终对准目标,这就是纯追踪。
如果 N > 1,导弹在转弯时"提前量"不断积累,轨迹越来越直。
第四步:静止目标的闭式解——分离变量法的"啊哈"时刻
现在我们已经了解了闭环关系 δ̇ = (N-1)λ̇。接下来要解决的认知疑点是:能不能直接写出 r(λ) 的函数,而不必数值积分?
能。教材式 (5.7) 和 (5.8) 给出了静止目标下的闭式解。我们来看看这条生产线怎么运作。
第一步:从式 (B) 和式 (D) 消去时间 t。
由 (B):dλ/dt = -vM sin δ / r
由 (D):dδ/dt = (N-1) dλ/dt
两式相除,dt 被消掉:
dδ/dλ = N - 1
=> δ = δ<sub>0</sub> + (N-1)(λ - λ<sub>0</sub>) (E)
第二步:把 δ(λ) 代回式 (B),分离变量。
r dλ = -v<sub>M</sub> sin[δ<sub>0</sub> + (N-1)(λ-λ<sub>0</sub>)] dt
但我们需要 r 作为 λ 的函数,而不是 t 的函数。利用式 (A) 消去 dt:
dr/dλ = (ṙ)/(λ̇) = [-v<sub>M</sub> cos δ] / [-v<sub>M</sub> sin δ / r] = r cot δ
第三步:分离变量并积分。
dr/r = cot δ dδ
∫(1/r)dr = ∫cot δ dδ
ln(r/r<sub>0</sub>) = (1/(N-1)) ln[ sin(δ<sub>0</sub>+(N-1)(λ-λ<sub>0</sub>)) / sin δ<sub>0</sub> ]
指数化后得到教材式 (5.7):
r/r<sub>0</sub> = [ sin(δ<sub>0</sub> + (N-1)(λ-λ<sub>0</sub>)) / sin δ<sub>0</sub> ]<sup>1/(N-1)</sup>
第四步:求加速度 aM。
由 PN 律 aM = N vM λ̇,再把式 (B) 的 λ̇ 和式 (5.7) 的 r/r0 代入,得到式 (5.8):
a<sub>M</sub> = [N v<sub>M</sub>² sin δ<sub>0</sub> / r<sub>0</sub>] (r/r<sub>0</sub>)<sup>N-2</sup>
如果画成推导依赖图会是什么样子?
第五步:N = 2 的临界奇迹——为什么这个点如此特殊?
现在我们已经了解了闭式解。接下来要解决的认知疑点是:当导弹接近目标(r → 0)时,加速度 aM 会爆炸还是归零?这完全取决于 N 的取值?
看式 (5.8) 的 (r/r₀)^(N-2) 项:
| N 的范围 | r → 0 时 (r/r₀)^(N-2) 的行为 | aM 的极限 | 物理意义 |
|---|---|---|---|
| N < 2 | 指数 < 0,项 → ∞ | aM → ∞ | 不可能实现,导弹拉断也追不上 |
| N = 2 | 指数 = 0,项 = 1 | aM = 2vM²/r₀ sin δ₀ = 常数 | 完美!全程匀速圆周 |
| N > 2 | 指数 > 0,项 → 0 | aM → 0 | 越来越轻松,优雅收敛 |
这就是教材反复强调的:N = 2 是动力学临界点。它把参数空间切成了"可行区"和"不可行区"。
如果画成图会是什么样子?想象一个开关:
第六步:剩余时间变换——把时域方程变成 τ 域的"归一化"
现在我们已经了解了平面闭式解。接下来要解决的认知疑点是:如果目标也在动,或者我们想看看"距离碰撞还有多久"时的行为,怎么简化微分方程?
教材 5.4 节引入了一个神来之笔:剩余时间 τ = tf - t。同时假设接近速度 vC = -ṙ 为常数(NCC 假设),于是 r = vC τ。
把式 (A) 和 (B) 合并,并代入 PN 律,得到 TPN 的微分方程 (5.14):
r ω̇ + 2 ω ṙ + k ω = 0
其中 ω = λ̇。注意到 ṙ = -vC,且 d/dt = -d/dτ(因为 τ 随时间倒流),方程变为 (5.15):
v<sub>C</sub> τ dω/dτ + (2v<sub>C</sub> - k) ω = 0
这是可分离变量的一阶线性 ODE。把含 ω 的放一边,含 τ 的放一边:
dω/ω = [(k - 2v<sub>C</sub>) / (v<sub>C</sub> τ)] dτ
积分后得到教材式 (5.16):
ω(τ) = ω<sub>0</sub> (τ / t<sub>f</sub>)<sup>(k/v<sub>C</sub> - 2)</sup>
教材定义了有效导引常数 N’:
N' ≜ k / v<sub>C</sub> = N v<sub>M</sub> / v<sub>C</sub>
于是式 (5.16) 写成更简洁的幂律形式:
ω(τ) = ω<sub>0</sub> (τ / t<sub>f</sub>)<sup>N'-2</sup>
如果画成图会是什么样子?想象时间轴被"翻转"了:
第七步:零控脱靶量——把几何直觉翻译成制导指令
现在我们已经了解了 τ 域的幂律解。接下来要解决的认知疑点是:能不能不用解微分方程,直接根据"如果现在撒手不管,会脱靶多远"来生成指令?
这就是教材式 (5.19) 和 (5.20) 的零控脱靶量(Zero Effort Miss, ZEM) 思想。
假设在时刻 t,导弹突然关闭发动机,以当前状态惯性飞行剩余时间 τ。横向位移的线性外推是:
m(t, τ) = y(t) + ẏ(t) τ
这里 y = r λ 是垂直于参考视线的横向距离。如果 m = 0,说明导弹正沿着一条完美碰撞路线飞行。
教材把 TPN 的加速度指令表示为:
a<sub>Mc</sub>(t) = N' m(t, τ) / τ²
这个公式的美在于它的物理直觉:加速度正比于"预期脱靶量",反比于"剩余时间的平方"。就像你开车时发现要撞墙了,距离墙越远、时间越充裕,你打方向的力度就越小;但时间越紧迫,哪怕偏离一点点也需要极大的修正力。
如果画成图会是什么样子?
第八步:三维向量分解——从标量到矩阵的跃迁
现在我们已经了解了平面推导的全部链条。接下来要解决的认知疑点是:如果把战场扩展到三维,所有标量公式怎么升级成向量运算?
教材 5.6 节给出了三维 PN 的向量生产线。我们一步一步来。
第一步:定义视线角速度向量 w(式 5.36)
w = (r × ṙ) / r² = [r × (v<sub>T</sub> - v<sub>M</sub>)] / r² = [r × (-v<sub>C</sub>)] / r²
这里 r 和 vC 都是三维向量,× 是叉乘。w 的方向是视线转动的瞬时轴,大小是转动角速率。就像刚体动力学里的角速度矢量。
第二步:分解接近速度(式 5.38 的前置步骤)
把 vC 分解为平行于视线和垂直于视线的分量:
v<sub>C</sub> = v<sub>C∥</sub> + v<sub>C⊥</sub>
v<sub>C∥</sub> = (v<sub>C</sub> · l<sub>r</sub>) l<sub>r</sub>
v<sub>C⊥</sub> = v<sub>C</sub> - v<sub>C∥</sub>
其中 lr = r / ||r|| 是视线单位向量。vC⊥ 是"让视线转动"的罪魁祸首。
第三步:TPN 的三维形式(式 5.38)
a<sub>Mc,TPN</sub> = -(k / r) v<sub>C⊥</sub>
太漂亮了!加速度只与垂直于视线的接近速度分量成正比,方向恰好是消除这个分量。这就像注意力机制里的残差修正:看到目标偏离视线的速度有多大,就产生一个反向加速度把它拉回来。
第四步:PPN 的三维形式(式 5.34)
a<sub>Mc,PPN</sub> = N (w × v<sub>M</sub>)
PPN 的加速度垂直于导弹自身的速度 vM。教材证明了一个关键性质:aMc,PPN 始终与 r 和 vC 共面。这个平面被称为交会平面。也就是说,PPN 把三维问题约束在了一个二维流形上。
如果画成向量分解图会是什么样子?
第九步:TPN vs PPN 的统一公式——Γ 角是唯一的差异源
现在我们已经了解了两种导引律的向量形式。接下来要解决的认知疑点是:能不能用一个公式统一 TPN 和 PPN,让我们一眼看出它们差在哪里?
教材式 (5.24) 给出了这个统一框架:
N' ≜ k cos Γ / v<sub>C</sub> = N v<sub>M</sub> cos Γ / v<sub>C</sub>
这里的 Γ 是加速度指令 aM 与视线法线之间的夹角。
- 对 TPN:加速度垂直于视线,所以 Γ = 0,cos Γ = 1。N’ = N vM / vC。
- 对 PPN:加速度垂直于 vM,而 vM 与视线的夹角是 δ,所以 Γ = δ。N’ = N vM cos δ / vC。
关键洞察:PPN 的有效增益会随着前置角 δ 增大而衰减(乘以 cos δ)。当 δ → 90° 时,PPN 几乎失去控制能力;而 TPN 始终保持满增益。这就像神经网络里的梯度消失——信号经过一层非对齐变换后被打折了。
如果画成统一公式图会是什么样子?
第十步:机动目标的对抗推导——末端需要多少过载?
现在我们已经了解了非机动目标的全部推导。接下来要解决的认知疑点是:如果目标突然横向机动(比如飞机急转弯),导弹的加速度需求会怎么变化?
教材 5.4.4 节的结论 (3) 和式 (5.27)~(5.28) 给出了答案。
假设目标以恒定横向加速度 aT 机动,导弹需要以 aM 应对。在 PN 控制下,加速度比满足:
a<sub>M</sub>(τ) / a<sub>T</sub> = [N' / (N' - 2)] [1 - (τ/t<sub>f</sub>)<sup>N'-2</sup>]
当 τ → 0(即将碰撞)时,第二项趋于零,得到极限比值(式 5.28):
(a<sub>M</sub> / a<sub>T</sub>)<sub>f</sub> = N' / (N' - 2)
这就是著名的"3 倍过载法则"的来源:当 N’ = 3 时,导弹需要的末端横向加速度是目标的 3 倍。当 N’ = 4 时,是 2 倍;当 N’ → ∞ 时,比值趋于 1(理论上导弹只需和目标一样机动,但前面需要无穷大的初始过载)。
如果画成图会是什么样子?教材图 5.9 展示了不同 N’ 下 aM/aT 随时间的变化曲线:
第十一步:全章公式依赖关系总图
好了,现在我们已经把第 5 章所有核心推导走了一遍。在继续之前,让我们停下来,把整条生产线画成一张计算图。如果你以后想修改某个假设(比如"如果 PN 律不是 γ̇ = Nλ̇ 而是别的形式"),你能立刻看到哪些下游公式会跟着变。
第十二步:结构化伪代码——把推导流程算法化
如果你希望把上述全部推导写成一段可执行的"数学推导引擎",下面这段结构化伪代码把整个流程封装了起来。注意它不只是"计算加速度",而是复现了从几何假设到闭式解的完整推理链。
Algorithm: PN Derivation Engine (Reproduce Chap. 5 Core Results)
Input: 初始状态 {r<sub>0</sub>, λ<sub>0</sub>, δ<sub>0</sub>, v<sub>M</sub>},
导引系数 N,
目标模式 mode ∈ {Static, ConstantVelocity, Maneuvering},
目标机动参数 {v<sub>T</sub>, a<sub>T</sub>}
Output: 闭式解集合 S = {r(λ), a<sub>M</sub>(τ), N', a<sub>M</sub>/a<sub>T</sub>}
// 第一步:建立几何地基
assert δ<sub>0</sub> = γ<sub>M0</sub> - λ<sub>0</sub>
// 第二步:选择运动学分支
if mode == Static then
// 静止目标:使用式 (5.6) 平面运动学
// 前向关系:ṙ = -v<sub>M</sub> cos δ, rλ̇ = -v<sub>M</sub> sin δ
// 第三步:闭环代入 PN 律
// γ̇<sub>M</sub> = N λ̇ 代入 γ̇<sub>M</sub> = λ̇ + δ̇
δ_dot ← (N - 1) * λ_dot
// 第四步:消去时间变量,分离变量积分
// dδ/dλ = N - 1 => δ = δ<sub>0</sub> + (N-1)(λ - λ<sub>0</sub>)
δ_func ← λ ↦ δ<sub>0</sub> + (N-1)(λ - λ<sub>0</sub>)
// dr/dλ = r cot δ(λ)
// ∫ dr/r = ∫ cot(δ(λ)) dλ
// 变量替换 u = δ(λ), du = (N-1) dλ
// => ln(r/r<sub>0</sub>) = (1/(N-1)) ln[ sin(δ(λ)) / sin(δ<sub>0</sub>) ]
r_sol ← λ ↦ r<sub>0</sub> * [ sin(δ(λ)) / sin(δ<sub>0</sub>) ]<sup>1/(N-1)</sup>
// 第五步:求加速度
// a<sub>M</sub> = N v<sub>M</sub> λ̇ = N v<sub>M</sub> (-v<sub>M</sub> sin δ / r)
// 代入 r_sol 得
a_sol ← λ ↦ [N v<sub>M</sub>² sin(δ<sub>0</sub>) / r<sub>0</sub>] * [r_sol(λ)/r<sub>0</sub>]<sup>N-2</sup>
// 第六步:N = 2 临界分析
if N == 2 then
a_const ← 2 * v<sub>M</sub>² * sin(δ<sub>0</sub>) / r<sub>0</sub>
print "临界状态:a<sub>M</sub> = ", a_const, " (常数)"
print "轨迹为圆,半径 = r<sub>0</sub> / (2 sin δ<sub>0</sub>)"
else if N < 2 then
print "警告:N < 2,末端加速度发散,不可实现"
end
S ← S ∪ {r_sol, a_sol}
else if mode == ConstantVelocity || mode == Maneuvering then
// 非静止目标:使用 NCC 假设 + τ 变换
v<sub>C</sub> ← v<sub>M</sub> - v<sub>T</sub> // 接近速度向量
v<sub>C_norm</sub> ← ||v<sub>C</sub>||
// 第七步:定义有效导引常数
k ← N * v<sub>M</sub> // 平面标量增益
N_prime ← k / v<sub>C_norm</sub> // 式 (5.17)
// 第八步:τ 域 ODE 求解
// v<sub>C</sub> τ dω/dτ + (2v<sub>C</sub> - k) ω = 0
// => dω/ω = (k/v<sub>C</sub> - 2) dτ/τ = (N' - 2) dτ/τ
// => ω(τ) = ω<sub>0</sub> (τ/t<sub>f</sub>)<sup>N'-2</sup>
ω_sol ← τ ↦ ω<sub>0</sub> * (τ/t<sub>f</sub>)<sup>N_prime-2</sup>
// 第九步:零控脱靶量形式(TPN 近似)
// y = r λ, m = y + ẏ τ
// a<sub>Mc</sub> = N' m / τ²
a_zem ← (y, y_dot, τ) ↦ N_prime * (y + y_dot * τ) / τ²
// 第十步:机动目标加速度比
if mode == Maneuvering then
// a<sub>M</sub>/a<sub>T</sub> = [N'/(N'-2)] [1 - (τ/t<sub>f</sub>)<sup>N'-2</sup>]
ratio ← τ ↦ [N_prime/(N_prime-2)] * [1 - (τ/t<sub>f</sub>)<sup>N_prime-2</sup>]
ratio_f ← N_prime / (N_prime - 2) // τ→0 极限
print "末端加速度比 a<sub>M</sub>/a<sub>T</sub> = ", ratio_f
if N_prime == 3 then
print "经典 3 倍过载法则成立"
end
S ← S ∪ {ω_sol, a_zem, ratio, ratio_f}
else
S ← S ∪ {ω_sol, a_zem}
end
// 第十一步:稳定性校验
if N_prime <= 2 then
TriggerWarning("有效导引常数 N' ≤ 2,视线角速率 ω 在末端发散")
end
end
// 第十二步:三维向量扩展(如果请求)
if dim == 3 then
l_r ← r_vec / ||r_vec||
w_vec ← (r_vec × v<sub>C</sub>_vec) / ||r_vec||²
// TPN:提取垂直分量
v_C_parallel ← (v<sub>C</sub>_vec · l_r) * l_r
v_C_perp ← v<sub>C</sub>_vec - v_C_parallel
a_tpn ← -(k / ||r_vec||) * v_C_perp
// PPN:叉乘导弹速度
a_ppn ← N * (w_vec × v<sub>M</sub>_vec)
// 共面校验(PPN 性质)
scalar_triple ← v<sub>C</sub>_vec · (r_vec × a_ppn)
if |scalar_triple| < ε then
print "PPN 验证通过:a<sub>M</sub>, r, v<sub>C</sub> 共面"
end
S ← S ∪ {a_tpn, a_ppn}
end
return S
闭环:推导的物理边界与工程翻译
好了,我们已经把第 5 章的推导大厦一块砖一块砖地砌完了。在结束之前,让我们用工程师的视角回答:这些推导在实际中意味着什么?
1. N’ > 2 是硬边界,不是建议
从式 (5.16) 的幂律解 ω ∝ τ^(N'-2) 可以看出,N’ = 2 是奇点。小于 2 时,视线角速率在末端爆炸,导弹需要无限大的过载。这解释了为什么所有实战导弹的 N 都选 3~5——不是为了保守,而是为了保证数学收敛。
2. N’ = 3 是能量最优,不是巧合
式 (5.25) 的注指出:当 N’ = 3 时,控制能量 ∫ aM² dτ 达到最小。同时式 (5.28) 给出末端加速度比恰好是 3。这两个"3"的交汇不是偶然,而是最优控制理论在 PN 框架下的自然涌现。
3. TPN 是"理想模型",PPN 是"工程实现"
从统一公式 N’ = N vM cos Γ / vC 可以看出,TPN(Γ = 0)保持恒定有效增益,适合理论分析;PPN(Γ = δ)的增益随前置角衰减,但它在三维中天然约束在交会平面内,且对初始条件不敏感。因此论文里用 TPN,战场上用 PPN。
4. 零控脱靶量是现代制导的通用语言
式 (5.20) a = N' m / τ² 的思想早已超越 PN,被广泛应用于最优制导律(如 APN、IPN)和模型预测控制。它把"微分方程求解"翻译成"预测-修正"的直观逻辑,是工程上最友好的表达形式。
444



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



