首页 > 其他分享 >基于costas环的载波同步系统matlab性能仿真

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

时间:2023-11-12 23:57:40浏览次数:38  
标签:相位 title 载波 grid matlab 信号 costas Costas

1.算法运行效果图预览

 

 

2.算法运行软件版本

matlab2022a

 

 

3.算法理论概述

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

 

结构:

 

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

 

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

 

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

 

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

 

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

 

 

 

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

 

 

 

 

相位差计算器: 用于计算混频器输出的相位差,以便反馈给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]);

  

标签:相位,title,载波,grid,matlab,信号,costas,Costas
From: https://www.cnblogs.com/matlabworld/p/17828200.html

相关文章

  • MATLAB中的路径可以设置为变量
    MATLAB中的路径可以设置为变量,比如:%======'.csv'文件的路径赋值给变量filename_csvfilename_csv='I:\two-parallel-spherical-particles-settlement\no-PoiseuilleSettlement-distance-P0\distance-0.2d1\postProcessing\front_surface_pressure_005.csv';%======通......
  • MATLAB将数据写入Excel表格并添加表头
    MATLAB中写入Excel表格的函数为:xlswrite(filename,data,sheet,Range)其中的函数参数如下:filename:文件名,可以是绝对路径也可以是相对路径data:写入表格文件的数据sheet:写入的工作表,指的是sheet1、sheet2或者自己命名的工作表Range:写入的单元格区域,比如A4,指的是从A4开始写入数......
  • MATLAB快捷键
    ​ 一、常用对象操作除了一般windows窗口的常用功能键外。1、!dir可以查看当前工作目录的文件。!dir&可以在dos状态下查看。2、who  可以查看当前工作空间变量名,whos可以查看变量名细节。3、功能键:功能键       快捷键       说明方向上键......
  • Matlab绘图控制命令
    ​ 图形的控制与表现(Figurecontrolandrepresentation) MATLAB提供的用于图形控制的函数和命令:axis: 人工选择坐标轴尺寸.   clf:  清图形窗口. ginput:利用鼠标的十字准线输入.  hold:  保持图形.   shg:......
  • Matlab pid参数调节工具箱
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • MATLAB热传导方程模型最小二乘法模型、线性规划对集成电路板炉温优化
    原文链接:https://tecdat.cn/?p=34230原文出处:拓端数据部落公众号分析师:LuoyanZhang集成电路板等电子产品生产中,控制回焊炉各部分保持工艺要求的温度对产品质量至关重要。通过分析炉温曲线,可以检查和改善产品生产质量,提高产量和解决生产问题。高效温度曲线测试系统的必要组件包......
  • matlab地图仪绘制
    %绘制地球仪,并标出我们的位置clareset;loadtopo;[x,y,z]=sphere(45);%45是画出来的球面的经纬分面数s=surface(x,y,z,'FaceColor','texturemap','CData',topo);colormap(topomap1);%Brightenthecolormapforbetterannotationvisibility:brighten......
  • matlab快捷键大全
    ​ 一、常用对象操作除了一般windows窗口的常用功能键外。1、!dir可以查看当前工作目录的文件。!dir&可以在dos状态下查看。2、who  可以查看当前工作空间变量名,whos可以查看变量名细节。3、功能键:功能键       快捷键       说明方向上键......
  • 利用Matlab制作钟表
    hObject=figure;set(hObject,'NumberTitle','off');set(hObject,'MenuBar','none');set(hObject,'visible','on');A=linspace(0,2*pi,1000);%0到6.3之间产生1000个点,此为极坐标:0~2pix1=8*cos(A);y1=8*sin(A);%设......
  • 利用Matlab提取图片中曲线数据
    ​在MATLAB中得到系统当前日期、时间也是经常用到的内容,由以下函数实现。1.生成指定格式日期和时间datestr-生成指定格式日期和时间,是字符型变量。>> datestr(now) %其中now是获取当前日期和时间ans=    30-Dec-200916:05:16其中输出格式可由用户指定,共有31种格式......