首页 > 其他分享 >m基于Costas环的QPSK载波同步matlab性能仿真,对比不同环路系数等对载波同步的影响

m基于Costas环的QPSK载波同步matlab性能仿真,对比不同环路系数等对载波同步的影响

时间:2023-07-21 23:33:34浏览次数:37  
标签:QPSK 同步 comps2 sign num compf1 载波

1.算法仿真效果

matlab2022a仿真结果如下:

 

 

 

 

 

 

 

2.算法涉及理论知识概要

        在数字通信中,载波同步是保证正常数据传输的重要环节之一。Costas环是一种常用的基于相位差检测的载波同步方法,适用于QPSK调制信号的同步。本文将介绍基于Costas环的QPSK载波同步方法,并比较不同环路系数对载波同步的影响。

 

      载波同步是相干解调的基础,不管对于模拟通信还是数字通信来说,只要是相干解调,接收端都必须提供同频同相的载波。当然,若采用基带传输,此时便没有载波同步的问题,因为没有频带调制,即没有乘以载波进行频谱搬移的过程。

 

 

 

 

 

2.3、不同环路系数对载波同步的影响

       在实际应用中,选择合适的环路系数对于保证载波同步的稳定性和精度非常重要。一般来说,比例增益 $K_p$ 决定了载波同步的响应速度,积分增益 $K_i$ 决定了载波同步的稳定性。在本文中,我们将分别比较不同的 $K_p$ 和 $K_i$ 值对于载波同步的影响。在实验中,我们将QPSK调制信号传输至接收端,通过基于Costas环的QPSK载波同步方法实现载波同步,并记录不同 $K_p$ 和 $K_i$ 值下的误差向量幅度和相位误差。

 

3.MATLAB核心程序

 

SNRS = [2:2:16];
 
for SNR_DB = SNRS
    SNR_DB
     % SNR_DB = 4
     rece = awgn(send,SNR_DB,'measured');  %接受端的信号,加载指定的snr
     %rece = send;
     %锁相环参数预设
     Discriminator_Out=zeros(carlen * nsamp,1);
     Freq_Control=zeros(carlen * nsamp,1);
     PLL_Phase_Part=zeros(carlen * nsamp,1);   %锁相环频率
     PLL_Freq_Part=zeros(carlen * nsamp,1);    %锁相环相位
     WC_frame = zeros(1,carlen * nsamp);       
     NCO_Phase = 0;
 
............................................................................
         end
     end
 
    
    %判断同步头,信号是否出现了反相,及时调整
    num1 = symerr(sign(I_D(comps1:compf1)) , sign(dataoutI(comps1:compf1)));
    num2 = symerr(sign(I_D(comps1:compf1)) , -sign(dataoutI(comps1:compf1)));
    num3 = symerr(sign(I_D(comps1:compf1)) , sign(dataoutQ(comps1:compf1)));
    num4 = symerr(sign(I_D(comps1:compf1)) , -sign(dataoutQ(comps1:compf1)));
    numI = [num1,num2,num3,num4];
    num = min(numI)
 
    if num1 == num
        dataout_I = dataoutI;
    elseif num2 == num
        dataout_I = -dataoutI;
    elseif  num3 == num
        dataout_I = dataoutQ;
    else
        dataout_I = -dataoutQ;
    end
 
    num1 = symerr(sign(Q_D(comps2:compf2)) , sign(dataoutQ(comps2:compf2)));
    num2 = symerr(sign(Q_D(comps2:compf2)) , -sign(dataoutQ(comps2:compf2)));
    num3 = symerr(sign(Q_D(comps2:compf2)) , sign(dataoutI(comps2:compf2)));
    num4 = symerr(sign(Q_D(comps2:compf2)) , -sign(dataoutI(comps2:compf2)));
    numQ = [num1,num2,num3,num4];
    num = min(numQ)
 
    if num1 == num
        dataout_Q = dataoutQ;
    elseif num2 == num
        dataout_Q = -dataoutQ;
    elseif  num3 == num
        dataout_Q = dataoutI;
    else
        dataout_Q = -dataoutI;
    end

 

  

 

标签:QPSK,同步,comps2,sign,num,compf1,载波
From: https://www.cnblogs.com/51matlab/p/17572613.html

相关文章

  • m基于Costas环的QPSK载波同步matlab性能仿真,对比不同环路系数等对载波同步的影响
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要在数字通信中,载波同步是保证正常数据传输的重要环节之一。Costas环是一种常用的基于相位差检测的载波同步方法,适用于QPSK调制信号的同步。本文将介绍基于Costas环的QPSK载波同步方法,并比较不同环路系数对载波同步......
  • [Joplin] git实现Joplin多PC端加密文件同步
    git实现Joplin多PC端加密文件同步场景一些笔记虽然不是什么重要的东西,但是需要加密一下同时也要在不同的PC端进行编辑(上班+下班)方案通过Joplin加密文件内容,将加密文件同步到本地Filesystem再通过git上传到代码托管平台步骤前提:已有项目仓库,会用......
  • 在 SQL Server Always On 可用性组中的可用性副本之间同步登录
    介绍SQLServerAlwaysOn可用性组为SQL数据库提供高可用性和灾难恢复解决方案。如果主副本出现任何问题,它会自动对辅助副本上的AG数据库进行故障转移。只要我们利用侦听器,您的应用程序就不需要对连接字符串进行任何更改。但是,在SQLAlwaysOn中,同步可用性组的各个数据库......
  • Debian12配置NTP时间同步
    环境查看系统版本:lsb_release-a配置NTP时间同步下面的配置需要用到管理员权限,可以使用su切换到管理员权限。查看/修正时区查看系统时区:timedatectl如果时区不是Asia/Shanghai需要修改时区为东八区root@debian:/home/test#timedatectlset-timezone"Asia/Shanghai"查......
  • 用rsync来同步mongodb的数据,可行吗?
    用rsync来同步mongodb的数据,可行吗?当涉及到数据的备份和同步时,rsync是一个非常常用的工具。那么,我们可以使用rsync来同步mongodb的数据吗?答案是肯定的。在本文中,我将介绍如何使用rsync来备份和同步mongodb的数据,并提供相应的代码示例。首先,让我们来了解一下rsync。rsync是一个......
  • 阻塞与非阻塞、同步与异步 I/O模型
    I/O模型Linux下的五种I/O模型阻塞I/O(blockingI/O)非阻塞I/O(nonblockingI/O)I/O复用(select和poll)(I/Omultiplexing)信号驱动I/O(signaldrivenI/O(SIGIO))异步I/O(asynchronousI/O(thePOSIXaio_functions))前四种都是同步,只有最后一种才是异步IO。 Winsock的异步IO模......
  • Discuz x3 UCenter实现同步登陆原理
    1、Discuzx3的登录页面URL是:/member.php?mod=logging&action=login2、这个登录页面,登录提交的地址是:<formmethod="post"autocomplete="off"name="login"id="loginform_LKsWY"class="cl"onsubmit="pwdclear=1;ajaxpo......
  • windows clion代码同步(rsync)
    代码同步原理简单说,客户端将代码上传到云端,利用云端环境进行编译,编译成功后将产物(符号表)拉取至本地进行加载,ide对符号表进行索引,则完成整个代码的加载。同步配置参考前置条件假设已经安装好gcc环境和cmake-3.6.x环境配置教程参考https://cloud.tencent.com/developer/articl......
  • STK之Commu模块之仿真同步卫星与地面站通信
    目录前言一、建立场景二、开展评估前言通过STK软件,建立了两个地面站北京和三亚通过同步轨道卫星之间开展通信的场景,并进行了通信链路性能仿真评估,通信链路顺序是北京->卫星->三亚。场景文件下载地址:https://download.csdn.net/download/juanhuokang2681/19861721?s......
  • OpenMLDB 发布线上到线下数据自动同步工具
    OpenMLDB正式发布线上到线下数据自动同步工具OpenMLDB作为一个线上线下一致的实时特征计算平台,通过合理的线上线下数据存储,确保线上到线下数据的一致性。由于线上和线下数据有不同性能和数据量的需求,通常情况下,OpenMLDB的线上和线下的数据在物理上是分开存储。在以前版本中,需......