Banerjee 参考杂散与分数杂散分析
本文基于 Dean Banerjee PLL Performance Simulation and Design 深度解析 第 11-13 章提炼。Banerjee 在参考杂散建模方面做出了本书最突出的贡献——提出了经验杂散模型(BaseLeakageSpur / BasePulseSpur),结合 Spice 级仿真推导与大量 National Semiconductor 产品实测数据验证。
前后关系
前置知识:
- Banerjee PLL基础与系统概述 — PLL 基本结构与杂散初步概念
- Banerjee 环路滤波器系数与传递函数 — Spur Gain 计算依赖传递函数框架
本书内部链条:
- Ch.11-13(本文)→ Ch.26 (环路滤波器参数对杂散的影响)
- → Ch.14-15 (相位噪声与杂散的关联)
- → Ch.27 (Gamma 优化间接影响杂散性能)
Ch.11: Reference Spurs and their Causes
参考杂散成因
参考杂散出现在比较频率 整数倍偏移处的离散噪声,由以下三大机制引起:
- 泄漏电流(Leakage Current):电荷泵/电容/其它器件的泄漏导致 VCO 调谐电压周期性波动
- 电荷泵时序失配:源/沉电流不匹配、开关延迟差异
- 电源/VCO 耦合:通过电源和基板的耦合路径
杂散增益(Spur Gain)
杂散在 PLL 内的传输特性由闭环传递函数决定。参考频率 处的杂散增益:
泄漏主导杂散模型(Leakage Dominated)
这是 Banerjee 全书最著名的贡献。推导基于简化的电容型环路滤波器:
其中 BaseLeakageSpur ≈ 16.0 dBc 为通用常数,与具体 PLL 型号无关!
推导要点:
- 泄漏电流引起 VCO 调谐电压三角形波动 → 频率调制
- 与正弦波调制对比,三角形波的傅立叶系数修正给出 -3.92 dB 因子
- BaseLeakageSpur 理论值 19.9 dBc,三角形波修正后 ≈ 16.0 dBc(与实测高度一致)
详细理论推导:
- 正弦波调制基准:若 ,窄带 FM 的一阶杂散幅度为 ,其中
- 三角形波修正:泄漏电流在 上充放电产生 三角形波 ,其傅立叶展开基波幅度为 ,相比正弦波幅度 的比值为 ( dB)
- 代入得:
- 经验常数凝聚: dBc(理论值),三角形波修正 dB → dBc
脉冲主导杂散模型(Pulse Dominated)
当泄漏电流很小时,电荷泵校正脉冲成为主导杂散源:
BasePulseSpur 为经验值,不同 PLL 系列在 -290 至 -340 dBc 之间。
BasePulseSpur 范围与 PLL 芯片的关系:
| PLL 系列 | 典型 BasePulseSpur | 特点 |
|---|---|---|
| LMX2306(低功耗) | dBc | 脉冲宽度大、 小 |
| LMX2315(中等性能) | dBc | 最典型值,适用于多数估算 |
| LMX2325(高频) | dBc | 脉冲宽度小、 大 |
| LMX2541(集成 VCO) | dBc | 集成度高、寄生耦合小 |
工程建议:设计中若无具体测量数据,使用 dBc 作为保守估计(实测偏差在 dB 内)。
临界频率(Critical Frequency)
泄漏主导与脉冲主导交界处的频率:
- 杂散频率 < Fcrit:泄漏主导
- 杂散频率 > Fcrit:脉冲主导
工程估算:典型 PLL 设计中, 在 kHz 范围,即接近环路带宽附近。
谐波杂散
高阶谐波的 BasePulseSpur 每阶约改善 4-5 dB。
谐波修正详细值(基于 LMX2315 实测)
| 谐波阶次 | 相对基波的修正 (dB) | 累积 BasePulseSpur | 物理机理 |
|---|---|---|---|
| 1st (基波) | dBc | 校正脉冲主频谱分量 | |
| 2nd | dBc | 脉冲对称性产生的偶次分量 | |
| 3rd | dBc | 奇次谐波脉冲形状修正 | |
| 4th | dBc | 高阶分量滚降加速 | |
| 5th | dBc | 接近噪声基底 |
应用:当关注的杂散频率恰好在 或 时,可使用对应的谐波修正值获得更精确的杂散估计。
Bessel 修正
当杂散水平低于 -10 dBc 时,Bessel 修正因子 < 0.15 dB,可安全忽略。
BasePulseSpur 经验常数的 SPICE 提取方法
BasePulseSpur 是 Banerjee 杂散模型中最核心的经验常数,其值通过 SPICE 瞬态仿真 + 频域变换提取。以下是从仿真到常数提取的完整流程。
SPICE 瞬态仿真设置
- 激励条件:置 PFD 输入为同频同相(锁定状态),仅保留死区消除电路的复位脉冲
- 仿真时长:(至少 100 个参考周期,确保稳态)
- 精度控制:
maxstep = T_{comp}/200,reltol = 1e-6,vntol = 1e-9 - 输出截取:提取 CP 输出电流 在最后一个参考周期内的时域波形
仿真设置示例(Spectre):
tran stop=100u maxstep=0.1n
.save I(VCP) V(vtune)
取最后 10 个周期做平均 → 提取脉冲参数
脉冲波形到杂散的频域变换
提取的 CP 脉冲波形 通过 FFT 变换到频域:
脉冲参数提取:
| 脉冲参数 | 定义 | 典型值(LMX2315, mA) |
|---|---|---|
| 脉冲宽度(FWHM) | ns | |
| 脉冲峰值电流 | mA(标称 ) | |
| 上升时间(10%-90%) | ps | |
| 下降时间(90%-10%) | ps | |
| 注入电荷量 | pC |
BasePulseSpur 的归一化提取公式
从仿真杂散 中反推出与 PLL 参数无关的 BasePulseSpur:
不同 CP 拓扑的 BasePulseSpur 典型值:
| CP 拓扑 | 精度 | ||||
|---|---|---|---|---|---|
| 单端 NMOS | ns | mA | pC | dBc | dB |
| 差分(基本) | ns | mA | pC | dBc | dB |
| 差分 + Cascode | ns | mA | pC | dBc | dB |
| 动态匹配 | ns | mA | pC | dBc | dB |
实测 vs 仿真对比验证
验证流程:同一 PLL 设计分别进行 SPICE 仿真和 bench 测试:
| 设计 | SPICE 预测 | 实测 | 偏差 | 结论 |
|---|---|---|---|---|
| LMX2315 + 二阶滤波器 | dBc | dBc | dB | ✅ 吻合 |
| LMX2325 + 三阶滤波器 | dBc | dBc | dB | ✅ 吻合 |
| LMX2306 + 二阶滤波器 | dBc | dBc | dB | ⚠️ 偏大(CP 失配贡献) |
偏差根源分析:
- CP 失配贡献的低频分量未被脉冲模型捕获 → 增加 项修正
- 基板耦合在仿真的 Pulse 模型中被忽略 → 对齐偏差 dB
- 温度变化导致 变化 → 稳态仿真取多个温度点的几何平均
工程规则:
- BasePulseSpur 应在多个 和 条件下计算后取平均
- 对于新设计,先提取 BasePulseSpur,再使用公式 快速预测杂散
- 单次提取的不确定性 dB,5 次取平均后降至 dB
- 温度每升高 C,BasePulseSpur 典型恶化 dB
Ch.12: Fractional Spurs and their Causes
分数杂散特点
分数 N PLL 的杂散出现在 信道间隔 的整数倍偏移处(尽管比较频率高得多)。
带内杂散(In-Band Spurs)
分数 N PLL 的独特性质:环路带宽内也能存在杂散且系统保持稳定。未补偿时带内分数杂散可达到载波水平(0 dBc)。
滚降(Rolloff)
环路滤波器对分数杂散的抑制量:
未补偿分数杂散(Uncompensated Fractional Spurs)
当分数 N PLL 禁用补偿电路时,VCO 在两个频率间切换,输出频谱为调制信号频谱的频移副本。分数杂散的对称性:FNUM 和 FDEN-FNUM 产生相同杂散谱。
分数杂散 Chart(Table 12.1)
| 杂散阶数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 功率(dBc) | 0.0 | -6.0 | -9.5 | -12.0 | -14.0 | -15.6 | -16.9 | -18.1 | -19.1 | -20.0 |
最坏情况(0 dBc)发生在 FNUM=1 或 FDEN-1 时。
分数杂散与 ΔΣ 调制器的关系
使用 ΔΣ 调制器后,分数杂散的带内行为发生显著变化:
ΔΣ 阶数与杂散滚降关系:
| ΔΣ 阶数 | 带内杂散特性 | 低频偏移滚降 | 高频偏移滚降 |
|---|---|---|---|
| 1st | 存在空闲音(tone) | dB/dec | dB/dec |
| 2nd | 量化噪声整形,杂散降低 | dB/dec | dB/dec |
| 3rd | 杂散进一步抑制 | dB/dec | dB/dec |
| 4th | 最优杂散性能 | dB/dec | dB/dec |
工程规则:ΔΣ 阶数每增加一阶,带内分数杂散本底降低约 dB(受限于 PLL 带内噪声基底)。
补偿分数杂散(Compensated Fractional Spurs)
模拟补偿可以显著抑制分数杂散,但补偿方案(电流补偿/相位延迟补偿)各自的非理想性导致残余杂散,且高度依赖于具体的 PLL 型号、温度和电压。
Ch.13: Other Types of Spurs and their Causes
VCO 谐波杂散(VCO Harmonics)
VCO 输出谐波与参考频率混频产生杂散。当 VCO 输出信号含有谐波成分时,谐波 与 或 的谐波 在电荷泵或混频器中混频,产生杂散:
VCO 谐波幅度模型(假设 VCO 输出近似为限幅正弦波):
- 基波:(归一化 0 dB)
- 二次谐波(): 至 dBc(典型差分 LC VCO)
- 三次谐波(): 至 dBc
- :通常 dBc,可忽略
设计规避策略:
- 频率规划时避免 (混频落入中频带宽)
- 使用差分 VCO 输出可抑制偶次谐波( dB 改善)
- VCO 输出后加低通滤波( 但 )
电源杂散(Power Supply Spurs)
通过电源分配网络的开关噪声注入 PLL。开关噪声主要由数字电路(分频器、ΔΣ 调制器、SPI 接口)产生,经电源走线和去耦网络传递到 VCO 调谐端。
去耦网络对电源杂散的抑制:
其中 为电荷泵的电源抑制比(PSRR),典型 dB @ 。
开关噪声频率分布:
| 噪声源 | 频率范围 | 幅度(参考 1.8V 供电) | 耦合路径 |
|---|---|---|---|
| 分频器(+N) | V | 电源走线 | |
| ΔΣ 调制器 | V | 电源/基板 | |
| SPI 接口 | MHz | V | IO 引脚耦合 |
| 外部 DC-DC | kHz MHz | mV(峰峰) | 通过 LDO 残余 |
数字串扰杂散(Digital Crosstalk)
数字电路(尤其是 ΔΣ 调制器、分频器)通过基板和引线耦合到模拟路径。
基板耦合建模:
低阻 epi 工艺中,基板耦合电阻为:
其中 为 epi 层电阻率(典型 cm), 为数字噪声源到模拟节点的距离。在混合信号芯片中, 典型 ——这提供了显著的噪声耦合路径。
抑制措施及量化效果:
| 措施 | 实现方式 | 杂散改善 |
|---|---|---|
| 保护环(Guard Ring) | N+/P+ 环绕敏感模拟区 | dB |
| 深 N 阱隔离 | 深 N 阱包裹 VCO/PFD | dB |
| 芯片分区(模拟/数字分离) | 物理间距 m | dB |
| 退耦电容(片上) | pF 退耦在敏感节点 | dB |
预分频器错误计数杂散(Prescaler Miscounting)
预分频器亚稳态导致分频比瞬时错误,产生杂散。
亚稳态概率模型:
预分频器 D 触发器的建立时间/保持时间不满足时,输出进入亚稳态。亚稳态的平均发生概率为:
其中 为允许的亚稳态分辨时间, 为寄存器分辨时间常数(工艺相关,典型 ps)。
对杂散的定量影响:
- 每次预分频器计数错误导致 N 分频比瞬态偏差 ,在 处产生阶跃响应
- 亚稳态杂散幅度: dBc
- 典型值:(高质量设计)→ dBc(忽略)
- 低质量设计或高频操作时 可能升至 → dBc(不可忽略)
系统化杂散诊断流程
Banerjee 在 Ch.13 中总结了一套通过改变可控参数隔离杂散源的系统方法。以下是完整的诊断决策树。
诊断流程
观察杂散频谱 → 记录频率/幅度
│
├─ 改变 Kϕ(电荷泵电流)
│ ├─ 杂散幅度同比例变化 → CP/PFD 路径主导
│ └─ 杂散幅度不变 → VCO/电源路径主导
│
├─ 改变 Fcomp(比较频率)
│ ├─ 杂散频率同比变化 → 参考杂散
│ ├─ 杂散频率不变 → VCO 自激/电源杂散
│ └─ 杂散频率按分数比变化 → 分数杂散
│
├─ 改变 N 值(输出频率不变)
│ ├─ 杂散幅度随 N² 变化 → 带内参考/PFD 噪声
│ └─ 杂散幅度不变 → VCO 噪声主导
│
├─ 关闭 ΔΣ 调制器(分数 N 模式)
│ ├─ 杂散消失 → ΔΣ 量化噪声/分数杂散
│ └─ 杂散不变 → 整数-N 路径杂散
│
├─ 改变 VCO 输出频率(保持其他不变)
│ ├─ 杂散位置变化 → VCO 谐波混频产物
│ └─ 杂散位置不变 → 固定频率干扰(电源/数字)
│
├─ 改变电源电压(±5%)
│ ├─ 杂散幅度变化 > 3 dB → 电源耦合路径
│ │ ├─ 仅 CP 供电变化 → CP PSRR 不足
│ │ └─ 仅 VCO 供电变化 → VCO 推频效应
│ └─ 杂散幅度变化 < 1 dB → 其他路径
│
├─ 温度变化(25°C ↔ 85°C)
│ ├─ 杂散幅度增加 > 5 dB → CP 泄漏/失配温度漂移
│ ├─ 杂散幅度稳定 → 脉冲主导或 VCO 杂散
│ └─ 杂散频率偏移 → 滤波器 RC 漂移
│
└─ 更换 PLL 芯片(同一型号不同个体)
├─ 杂散一致(< ±2 dB)→ 设计固有杂散
└─ 杂散分散(> ±5 dB)→ 工艺/失配相关杂散
诊断结果判定表
| 诊断操作 | 观察结果 | 结论 | 根因 | 解决方案 |
|---|---|---|---|---|
| 增大 | Spur | CP/PFD 路径 | 电荷泵失配/泄漏 | 增大 、选择匹配更好的 CP |
| 增大 | Spur 不变 | VCO/电源路径 | VCO 推频/电源耦合 | 加强去耦、选择推频更低的 VCO |
| 降低 | Spur 同比降低 | 参考杂散(脉冲主导) | 滤波器抑制不足 | 增加滤波器阶数或降低 |
| 降低 | Spur 不变 | VCO 杂散 | VCO 谐波/自激 | VCO 输出加滤波 |
| 变温 C | Spur 增加 dB | CP 温度漂移 | CP 泄漏电流增大 | 使用低漏电 CP 拓扑或降低工作温度 |
| 变温 C | Spur 变化 dB | 设计固有 | 脉冲主导 | 无需温度补偿 |
| 更换芯片同型号 | Spur 分散 dB | 工艺随机失配 | 失配主导 | 使用修调或选择更大的器件尺寸 |
| 更换芯片同型号 | Spur 一致 dB | 设计系统固有 | 拓扑/布局 | 需改变滤波器或架构方案 |
实测与理论偏差的容差判定
| 范围 | 判定 | 行动 |
|---|---|---|
| dB | 模型验证通过 | 无需任何操作 |
| dB | 模型偏差但仍可用 | 检查温度/Fcomp/Fc 差异,如有明确偏差源则修正设计 |
| dB | 模型显著偏差 | 运行诊断流程隔离偏差源,需重新评估设计 |
| dB | 模型失效 | 返回设计阶段重新仿真,检查是否存在未建模效应(如寄生耦合) |
诊断决策表:
| 改变参数 | 杂散幅度变化 | 杂散频率变化 | 诊断结论 |
|---|---|---|---|
| 同比例 | 不变 | CP/PFD 路径 | |
| 不变 | — | VCO/电源路径 | |
| — | 同比例 | 参考杂散 | |
| — | 不变 | VCO/电源杂散 | |
| N (保持 ) | 约 20dB/dec | 不变 | 带内噪声路径 |
| N (保持 ) | 不变 | — | VCO 主导 |
| ΔΣ 关闭 | — | 分数杂散 | |
| ΔΣ 关闭 | 不变 | — | 整数路径杂散 |
附录 B 实测验证数据
Banerjee 在附录 B 中系统验证了杂散模型的准确性,使用 National Semiconductor LMX 系列 PLL 评估板进行 bench 测量:
验证方法
- 使用频谱仪(RBW = 10 Hz)测量 PLL 输出在 偏移处的杂散电平
- 分别测量二阶、三阶、四阶环路滤波器配置下的杂散
- 对比理论计算值与实测值
验证结果汇总
| 滤波器类型 | 理论杂散 | 实测杂散 | 偏差 | ||
|---|---|---|---|---|---|
| 二阶被动 | 50 kHz | 2.5 kHz | dBc | dBc | dB |
| 三阶被动 | 50 kHz | 2.5 kHz | dBc | dBc | dB |
| 四阶被动 | 50 kHz | 2.5 kHz | dBc | dBc | dB |
| 二阶( kHz) | 200 kHz | 10 kHz | dBc | dBc | dB |
关键结论
- dBc 的准确度在 dB 以内
- dBc 的准确度在 dB 以内
- 理论模型在大 比()时预测最为准确(偏差 dB)
- 当 时,杂散增益公式的近似误差增大,需使用完整传递函数计算
- Bessel 修正在杂散 dBc 时偏差 dB,安全可忽略
分数 N 杂散表生成与预测方法学
Banerjee 在 Ch.5/Ch.12 中提出了一种系统化的分数杂散表征方法——杂散表生成法,通过实验测量建立分数杂散幅度与 FNUM/FDEN 参数之间的映射关系,用于预测未测量条件下的杂散水平。
杂散表生成的标准流程
- 配置 PLL:设定 、、 等基本参数
- 扫描 FNUM:在 范围内系统改变 FNUM,记录每个 FNUM 下的主分数杂散幅度
- 归一化处理:将杂散幅度减去 SpurGain 和频率相关的校正因子
- 生成查找表:以 FNUM 为索引,存储归一化杂散幅度
测量矩阵:
| 参数 | 典型范围 | 步长 | 测量点数 |
|---|---|---|---|
| FNUM | FDEN/20 | ||
| FDEN | 5 | ||
| mA | — | 4 | |
| kHz | — | 4 |
理想测量条件:温度 C C,VDD ,使用低相噪参考源(OCXO)。
归一化杂散幅度的定义
将实测原始杂散幅度转换为与电路参数无关的归一化值:
其中 为环路滤波器在 处的增益(Ch.11 定义)。
杂散幅度与 FNUM 的依赖关系
实验结果表明,归一化分数杂散幅度近似服从:
| FNUM/FDEN 范围 | 典型 Slope (dB/dec) | 物理机制 |
|---|---|---|
| (近整数) | N 值在整数附近缓慢变化,补偿电路工作在线性区边缘 | |
| N 值变化加快,补偿电路正常工作的典型区域 | ||
| (中点) | 峰值 | FNUM/FDEN=0.5 时分数杂散最严重(Nyquist 频率) |
温度对分数杂散的影响
| 温度变化 | 分数杂散变化(典型) | 主导因素 | 设计对策 |
|---|---|---|---|
| C | dB | CP 电流失配温度漂移 | 使用温度补偿 CP 拓扑 |
| C(基准) | 0 dB | — | — |
| C | dB | 泄漏电流增大 + 补偿电路增益漂移 | 高温下增大 或降低滤波器阻抗 |
温度修正系数:
其中 dB/°C, dB/°C(需从实测提取)。
从杂散表到设计预测
一旦建立了完整的杂散表 ,对于新设计的杂散预测只需:
其中 和 为新设计的参数。
预测精度:实测验证表明,基于杂散表的预测在 ±4 dB 内与实测吻合(温度变化 < 30°C 时)。
分数杂散表生成的 Python 实现
以下代码从测量数据出发,构建归一化分数杂散查找表并用于新设计预测:
import numpy as np
import matplotlib.pyplot as plt
# ===== 步骤 1: 测量数据输入 =====
# 测量条件:LMX2315, Fout=1960MHz, Fcomp=50kHz, Kphi=5mA, T=25°C
Fcomp_meas = 50e3
Kphi_meas = 5e-3
FDEN = 128 # 测量时使用的分数分频分母
# 测量原始杂散数据 [FNUM, Spur_meas(dBc)]
raw_data = np.array([
[1, -68], [4, -72], [8, -75], [16, -78],
[32, -76], [48, -74], [64, -70], [80, -74],
[96, -76], [112, -78], [120, -75], [124, -72], [127, -68]
])
FNUM_meas = raw_data[:, 0]
Spur_meas = raw_data[:, 1]
def spur_gain(Fcomp, Fc=2.5e3, order=3):
"""计算环路滤波器在 Fcomp 处的增益 (dB)"""
from math import log10, sqrt
wc = 2 * np.pi * Fc
wcomp = 2 * np.pi * Fcomp
# 三阶滤波器近似
if order == 3:
T2 = 1.66e-4; T1 = 6.1e-5; T3 = 1.66e-5
gain_factor = (wc/wcomp) * sqrt((1 + (wcomp*T2)**2) / ((1 + (wcomp*T1)**2) * (1 + (wcomp*T3)**2)))
return 20 * log10(gain_factor)
# ===== 步骤 2: 归一化 =====
SG_meas = spur_gain(Fcomp_meas)
Spur_norm = Spur_meas - SG_meas - 20 * np.log10(Kphi_meas / 1e-3)
# 插值:构建完整查找表
FNUM_full = np.arange(1, FDEN)
Spur_norm_interp = np.interp(FNUM_full, FNUM_meas, Spur_norm)
# ===== 步骤 3: 新设计预测 =====
Fcomp_new = 100e3; Kphi_new = 2e-3
SG_new = spur_gain(Fcomp_new)
Spur_pred = Spur_norm_interp + SG_new + 20 * np.log10(Kphi_new / 1e-3)
# 输出:最差 FNUM 处的杂散预测
idx_worst = np.argmax(Spur_pred)
print(f"最差 FNUM = {FNUM_full[idx_worst]}")
print(f"预测杂散 = {Spur_pred[idx_worst]:.1f} dBc")
# ===== 步骤 4: 可视化对比 =====
# plt.figure()
# plt.plot(FNUM_meas, Spur_meas, 'o', label='Measured')
# plt.plot(FNUM_full, Spur_pred, '-', label='Predicted')
# plt.xlabel('FNUM'); plt.ylabel('Spur (dBc)')
# plt.legend(); plt.grid(True)
# plt.show()使用说明:
- 输入至少 10 个 FNUM 点(覆盖 0-FDEN 范围的 1/4 分辨率)的实测杂散数据
- 代码自动进行 SpurGain 和 Kphi 归一化 → 构建查找表
- 对新设计,输入新的 Fcomp 和 Kphi → 得到完整杂散预测
- 预测精度与测量点数相关:10 点 → dB,20 点 → dB
杂散仿真预测方法
Banerjee 的经验杂散模型(BaseLeakageSpur / BasePulseSpur)为快速手算提供了工具,但精确的杂散预测必须通过周期性稳态仿真实现。以下涵盖 PSS+PAC/PNOISE 分析设置、泄漏 vs 脉冲杂散的仿真分离、以及 App.B 理论-仿真-实测三方一致性验证。
PSS+PAC 杂散传递仿真
PAC(Periodic AC)分析原理
PAC 分析在 PSS 工作点基础上,计算小信号扰动在各频率下的传递特性。对于杂散分析,PAC 用于计算从各杂散源到 PLL 输出端的传递函数:
杂散源(DC/AC) → [PFD/CP] → [Loop Filter] → [VCO] → 输出杂散
↑ │
└─── [÷N] ──────────────┘
杂散源建模
| 杂散类型 | PAC 激励源 | 注入方式 | 幅度设置 |
|---|---|---|---|
| 泄漏主导 | VCO 调谐端电压纹波 | 在 Vtune 节点注入 AC 电压源 | $V_{AC} = I_{leak} \cdot |
| 脉冲主导 | PFD 输出电流脉冲 | 在 CP 输出端注入 AC 电流源 | |
| 电源杂散 | VCO 电源节点 | 在 VDD 节点注入 AC 电压源 | |
| 基板耦合 | 衬底节点 | 在衬底接触点注入 AC 电压源 |
PAC 仿真参数设置
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Sweep Type | absolute | 以绝对频率扫描 |
| Frequency Range | 覆盖基波到高次谐波 | |
| Nsidebands | 包含非线性折叠的边带数 | |
| 输入源幅度 | mV(保持小信号线性) | 避免大信号压缩效应 |
泄漏主导杂散 vs 脉冲主导杂散的仿真验证
泄漏杂散仿真
泄漏杂散仿真需要精确建模 CP 和滤波器的泄漏电流路径:
// 泄漏杂散仿真电路片段
// 在 CP 输出与 VCO 调谐端之间注入泄漏电流
Ileak (cp_out vtune) isource dc=I_leak type=dc
// PAC 分析:设置泄漏电流作为调制源
pac \
fundfreq=Fcomp \
freq_swp_type=absolute \
swp_start=Fcomp/10 \
swp_stop=5*Fcomp \
harmonics=[1] \
inputsource=Ileak验证 BaseLeakageSpur 常数(对应 App.B 验证):
PAC 仿真得到 端电压纹波幅度 后,通过窄带 FM 公式计算杂散水平:
将仿真值与 Banerjee 的解析公式对比:
偏差诊断:
| 偏差范围 | 可能原因 | 动作 |
|---|---|---|
| dB | 模型精度良好 | 使用解析模型做快速设计 |
| dB | CP 非理想性(失配/死区)未建模 | 加入 CP 非理想性再仿真 |
| dB | 经验常数不适用于该 PLL 型号 | 重新提取 BaseLeakageSpur |
脉冲杂散仿真
脉冲杂散由 CP 每参考周期的开关动作产生,仿真采用两种互补方法:
方法1:PAC 传递函数法
将 CP 脉冲建模为理想冲激串,PAC 分析从 CP 输出到 VCO 输出的传递函数:
其中 为 PLL 闭环传递函数, 为谐波阶次。
方法2:时域瞬态法
直接运行瞬态仿真,捕获锁定后的 波形,对 做 FFT 得到杂散幅度:
; 时域瞬态杂散提取
vtune = v("/vtune" ?result "tran")
% 取锁定后最后 N_comp 个参考周期的数据
N_comp = 1024 % 点数(含多个参考周期)
t_start = tfinal - N_comp/Fcomp
tran_data = vtune->getData(getTime() > t_start)
% FFT 计算
fft_data = fft(tran_data "Rectangular" 1)
freq_axis = fft_freq_axis(N_comp, 1/Fcomp)
% 提取 Fcomp 处的杂散幅度
idx_spur = abs(freq_axis - Fcomp) == min(abs(freq_axis - Fcomp))
Spur_FFT = 20*log10(abs(fft_data[idx_spur]))| 方法 | 精度 | 仿真时间 | 适用场景 |
|---|---|---|---|
| PAC 传递函数法 | dB | min | 架构阶段、杂散源隔离 |
| 时域瞬态 FFT 法 | dB | hr | 最终验证、包含非线性效应 |
分数杂散的仿真验证
分数杂散仿真比参考杂散更复杂,因其涉及 ΔΣ 调制器的量化噪声整形和折叠效应:
PSS+PNOISE 分数杂散设置
| 参数 | 整数 N | 分数 N(MASH 1-1-1) |
|---|---|---|
| 15 | 50!-!100(需包含 ΔΣ 折叠频段) | |
| (PNOISE) | 15 | 40!-!60 |
maxacfreq | (ΔΣ 噪声可能扩展到更高频) |
分数杂散波形仿真
对于特定 FNUM 处的分数杂散验证,直接使用瞬态仿真 + FFT 后处理:
; 分数杂散时域 FFT 提取
; 设置 FDEN=128, FNUM=32(对应 0.25 分数偏移,最坏情况)
; 等待锁定后采集至少 FDEN/Fcomp 秒的数据
% 采集时间设置(至少覆盖一个完整分数周期)
t_collect = FDEN / Fcomp * 5 % 5 个分数周期
t_start = 200/Fc % 确保已锁定
% FFT 分析
vtune = v("/vtune" ?result "tran")
tran_vtune = vtune->getData(t_start, t_start + t_collect)
fft_result = fft(tran_vtune, "Hanning", 1)
% 在 fractional offset 频率处搜索杂散成分
f_frac = Fcomp * FNUM / FDEN
f_list = abs(fft_freq_axis - f_frac)App.B 实测验证的仿真复现
Banerjee 附录 B 的核心验证思路——将理论、仿真、实测三方对比——可在仿真环境中系统化复现。
验证流程
┌─ 理论预测 ─────────────────────────────────────────────────┐
│ BaseSpur + SpurGain + 20log(Ileak/Kphi) → Spur_theory │
└───────────────────────────────────────────────────────────┘
↓ 对比
┌─ 仿真预测 ─────────────────────────────────────────────────┐
│ PSS+PAC 或 FFT 仿真 → Spur_sim │
│ ⚠ 需使用与理论相同的 Kphi, Fcomp, Kvco, 滤波器参数 │
└───────────────────────────────────────────────────────────┘
↓ 对比
┌─ 实测验证 ─────────────────────────────────────────────────┐
│ 频谱仪测量 → Spur_meas │
│ 测试条件:相同 Fout, Fcomp, Kphi, 温度, VDD │
└───────────────────────────────────────────────────────────┘
一致性判据(基于 App.B 数据)
| 对比维度 | 合格判据 | 良好判据 | Banerjee App.B 典型偏差 |
|---|---|---|---|
| 理论 vs 实测 | dB | dB | dB(BaseLeakage验证) |
| 仿真 vs 实测 | dB | dB | dB(LMX2315 @50kHz) |
| 理论 vs 仿真(自洽性) | dB | dB | dB(纯线性模型) |
工程规则:
- 理论 vs 仿真偏差 dB → 检查仿真中是否包含了理论公式未涵盖的效应(如 VCO 非线性、CP 非理想性)
- 仿真 vs 实测偏差 dB → 检查测试设置(探头负载、PCB 寄生耦合、电源噪声)
- 三者同时偏差 dB → 设计置信度高,可直接进入流片阶段
与现有知识的联系
- PLL频率合成器 — 分数-N 合成器的杂散特性
- PLL异常锁定现象 — 杂散导致的异常锁定行为
- Dean Banerjee PLL Performance Simulation and Design 深度解析 — 来源页
关键公式
| 概念 | 公式 | 编号 |
|---|---|---|
| 泄漏主导杂散 | (11.17) | |
| 脉冲主导杂散 | (11.8) | |
| 杂散滚降 | (12.1) | |
| Bessel 修正 | — |
参考文献
- Banerjee, D. (2006). PLL Performance, Simulation, and Design (4th ed.), Ch.11-13, App.B.