2. LTspice中的统计分布:高斯分布与均匀分布的定义与参数设置

做蒙特卡洛分析,说白了就是给电路参数加「随机扰动」。但随机不是乱来——你得告诉LTspice:扰动长什么样?范围多大?集中还是分散?

这就引出了两种最基本的统计分布:高斯分布和均匀分布。我个人习惯把它们比作「靶心分布」和「地毯分布」——一个围着目标值聚集,一个在区间内平铺。下面我们一个一个说清楚。

2.1 高斯分布(Gaussian / Normal Distribution)

高斯分布,也叫正态分布,是自然界最常见的分布。电阻的阻值偏差、晶体管的阈值电压漂移、运放的失调电压……这些参数偏差基本都服从高斯分布。

2.1.1 数学定义

高斯分布由两个参数决定:

  • 均值 μ(Mean):分布的中心位置,也就是标称值。
  • 标准差 σ(Standard Deviation):分布的离散程度,σ 越大,曲线越「胖」。

概率密度函数长这样:

f(x) = (1 / (σ * √(2π))) * exp(-(x - μ)² / (2σ²))

嗯,公式看着有点吓人。但在LTspice里你根本不用手算——只需要告诉它 μ 和 σ 就行。

2.1.2 在LTspice中的参数设置

LTspice用 gauss(x) 函数生成高斯分布随机数。这里的 x 不是标准差,而是 3σ 值。什么意思?

关键规则: gauss(x) 生成的随机数,99.7% 落在 [-x, +x] 区间内。也就是说,x = 3σ。

举个例子:

R1 1 0 {10k + gauss(0.3k)}

这表示一个标称值 10kΩ 的电阻,3σ 偏差为 0.3kΩ。换算一下:

  • σ = 0.3k / 3 = 0.1kΩ
  • 约 68% 的样本落在 9.9kΩ ~ 10.1kΩ 之间
  • 约 95% 的样本落在 9.8kΩ ~ 10.2kΩ 之间
  • 约 99.7% 的样本落在 9.7kΩ ~ 10.3kΩ 之间

我的习惯: 做电阻偏差分析时,我一般用 1% 精度电阻的 3σ 值。比如 10kΩ 1% 电阻,3σ = 0.1kΩ,写成 gauss(0.1k)。这样仿真出来的分布才贴近真实器件。

2.1.3 高斯分布的特点

特性 说明
对称性 均值两侧完全对称
集中性 大部分样本集中在均值附近
3σ 原则 99.7% 的样本落在 ±3σ 内
适用场景 电阻、电容、晶体管参数、运放失调

2.2 均匀分布(Uniform Distribution)

均匀分布就简单多了——在指定区间内,每个值出现的概率完全相等。没有「中间多、两边少」的说法。

2.2.1 数学定义

均匀分布由两个参数决定:

  • 下限 a:最小值
  • 上限 b:最大值

概率密度函数:

f(x) = 1 / (b - a),  a ≤ x ≤ b

说白了,就是一条水平线。

2.2.2 在LTspice中的参数设置

LTspice用 flat(x) 函数生成均匀分布随机数。x 表示 半区间宽度,生成的随机数落在 [-x, +x] 内。

举个例子:

R1 1 0 {10k + flat(0.1k)}

这表示电阻值在 9.9kΩ ~ 10.1kΩ 之间均匀分布。每个值出现的概率都一样。

注意: flat(x) 的区间是 [-x, +x],不是 [0, x]。如果你想要 10kΩ ~ 10.2kΩ 的均匀分布,得写成 {10.1k + flat(0.1k)}。

2.2.3 均匀分布的特点

特性 说明
等概率 区间内每个值概率相同
无聚集 没有「中间多两边少」
边界明确 有严格上下限
适用场景 量化误差、初始条件、最坏情况分析

2.3 两种分布的对比

我经常被问到:「什么时候用高斯,什么时候用均匀?」

我的回答是:看器件手册。如果手册给了标准差或 3σ 值,用高斯;如果只给了范围(比如 ±5%),用均匀。

对比维度 高斯分布 均匀分布
LTspice函数 gauss(x) flat(x)
参数含义 x = 3σ x = 半区间宽度
样本分布 中间密、两边疏 均匀分布
极端值概率 极低 与中间值相同
典型应用 器件参数偏差 最坏情况分析

2.4 知识结构图

下面这张图帮你理清两种分布的核心逻辑:

LTspice 统计分布核心逻辑 统计分布 高斯分布 均匀分布 LTspice: gauss(x) x = 3σ 中间密两边疏 LTspice: flat(x) x = 半区间宽 等概率分布 💡 选择建议 手册给标准差 → 高斯分布(gauss) 手册给范围 → 均匀分布(flat)

2.5 实战小技巧

最后分享几个我在项目中踩过的坑:

  • 别把 gauss(x) 当标准差用。 我见过有人写 gauss(0.01) 以为 σ=0.01,结果仿真出来的分布窄得离谱——因为实际 σ 只有 0.0033。
  • 均匀分布也能模拟高斯。 如果你不确定器件偏差的分布类型,用均匀分布做最坏情况分析更安全。虽然结果偏保守,但不会漏掉极端情况。
  • 检查随机种子。 LTspice 每次仿真用的随机数种子不同。如果你发现两次仿真结果完全一样,检查一下是否忘了加 .option mc_seed= 或者种子值被固定了。

我的经验: 做蒙特卡洛分析前,先用 10 次仿真跑一下,看看参数分布是否合理。如果 gauss(0.3k) 出来的电阻值全在 9.99k~10.01k 之间,那肯定写错了——赶紧检查 x 值是不是设成了 σ 而不是 3σ。