1、1锁相环路 matlaB 程序%PLL illustration using MATLAB clear all;%close all;%定义初始相位偏移和输入连续波频率以及采样频率theta=60*pi/180;f=1e3;fs=100e3;%生成未调制连续波的实部和虚部k=1:1:1000;delf=f/20;cpx1=exp(j*(2*pi*k*(f+delf)/fs+theta)+.01*(rand(1,1000)+j*rand(1,1000);%初始化锁相环 phi_hat(1)=30;e(1)=0;phd_output(1)=0;nco(1)=0%定义环路滤波器参数kp=0.15;%
2、比例常数ki=0.1;%积分常数%锁相环的实现for n=2:length(cpx1)nco(n)=conj(exp(j*(2*pi*n*f/fs+phi_hat(n-1);%数控振荡器 phd_output(n)=imag(cpx1(n)*nco(n);%鉴相 e(n)=e(n-1)+(kp+ki)*phd_output(n)-ki*phd_output(n-1);%滤波 some(n)=(kp+ki)*phd_output(n)-ki*phd_output(n-1);phi_hat(n)=phi_hat(n-1)+e(n);%更新数控振荡器end;%绘图index_stop=200;fig
3、uresubplot(211),plot(1:index_stop,phd_output(1:index_stop),ylabel(Ph.Det.)subplot(212),plot(1:index_stop,phi_hat(1:index_stop)*180/pi),ylabel(Est.Phs.)figure,index_stop=200;subplot(211),plot(1:index_stop,real(nco(1:index_stop),1:index_stop,real(cpx1(1:index_stop),ylabel(RE-PLL)subplot(212),plot(1:index_stop,imag(nco(1:index_stop),1:index_stop,imag(cpx1(1:index_stop),ylabel(IM-PLL)23