关于锁相环中spur的基本理解以及计算详情可以仔细拜读这篇博客:关于 PLL 中的 Reference Spur 的问题

在CMOS PLL设计中,降低reference spur常见的方法有:

  1. 使用高阶滤波器,但是会降低相位裕度,使得系统不稳定的可能性加大。[C.M. Huang JSSC 2002][S. Pellerano JSSC 2004]
  2. 减小环路带宽以降低spur,但是会增加锁定时间、减小对VCO相噪的衰减。[W. B. Wilson JSSC 2000] 与锁定时间之间的trade off可以通过dual-loop的结构来实现,先用在大环路带宽下工作,要锁定了再切换到窄带宽环。
  3. 采用低Kvco的振荡器,牺牲了频带调谐范围。[C.-Y.Kuo TCASI]

除此之外,[M. M. Elsayed JSSC2013]提出了一种spur-frequency-boosting的技术,以图同时实现低杂散和宽环路带宽。
在这篇文章中以二阶锁相环为例,推导了spur的公式(其中ωp\omega_{p}ωp​表示滤波器极点、ωGBW\omega_{GBW}ωGBW​表示环路带宽,二者之间的比值与相位裕度有关):

并提出了杂散FOM,将有影响的factor减去可以保证在归一化settling time的情况下进行对比:

spur-frequency-boosting技术


在PFD和CP之间加一个spur-frequency booster,TVC(time-to–voltage converter)将PFD产生的脉冲变成电平,然后通过VTC转变成频率为fBf_{B}fB​的脉冲序列。UP和DN支路的VTC都是由fBf_{B}fB​控制,那么会将PFD产生信号的mismatch消除。此时spur公式如(8)式所示,由于fBf_{B}fB​的频率比freff_{ref}fref​高,从而提高了杂散的抑制。但是也会带来Phase margin的变化,需要好好平衡调节。

schematic of TVC:

where schematic of ED is: 用ED来确定电容停止充电的时间。

schematic of VTC:

从测试结果来看,对6MHz处的reference spur 确实有较好的抑制作用。但同时也引进了更远的fBf_{B}fB​处的杂散(70MHz & 150MHz).。但整体的噪声性能不是很好:-60.5dBc/Hz@100kHz, -104dBc/Hz@6MHz,可能跟VCO性能有关系,不过文章并没有把VCO的结构给出来。另外,电平和脉冲之间的转换多多少少会带来一定的量化噪声吧。
另外,来自clock feed-through,charge injection和substrate leakage的杂散依旧没有被抑制。

参考文献:
M. M. Elsayed, M. Abdul-Latif and E. Sánchez-Sinencio, “A Spur-Frequency-Boosting PLL With a −74 dBc Reference-Spur Suppression in 90 nm Digital CMOS,” in IEEE Journal of Solid-State Circuits, vol. 48, no. 9, pp. 2104-2117, Sept. 2013, doi: 10.1109/JSSC.2013.2266865.

另一篇文献Choi, J. et al. “A Spur Suppression Technique Using an Edge-Interpolator for a Charge-Pump PLL.” IEEE Transactions on Very Large Scale Integration (VLSI) Systems 20 (2012): 969-973.的道理也是一样的:
最后产生x8的reference频率。

P1 | reference spur of SFB-PLL (JSSC-2013)相关推荐

  1. C++11中shared_ptr的使用

    在C++中,动态内存的管理是通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,可以选择对对象进行初始化:delete,接受一个动态对象的指针,销毁该对象,并释放与之 ...

  2. 52-20210322华为海思Hi3516DV300的linux系统编译(eMMC模式)1

    52-20210322华为海思Hi3516DV300的linux系统编译(eMMC模式) 2021/3/22 18:00 请严重注意: 本文所使用的的SDK是:Hi3516CV500R001C02SP ...

  3. 【Smart_Point】C/C++ 中共享指针 shared_ptr

    1. 共享指针 shared_ptr 目录 1. 共享指针 shared_ptr 1.1 共享指针解决的问题? 1.2 创建 shared_ptr 对象 1.3 分离关联的原始指针 1.4 自定义删除 ...

  4. 淘宝用了mysql,您呢?

     淘宝内部分享:怎么跳出MySQL的10个大坑 编者按:淘宝自从2010开始规模使用MySQL,替换了之前商品.交易.用户等原基于IOE方案的核心数据库,目前已部署数千台规模.同时和Oracle, ...

  5. Remove Duplicates from Sorted Array II leetcode java

    题目: Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For e ...

  6. 找回Kitkat的AppOps

    2019独角兽企业重金招聘Python工程师标准>>> How to invoke AppOps in Android 4.4 KITKAT % adb shell am start ...

  7. rsem比对_RSEM方法比对和表达量计算

    分析模块,封装了Trinity程序包中的"align_and_estimate_abundance.pl"脚本,进行原始数据与转录本序列的比对和表达量计算.其中,核心程序为,Bow ...

  8. Path Sum leetcode java

    题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...

  9. 如何在VS2013中隐藏引用计数?

    本文翻译自:How to hide reference counts in VS2013? Visual Studio 2013 introduced a new feature where it s ...

最新文章

  1. linux c socket 服务器 客户端 简单通讯
  2. 数据结构与算法——二叉树的深度优先遍历
  3. springboot项目中的注解 启动项目的方式 解决spring的bean.xml配置不生效 spring的基础JDBC配置
  4. Struts2的两个蝴蝶飞,你好简单开发(一)
  5. c语言单字符输入和输出函数分别为,第03章单元总练习-实训-知识拓展.doc
  6. 4.2 SE38数据对象
  7. android 传感器的学习
  8. PDF免费转word方法
  9. 【渗透测试】—如何利用文件包含的方式进行攻击
  10. Android 一个页面上下两个ListView的页面显示
  11. Cron表达式 定时执行说明
  12. php代码审计系列教程,PHP代码审计工具——Rips详细使用教程
  13. 精密电阻选购及换算方法
  14. Python:运行时隐藏窗口
  15. 麒麟KY-RTI分布仿真技术:第三章 KY-OMT对象模型模板工具
  16. Java 接口规范与最佳实践
  17. python时间和周期_python实现以立春为起点n为周期任意日期所在的日期区间
  18. 2411681-88-2,Thalidomide-O-PEG4-NHS ester它与胺部分反应
  19. 腾讯云对象存储空间分片、断点续传功能的封装与使用
  20. Beyond Compare软件使用详解

热门文章

  1. 购物系统-网上书店 javaweb jsp+Servelt+JDBC连接数据库(源码分享)
  2. BCG 使用之CBCGPEdit控件
  3. 读 《白说》—白岩松 文摘
  4. 怎么把便签转换成TXT文本
  5. AlertDialog对话框详例
  6. 创建TLS 客户端凭据时发生严重错误。内部错误状态为 10013。处理记录
  7. js中window。location.search的用法和作用。
  8. Bulk-Only传输协议 UFI命令块规范
  9. 安装ACDSee 7指南
  10. 解决 VSCode Ctrl Shift P 快捷键不可用