继续给出锁相环的程序!

关键内容来了!

环路的具体操作程序!

spll=zeros(1,n);

phase=zeros(1,n);

e=zeros(1,(n-125));

for k=1:n-125

localsign=sin(2*pi*f0*(1:(n))*ts+phase(k));

Isign=signal(1:(n)).*localsign;

Isign=filter(b,1,Isign);

e(k)=Isign(k+125);

spll(k)=spll(k-1)+e(k)*c2;

f(k)=c1*e(k)+spll(k);

phase(k+1)=phase(k)+f(k);

x=(1:(n-125))/fs;

title('二阶锁相环,初始频差500Hz,噪声带宽500Hz')

xlabel('时间(s)');

ylabel('相差');

% axis([0 0.005 -0.5 +0.15])

二阶环路的程序就此结束。

休息一下!

至此完整的锁相环程序就展示给大家了!

这只是理论仿真,

实际中如何使用呢?

如何应对噪声和干扰呢?

如何定点化实现呢?

推荐一本好书!

开卷有益!

未完,待续!

读者留言

本人在教授《MATLABA基础课程》的时候,很多读者给我留了言。和大家一起阅读,肯定能得到一些感悟。

读者留言1:

第一章是同学们深入MATLAB应用的基础之一,大家在看完老师的文章后,应该赶紧自己把程序敲一敲,自己练习一下。好记性不如勤动手,大家不要看过就看过了,而是要看过了自己就会了。,现在是自媒体的时代,有空看小视频,娱乐新闻,不如多看看这些能为自己的发展有帮助的文章。

读者留言2:

M文件可分为脚本文件和函数文件。 以function开头的文件叫函数文件。读者留言3:

randi函数产生均匀分布的伪随机整数,例如randi(imax,n,m)会生成一个数值在1到imax之间的n*m阶的整数矩阵。另外,rand函数产生的是0~1之间的伪随机数,例如rand(n,m)会产生一个数值在0~1之间的n*m阶矩阵。

休息一下,插播广告!

马上回来!

读者留言4:

文件是将命令编成程序存储起来,M文件可分为:

1、脚本文件(Script),脚本文件包含注解和指令两部分。注解开头用百分比符号(%)。脚本中的语句可以访问MATLAB工作空间中的数据,运行过程中的变量都是全局变量,可以用clear清除。运行时会自动按顺序执行文件中的命令。

2、函数文件(Function),函数文件的第一句可执行的语句是以Function引导的定义语句,在函数文件中变量都是局部变量。

多好的建议和学习总结啊!

修订记录

介绍使用matlab仿真工具和其各种类型的算法,讲解高校涉及matlab的相关课程,免费提供通信类、导航类的产品级物理层算法、数据统计分析算法、图像处理算法、AI算法。义务为各高校的MATLAB学习社团和生物医学领域的科研人员做技术支持。

值得您关注!