基于costas环的载波同步系统matlab性能仿真

举报
简简单单做算法 发表于 2023/11/12 23:39:26 2023/11/12
【摘要】 1.算法运行效果图预览  2.算法运行软件版本matlab2022a  3.算法理论概述        基于Costas环的载波同步系统是一种用于恢复接收信号的载波频率和相位同步的系统。Costas环是一种特殊的环路锁相环路,广泛用于调制解调器、无线通信和雷达等领域。以下是基于Costas环的载波同步系统的基本原理和结构:Costas环是一种相位锁定环路,用于估计接收信号的载波频率和相位。它...

1.算法运行效果图预览

1.jpeg

2.jpeg

3.jpeg

4.jpeg

 

 

2.算法运行软件版本

matlab2022a

 

 

3.算法理论概述

        基于Costas环的载波同步系统是一种用于恢复接收信号的载波频率和相位同步的系统。Costas环是一种特殊的环路锁相环路,广泛用于调制解调器、无线通信和雷达等领域。以下是基于Costas环的载波同步系统的基本原理和结构:Costas环是一种相位锁定环路,用于估计接收信号的载波频率和相位。它的基本原理是通过不断迭代比较接收信号的相位差来实现频率和相位的同步。通过调整本地振荡器的频率和相位,使得接收信号与本地振荡器的相位差保持在一个特定的范围内,从而实现同步。

 

结构:

 

一个基本的基于Costas环的载波同步系统通常包括以下组件:

 

接收信号: 接收来自信道的调制信号,这通常是经过载波频率和相位偏移的信号。

 

混频器: 接收信号与本地振荡器的混频器将信号从中心频率移到基带频率。混频器输出的是相位差信号。

 

本地振荡器: 本地振荡器产生一个与接收信号频率和相位相近的信号。

 

Costas环路: Costas环路包括两个分支,一个用于估计频率,另一个用于估计相位。这两个分支分别用于控制本地振荡器的频率和相位。其基本公式如下:

 

 

       两路信号(I为上面一路,Q为下面一路)通过低通成形滤波器后与cossin相乘完成系统的调制,然后将两路调制信号相加完成混频,再发送出去。

6.png

7.png

8.png

 

相位差计算器: 用于计算混频器输出的相位差,以便反馈给Costas环路。

 

频率和相位调整器: 根据相位差计算结果,调整本地振荡器的频率和相位,以实现载波同步。

 

输出: 同步后的信号可用于进一步的解调或数据提取。

 

       基于Costas环的载波同步系统是一种有效的方式,用于恢复接收信号的载波频率和相位,以便正确解调信号并提取数据。这种系统在数字通信系统中非常常见,特别是在调制解调器和同步接收机中。

 

 

 

4.部分核心程序

I_Data=round(rand(N,1))*2-1;
Q_Data=round(rand(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:N
..........................................................................
end
figure
plot(Discriminator_Out);
grid on;
title('鉴相器输出');
% axis([1 len 0 7]);
figure
plot(mod(NCO,2*pi));
grid on;
title('NCO响应曲线');
axis([1 len 0 7]);
figure
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
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]);
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。