锁相环PLL原理及matlab代码

news2024/10/6 18:28:09

    补偿相干系统中的激光器相位噪声。

    根据Wiener process的性质,离得越近的符号相位噪声在概率统计上越相似,因此,可以用上一个符号估计得到的相位当做当前这个符号的初始相位,再通过判决来估计当前符号的准确相位,这就是锁相环PLL的基本原理。

 

 gi和gp代表低通滤波器的带宽,gp小,可以更好抑制噪声,gp大,可以更好追踪相位,需要综合考虑

yk是接收的第k个符号,\hat{a}_{k}^{*}是 第k个判决符号的共轭,\Delta\hat{\phi}_{k}^{*}(k)是第k个估计的相位偏移

对于初始估计频偏,有一些降低硬件计算量的操作,主要是利用偏差相位角非常小,使用泰勒级数展开

 对于初始相位可以通过导频估计,然后粗补
 \frac{rx}{pilot} = e^{j \Delta \phi}=1+j \Delta \phi

sum(\frac{rx}{pilot}) = N+\sum_{i=1}^{N}j \Delta \phi_{i}

angle=atan(\frac{N+\sum_{i=1}^{N}j \Delta \phi_{i}}{N})=atan(\Delta \phi)
 

matlab代码

 %消除初始相位的影响
 PilotLen=length(PilotSym);
 ang=angle(sum(rxSym(1:PilotLen)./PilotSym));
 rxSym=rxSym.*exp(-1j*ang);

锁相环

 %CPR
 symLen=length(rxSym);
 deRxSym=rxSym;
 CPRrxSym=rxSym;
 error=zeros(1,symLen);
 phase=error;
 
 for i=2:symLen
     deRxSym(1,i-1)=hard_decision(CPRrxSym(1,i-1));
     error(1,i-1)=imag(CPRrxSym(1,i-1).*conj(deRxSym(1,i-1)));
     phase(1,i)=g*error(1,i-1)+phase(1,i-1);
     CPRrxSym(1,i)=rxSym(1,i).*exp(-1j*phase(1,i));
 end
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/692500.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OJ刷题 第十七篇

34005 - 汽水瓶 时间限制 : 1 秒 内存限制 : 128 MB 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶…

寻找失落的数字:让有序数组完美覆盖的最小区间范围

本篇博客会讲解力扣“228. 汇总区间”的解题思路,这是题目链接。 解题思路:使用left和right来维护有序区间的左右端点。一开始,left和right都初始化为0。注意,不能把right初始化成1,因为当数组只有1个元素时&#xff0…

MySQL 高可用配置及故障切换

MySQL 高可用配置及故障切换 一、MHA1.1 什么是 MHA1.2 MHA 的组成1.3 MHA 的特点1.4 MHA工作原理 二、搭建 MySQL MHA2.1 实验思路2.2 部署过程2.3 环境准备2.4 搭建MHA 一、MHA 1.1 什么是 MHA 1、MHA(MasterHigh Availability)是一套优秀的MySQL高可…

Redis基础认识

日升时奋斗,日落时自省 目录 1、Redis安装及配置 2、缓存简介 2.1、缓存优点 2.2、缓存分类 2.3、常见缓存使用 2.3.1、Spring Cache 2.3.2、Redis 3、Redis数据类型和使用 3.1、字符串类型 3.2、哈希类型 3.3、列表类型 3.4、集合类型 3.5、有序集合类…

华为举办5G商业对话沙龙,携手运营商共促5G产业再升级

【中国,上海,2023年06月27日】在2023 MWC 上海期间,华为举办“5G商业对话沙龙”,旨在面向国内外运营商,搭建产业深度交流和求策问计的对话平台,共同促进5G产业再升级。会议期间,与会嘉宾达成一致…

回收站数据恢复方法 回收站清空如何恢复数据

在日常使用计算机时,我们经常会不小心删除文件或者清空回收站,导致重要的数据似乎丢失。然而,在某些情况下,我们仍然有可能通过一些回收站数据恢复方法来找回已经被清空的回收站中的数据。今天我们一起来了解一下回收站数据恢复方…

HadoopHA搭建

主机设置 三台主机关闭防火墙 三台主机关闭SeLinux安全机制 给每台主机修改主机名 配置三台主机地址映射 设置免密登录 安装JDK 解压安装 配置jdk的环境变量 测试安装成功 分发JDK 分发配置文件 ZooKeeper配置 解压安装 添加ZK环境变量 分发文件 启动 安…

Redis基础第一篇

一 简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及…

【Python基础函数笔记】random.shuffle()

官方文档:random --- 生成伪随机数 — Python 3.10.11 文档 import random a[[sunny123.com,sunny],[zhangsanjust.cn.com,zhangsan],[lisijust.cn.com,lisi],[wangwujust.cn.com,wangwu]] random.shuffle(a) print(a)random.shuffle()用来打乱列表的。

ubuntu20下安装网络调试助手

1、下载安装包 链接:https://pan.baidu.com/s/1g-IzsYBuicxiRaeo4aNyqw?pwd35wm 提取码:35wm --来自百度网盘超级会员V6的分享 2、安装依赖文件 sudo add-apt-repository ppa:rock-core/qt4 sudo apt install libqt4-declarative 3、安装网络调试工…

如何在 SOLIDWORKS 工程图中显示金折弯线?

今天我们将展示使用多种方法可以使钣金折弯线在SOLIDWORKS工程图中显示(或不显示)。 在哪里可以找到弯曲线 首先,我们需要知道弯曲线存储/创建/保存的位置。在使用钣金工具生成的零件中,折弯线存储在展开模式特征中。显示/隐藏和…

差值结构的基态和跃迁

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由5张二值化的图片组成,让差值结构中有6个1, 行分布是0,1,1,2,2列分布是4,2. 得到数据 差值结构 A-B 迭代次数 共…

win10笔记本电脑总是自动休眠解决办法

1、运行regedit,进入注册表编辑器; 2、在打开的注册表编辑器左侧定位到:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0&…

软件测试必问的十道面试题

前言 (第一个就刷掉一大批人) 有很多“会自动化”的同学来咨询技术问题,他总会问到我一些元素定位的问题。元素定位其实都不算自动化面试的问题。 一般我都会问:你是定位不到吗?通常结果都是说确实定位不到。 做自…

100种思维模型之冗余备份系统思维模型-84

冗余备份系统思维,源于工程学,它指的是利用并联模型来提高系统可靠性,即通过备份或者自动防故障设备、措施来应对意外情况。 生活中,我们常说的Plan B、备胎计划等就是一种冗余备份。 01、何谓冗余备份系统思维模型 一、冗余备份…

C++primer(第五版)第三章(字符串、向量和数组)

本章主要介绍了字符串和vector以及数组,但是vector和数组差不多甚至比数组更加强大,完全可以用vector来代替数组,所以尽管书中有介绍数组,但我也不过多记录,有兴趣的小伙伴可以自行查看原书。 3.1命名空间的using声明…

MySQL-SQL InnoDB引擎 (上)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

使用VuePress生成静态网站并部署到github

目录 第一步 安装VuePress第二步 书写博客第二步 部署到github 第一步 安装VuePress VuePress是一个基于Vue驱动的静态网站生成器 相关资料 文档:https://v1.vuepress.vuejs.org/zh/github: https://github.com/vuejs/vuepressvuepress-deploy: https://github.c…

在 CentOS 7/8 上安装 NVIDIA Container Toolkit

文章目录 设置存储库和 GPG 密钥更新包列表后安装 nvidia-container-toolkit 包(和依赖项)配置 Docker 守护进程以识别 NVIDIA 容器运行时设置默认运行时后,重新启动 Docker 守护进程以完成安装测试 参考官方文档,在 CentOS 7 上…

测试用例设计简单吗?简单!但你有可能栽在这5道S级测试用例设计题上!(附答案)

很多人不知道写测试用例有什么用,而仅仅是像工具人一样,在每次提测之前,把测试用例照着需求文档抄一遍,仿佛像是走个过场。 开发提测之后,就照着测试用例点点点,可能一天就走完用例了,开发代码写…