锁相环技术及FPGA实现

本文参考《锁相环技术原理及FPGA实现》杜勇这本书

  1. 1.锁相环综述

锁相环一般分为三部分,鉴相器、环路滤波器和电压振荡器。其中环路滤波器是决定锁相环的性能的重要器件,设计比较复杂,所以先搞明白鉴相器和电压振荡器,再说环路滤波器,整体来看。

  1. 1.2一阶环简化

由鉴相器和电压振荡器可以组成一阶环路。鉴相器由混频器和低通滤波器组成,主要使用的是鉴相器成线性这一段函数,给到锁相环一个增益Kd。

电压振荡器是一个积分器的作用,在我们数字系统中更常知道的是NCO,数字振荡器,一个简单的数字振荡器的实现是查表法,把所有的值放在一个table里面,相应高级一些的是Cordic算法。

NCO输出的值是按照比例分散在-pi,pi或者说0,2\*pi这个周期中,比如说一个NCO的位数是8位,我的频率控制字是M位,那形成的频率是f=2^M*fclk/2^8,在整个区间进行映射。

以鉴相器和NCO组成的一阶锁相环,我们可以推导出稳态相位误差:

1.3环路滤波器

最简单的环路滤波器-RC滤波器

RC低通滤波器的频率特性

RC低通滤波器会产生超前的相位,降低相位裕度,不利于环路的稳定,所以考虑无源比例积分滤波器和有源比例积分滤波器。

无源比例积分滤波器的稳态相位误差不太好

之后考虑有源比例积分滤波器,

做有源比例积分滤波器的仿真:

带宽宽200 600

带宽350 600

带宽500 600

参考文献:最终代码有参考南京大学的一位大佬,但是我找不到他博客地址了,如果看到在此感谢

相关推荐
传感器与混合集成电路1 天前
伺服数据采集控制模块系统集成实战手册:接口设计要点、上电顺序与开发环境配置全解析
fpga开发
xxLearn1 天前
Vivado 2025.2 下载程序时提示:“ERROR : invalid command name ps7_init“
fpga开发
科恒盛远2 天前
【无标题】
fpga开发·硬件工程·信号处理
千寻xun2 天前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
AndyHeee3 天前
【PCIe中的BAR、MMIO、MMU、mmap函数与页表】
fpga开发
nuoxin1143 天前
HR4988替代A4988-富利威
网络·人工智能·嵌入式硬件·fpga开发·dsp开发
一口一口吃成大V3 天前
vivado的bit 和 bin的区别
fpga开发
尤老师FPGA4 天前
HDMI数据的接收发送实验(十八)
fpga开发
北京青翼科技4 天前
青翼科技 JFM7K325T FPGA+FT-M6678 DSP 的全国产化信号处理平台丨FPGA开发板
fpga开发·数据采集卡·fmc子卡·fpga开发板·ad采集卡·图像处理卡·dsp信号处理
zlinear数据采集卡4 天前
从0到1硬核拆解:工业级数据采集卡的隔离设计与Modbus通信实战
arm开发·单片机·嵌入式硬件·fpga开发·开源