💥本文目录如下
目录
✅引言
✅全数字锁相环的原理
✅全数字锁相环和模拟锁相环区别
✅全数字锁相环的MATLAB实现
✅总结
全数字锁相环(All-Digital Phase-Locked Loop, ADPLL)是一种广泛应用于现代通信系统中的同步电路。ADPLL的主要功能是在数字域内实现频率和相位的锁定,从而保证接收端能够正确地恢复发送端的信号。
全数字锁相环路的工作原理:环路的输入信号通常为时间上连续的信号,如单频正弦波、模拟调频信号或移频键控信号等。环路的输出信号,即数字控制振荡器的输出信号为周期性脉冲序列,其周期可调且受数字滤波器输出信号的控制。输入信号和数控振荡器的输出信号加到抽样相位检测器的输入端。在检测器中,由数控振荡器的输出脉冲序列对输入信号抽样,检测出脉冲序列与输入信号之间的相位差,并变换成数字信号作为检测器的输出信号。该信号经数字滤波器滤波后作为数控振荡器的控制信号,改变数控振荡器的周期,实现对相差的校正。
全数字锁相环主要由以下几个部分组成:
1).相位检测器(Phase Detector, PD)
相位检测器的作用是测量输入参考信号与本地振荡器(DCO)的相位差。常用的相位检测方法有两种:
异或相位检测器(XOR PD):输出为两输入信号的异或结果,适合于高频应用。
时间至数字转换器(Time-to-Digital Converter, TDC):将相位差转换成时间间隔,进而转换为数字形式。
2).数字控制振荡器(Digital Control Oscillator, DCO)
数字控制振荡器根据相位检测器的输出调整其输出频率和相位,使其与参考信号同步。DCO的输出频率
3).环路滤波器(Loop Filter)
环路滤波器用于平滑相位检测器的输出,消除噪声并控制环路动态特性。环路滤波器可以是FIR滤波器或IIR滤波器,其传递函数为:
全数字锁相环的工作原理基于负反馈机制,通过调整DCO的输出来使系统达到锁定状态。当系统未锁定时,相位检测器会检测到相位差,并生成相应的控制信号 E(t),该信号通过环路滤波器处理后,控制DCO的频率和相位,直至相位差趋近于零。
系统的总体流程如下图所示:
与模拟锁相环路比较,全数字锁相环路有如下特点:
1).全部采用数字电路。由于数字电路中的有源器件工作于导通和截止两种工作状态,受干扰的影响比模拟电路小,使工作的可靠性提高。另外,数字电路易于集成化。
2).在数字锁相环路中,时钟源通常不直接受控,不同于模拟锁相环路中的压控振荡器直接受误差信号的控制,这将有利于提高环路的性能。应用数字锁相环路,在一定范围内可以消除类似于模拟锁相环路中压控振荡器特性的非线性、环路滤波器传输函数的不稳定等的影响,从而改善锁相环路的性能。全数字锁相环已成为全数字相干通信、跟踪接收机和频率综合器中的核心部件,日益获得更广泛的应用。
全数字锁相环的每部分都是数字的,包括数字鉴相器,数字环路滤波器,数字控制振荡器。系统发送端的基本结构:其结构如下所示:
两路信号(I为上面一路,Q为下面一路)通过低通成形滤波器后与cos,sin相乘完成系统的调制,然后将两路调制信号相加完成混频,再发送出去。
接收端的结构如下:
I路信号与Q路信号分别为:
系统内部存在的频偏信号可以化解为:
解调信号为:
可以得到信号 :
上述步骤,对应的matlab程序如下:
clc;clear;close all;len=1000;N=len;Spll=zeros(len,1); %锁相环锁定及稳定后的数据NCO = zeros(len,1); %锁定的相位Discriminator_Out=zeros(len,1);Freq_Control=zeros(len,1);PLL_out2=zeros(len,1); %锁相环频率PLL_out=zeros(len,1); %锁相环相位I_Data=randint(N,1)*2-1;Q_Data=randint(N,1)*2-1;%QPSK信号源s=I_Data + j*Q_Data;fs=2400; %采样率fdelta=-40; %频偏Time_Sample=1/fs; %每个采样值的持续时间Delta_Phase=rand(1)*2*pi; %初始相位sin_cos=exp(j*(fdelta/fs*(1:len)+Delta_Phase)); %载波%调制r=s.*sin_cos'; %r=Icos+Qsin%环路处理C1=0.022;C2=0.00024;for i=2:NSpll(i)=r(i)*exp(-j*mod(NCO(i-1),2*pi)); %误差计算模块的输入I_PLL(i)=real(Spll(i)); %误差计算模块的I路输入信息数据Q_PLL(i)=imag(Spll(i)); %误差计算模块的Q路输入信息数据Discriminator_Out(i)=(sign(I_PLL(i))*Q_PLL(i)-sign(Q_PLL(i))*I_PLL(i))/(sqrt(2)*abs(Spll(i))); %误差计算模块的输出PLL_out2(i)=Discriminator_Out(i)*C1; %误差计算模块的输出进入环路滤波环路滤波器处理Freq_Control(i)=PLL_out2(i)+PLL_out(i-1);PLL_out(i)=Discriminator_Out(i)*C2+PLL_out(i-1);NCO(i)=NCO(i-1)+Freq_Control(i); %进行相位调整endfigure(1)subplot(211)plot(-PLL_out(2:len)*fs);grid on;title('锁相环频率响应曲线');axis([1 len -100 100]);subplot(212)plot(PLL_out2(2:len)*180/pi);title('锁相环相位响应曲线');axis([1 len -2 2]);grid on;figure(2)subplot(2,2,1)plot(I_Data(500:550));grid on;title('I路信息数据');axis([1,50,-2,2]);subplot(2,2,2)plot(Q_Data(500:550));grid on;title('Q路信息数据');axis([1,50,-2,2]);subplot(2,2,3)plot(I_PLL(500:550));grid on;title('锁相环输出I路信息数据,注意可能会出现相位模糊现象,即倒PI现象');axis([1,50,-2,2]);subplot(2,2,4)plot(Q_PLL(500:550));grid on;title('锁相环输出Q路信息数据,注意可能会出现相位模糊现象,即倒PI现象');axis([1,50,-2,2]);
仿真结果如下:
全数字锁相环作为一种重要的同步技术,在现代通信系统中发挥着至关重要的作用。通过对相位检测器、数字控制振荡器和环路滤波器的设计优化,可以实现高性能的同步效果。未来的研究方向将进一步提升ADPLL的集成度和性能,以适应更广泛的应用场景。