4. 纯比例导引(PPN):制导律推导、速度前置角与弹道特性

各位同学,今天我们来聊聊纯比例导引。说实话,PPN 是我个人最早接触的制导律之一。记得刚入行那会儿,带我的老工程师跟我说:“你先把这个搞透,后面那些花里胡哨的算法才有根。” 我当时还不信,后来踩了不少坑才明白——PPN 虽然简单,但它是理解所有比例导引变体的基石。

4.1 PPN 的制导律推导

纯比例导引的核心思想,说白了就一句话:导弹的转弯角速度,与视线角速度成正比。用数学表达就是:

a_m = N * V_c * λ_dot

其中:

  • a_m —— 导弹的横向加速度指令(垂直于视线方向)
  • N —— 导航比,通常取 3~5
  • V_c —— 接近速度(导弹-目标相对速度在视线方向的分量)
  • λ_dot —— 视线角速率

为什么会是这个形式?我建议你这样理解:视线角速率 λ_dot 代表了目标相对于导弹的“转动快慢”。如果目标在视野里快速移动,说明当前弹道偏差大,需要猛打舵;如果目标几乎不动,说明弹道已经对准了,微调就行。

嗯,这里要注意一点:PPN 的加速度指令是垂直于视线的,而不是垂直于速度方向。这一点和后面要讲的 APN(增广比例导引)不同。我在项目中见过有人把这两个搞混,结果仿真出来的弹道歪歪扭扭,查了半天才发现是坐标系搞错了。

4.2 速度前置角与弹道特性

速度前置角(Lead Angle)是理解 PPN 弹道特性的关键。它定义为:

η = θ_m - λ

其中 θ_m 是导弹速度方向角,λ 是视线角。说白了,前置角就是导弹指向与目标视线之间的夹角

PPN 的一个核心特性是:在理想条件下(目标匀速直线运动、导弹速度恒定),前置角会收敛到一个常值。这个常值是多少?取决于导航比 N:

导航比 N 稳态前置角 η_ss 弹道特性
2 发散(不稳定) 脱靶量极大,基本打不中
3 约 30° 弹道较弯曲,过载需求适中
4 约 20° 弹道平直,过载需求小
5 约 15° 弹道非常平直,但初始段过载大

我个人习惯用 N=4。为什么?因为 N=3 时弹道太弯,容易在末端出现大过载;N=5 时初始段过载又太大,对舵机要求高。N=4 是个折中,弹道平直且过载分布均匀。当然,这只是经验值,具体选多少还得看你的导弹动力学特性。

核心结论:PPN 的弹道特性由导航比 N 主导。N 越大,弹道越平直,但初始过载越大;N 越小,弹道越弯曲,末端过载越大。N 必须大于 2,否则制导系统不稳定。

4.3 仿真案例分析

光说不练假把式。我们来看一个具体的仿真案例。假设:

  • 导弹初始位置 (0, 0),速度 300 m/s,初始航向角 0°
  • 目标初始位置 (5000, 5000),速度 100 m/s,航向角 180°(迎头飞来)
  • 导航比 N=4

下面是一个简单的 Python 仿真代码,用欧拉法积分:

import numpy as np

# 参数设置
dt = 0.01  # 仿真步长
N = 4      # 导航比

# 初始状态
xm, ym = 0.0, 0.0
vm = 300.0
theta_m = 0.0  # 导弹航向角

xt, yt = 5000.0, 5000.0
vt = 100.0
theta_t = np.pi  # 目标航向角(180°)

# 仿真循环
for i in range(1000):
    # 计算视线角
    dx = xt - xm
    dy = yt - ym
    R = np.sqrt(dx**2 + dy**2)
    lam = np.arctan2(dy, dx)
    
    # 计算视线角速率(用差分近似)
    if i > 0:
        lam_dot = (lam - lam_prev) / dt
    else:
        lam_dot = 0.0
    
    # 计算接近速度
    Vc = vm * np.cos(theta_m - lam) + vt * np.cos(theta_t - lam)
    
    # PPN 制导指令
    a_m = N * Vc * lam_dot
    
    # 更新导弹状态
    theta_m += (a_m / vm) * dt
    xm += vm * np.cos(theta_m) * dt
    ym += vm * np.sin(theta_m) * dt
    
    # 更新目标状态
    xt += vt * np.cos(theta_t) * dt
    yt += vt * np.sin(theta_t) * dt
    
    lam_prev = lam
    
    # 判断是否命中
    if R < 10.0:
        print(f"命中!步数: {i}")
        break

运行这个仿真,你会发现几个有意思的现象:

  1. 初始段弹道弯曲:导弹刚发射时,视线角速率较大,导弹会猛转弯去对准目标。这很正常,别慌。
  2. 中段弹道平直:一旦前置角收敛到稳态值,弹道就变得很平直,过载也小。
  3. 末端可能抖动:如果目标做机动,或者导航比选得太小,末端会出现过载振荡。我曾经在项目中遇到过这种情况,最后发现是 N 选成了 2.5,改成 4 就好了。
避坑指南:我曾经在仿真中把视线角速率 λ_dot 直接取差分,结果噪声放大了好几倍,制导指令抖得像筛子。后来改用卡尔曼滤波估计 λ_dot,效果立竿见影。所以,实际工程中千万别直接用差分,一定要加滤波。

4.4 PPN 的知识体系与核心逻辑

为了让大家更直观地理解 PPN 的整个知识脉络,我画了一张图:

纯比例导引(PPN)知识体系 核心公式 a_m = N · V_c · λ_dot 制导律推导 • 视线角速率 λ_dot 计算 • 接近速度 V_c 求解 • 导航比 N 的物理意义 • 加速度方向:⊥ 视线 速度前置角 η • η = θ_m - λ • 稳态前置角与 N 的关系 • 前置角收敛条件 • 弹道弯曲程度指标 弹道特性 • N=2 不稳定(发散) • N=3 弹道弯曲 • N=4 折中(推荐) • N=5 初始过载大 仿真验证 → 命中精度评估

这张图把 PPN 的核心逻辑串起来了:从公式出发,衍生出前置角分析和弹道特性分析,最后用仿真验证。你想想看,是不是所有制导律的学习都可以套用这个框架?

重要提醒:PPN 虽然简单好用,但它有个致命弱点——对目标机动没有预测能力。如果目标做大过载机动,PPN 的脱靶量会急剧增大。这时候就需要引入预测制导了,这也是我们后面几章要讲的内容。不过,先把 PPN 吃透,后面的融合技术才能理解得更深。

好了,关于 PPN 的内容就讲到这里。记住:导航比 N 是灵魂,前置角是窗口,仿真验证是试金石。下次你在项目中遇到制导律选型的问题,不妨先从 PPN 开始试起,往往能解决 80% 的问题。


专注资料整理