【MATLAB源码-第27期】基于matlab的QPSK定时同步仿真,采用gardner算法,Costa锁相环。

操作环境:

MATLAB 2022a

1、算法描述

QPSK,有时也称作四位元PSK、四相位PSK、4-PSK,在坐标图上看是圆上四个对称的点。通过四个相位,QPSK可以编码2位元符号。图中采用格雷码来达到最小位元错误率(BER) — 是BPSK的两倍. 这意味著可以在BPSK系统带宽不变的情况下增大一倍数据传送速率或者在BPSK数据传送速率不变的情况下将所需带宽减半。

数学分析表明,QPSK既可以在保证相同信号带宽的前提下倍增BPSK系统的数据速率,也可以在保证数据速率的前提下减半BPSK系统的带宽需求。在后一种情况下,QPSK的BER与BPSK系统的BER完全相同。

由于无线电通讯的带宽都是由FCC一类部门所事先分配规定的,QPSK较之于BPSK的优势便开始显现出来:QPSK系统在给定的带宽内可以在BER相同的情况下可以提供BPSK系统两倍的带宽。采取QPSK系统在实际工程上的代价是其接收设备要远比BPSK系统的接收设备复杂。然而,随着现代电子技术的迅猛发展,这种代价已经变得微不足道。

较之BPSK系统,QPSK系统在接收端存在相位模糊的问题,所以实际应用中经常采取差分编码QPSK的方式。

**锁相环(PLL)** 是一种控制系统,用于将一个参考信号的相位与一个输入信号的相位同步。它在许多领域中都有应用,如通信、无线电、音频、视频和计算机系统。锁相环通常由以下几个关键组件组成:

1. **相位比较器(Phase Comparator):** 这个组件比较输入信号和参考信号的相位差异,并输出一个反映这种差异的电压或数字信号。
2. **低通滤波器(Low-Pass Filter):** 这个组件用于平滑相位比较器的输出,以便获得一个稳定的控制电压或信号。
3. **振荡器(Oscillator):** 这是一个产生频率稳定的信号的元件,其频率可以通过调节控制电压来改变。在锁相环中,振荡器的频率可以被控制,以便使其输出的信号与参考信号的频率和相位保持同步。
4. **分频器(Divider):** 这个组件将振荡器的输出分频,生成一个或多个较低频率的信号,用于各种应用中。


**Gardner同步算法** 是一种数字通信系统中的时钟同步算法,适用于传输信道可能引入不确定延迟的情况。以下是算法的详细步骤:
1. **采样阶段:** 接收端以恒定的采样率对接收信号进行采样,得到一系列采样值。
2. **差异计算:** 算法计算相邻两个采样点之间的差异,即它们之间的信号值差。这个差异值代表了信号在传输路径中可能遭受的延迟。
3. **错误计算:** 对于每对相邻采样点,将差异值乘以它们的乘积,得到一个误差值。这个误差值可以指示接收时钟的相位相对于发送时钟的偏移。
4. **相位调整:** 根据误差值的正负,调整本地时钟的相位。如果误差为正,表示接收时钟比发送时钟快,因此需要减小本地时钟的相位;如果误差为负,则需要增加本地时钟的相位。
5. **循环迭代:** 重复以上步骤,直到接收时钟的相位与发送时钟的相位基本一致,从而实现精确的时钟同步。

总体而言,Gardner同步算法通过不断计算信号差异和调整本地时钟相位,逐步减小时钟偏移,从而实现精确的时钟同步,即使在信道质量不佳的情况下也能够有效工作。这对于数字通信系统中的数据恢复和解调至关重要。

2、仿真结果演示

3、关键代码展示

4、MATLAB 源码获取

点击下方原文链接获取

【MATLAB源码-第27期】基于matlab的QPSK定时同步仿真,采用gardner算法,Costa锁相环。_matlab 定时同步-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Koukesuki/article/details/132853456?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171314739716800182777622%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171314739716800182777622&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-132853456-null-null.nonecase&utm_term=27&spm=1018.2226.3001.4450

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot的综合成绩管理系统(含源码+sql+视频导入教程+文档+PPT)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的综合成绩管理系统2拥有三个角色 管理员:学生管理、班主任管理、班级管理、综合测评管理等 学生:综合测评/德育成绩/课程成绩/体育成绩的登记 班…

Scrapy框架 进阶

Scrapy框架基础Scrapy框架进阶 【五】持久化存储 命令行:json、csv等管道:什么数据类型都可以 【1】命令行简单存储 (1)语法 Json格式 scrapy crawl 自定义爬虫程序文件名 -o 文件名.jsonCSV格式 scrapy crawl 自定义爬虫程…

WinForms 零基础进阶教程:文件操作与 CSV 处理

文章目录 文件操作数据存储与文件操作文件存取的好处文件存取的方式文本文件的写入和读取文本文件的删除、复制和移动 目录的操作文件属性操作文件路径 对话框OpenFileDialog对话框SaveFileDialog对话框对话框中CheckPathExists属性的应用 CSV 文件读写与 DataGridView 进阶Dat…

创新营销利器:淘宝扭蛋机小程序开发全解析

在数字化浪潮的推动下,淘宝扭蛋机小程序的开发成为了一种全新的购物体验。它巧妙地将传统扭蛋机的乐趣与移动技术的便捷相结合,为用户带来了前所未有的惊喜与互动。 淘宝扭蛋机小程序的开发,不仅是一次技术的革新,更是一次购物方…

用于 SQLite 的异步 I/O 模块(二十四)

返回:SQLite—系列文章目录 上一篇:SQLite的PRAGMA 声明(二十三) 下一篇:SQLite、MySQL 和 PostgreSQL 数据库速度比较(本文阐述时间很早比较,不具有最新参考性)(二…

计算机网络——WEB服务器编程实验

实验目的 1. 处理一个 http 请求 2. 接收并解析 http 请求 3. 从服务器文件系统中获得被请求的文件 4. 创建一个包括被请求的文件的 http 响应信息 5. 直接发送该信息到客户端 具体内容 一、C 程序来实现 web 服务器功能。 二、用 HTML 语言编写两个 HTML文件,并…

webpack打包ts代码

前面一篇文章介绍了如何使用ts‘编译器编译ts代码。但是在实际开发中很少直接使用ts编译器编译ts代码,而是配合打包工具来进行编译。本篇文章将介绍如何通过webpack对ts代码进行编译! 生成package.json包 在新开的文件夹下运行以下命令 npm init -y安…

智慧医疗app

智慧医疗app是一套融合物联网、云计算和大数据等技术,以患者数据为中心的医疗服务模式,致力于为患者提供更加便捷、高效的医疗服务。 在线挂号、在线问诊、电子病历记录、健康管理以及药品购买等。患者可以通过app选择医生和挂号时间,并在线…

AI天使汇联合150家顶级基金、战投,征集优秀AI创业项目

鉴于AI天使汇主办的2024年3月期优秀项目征集活动效果超出预期,3月活动最后TOP20路演者中已有多家快速拿到了TS。 路演活动质量受到了AI创业公司和基金/战投伙伴的高度评价,现在开始四月期活动报名! 本期征集活动联合的顶级基金和战投数量增加到了150家…

数据可视化高级技术Echarts(桑基图入门)

目录 一、什么是桑基图 二、基本特征 三、设计注意事项 四、使用Echarts进行初级绘制 1.首先不能忘记五个基本步骤 2.绘制的时需要将图像类型series.type设定为sankey类型。 一、什么是桑基图 桑基图(Sankey diagram),即桑基能量分流图&…

【氮化镓】微波脉冲对GaN HEMT失效的影响

本文是一篇关于高功率微波脉冲作用下GaN HEMT(高电子迁移率晶体管)热电多物理场耦合失效的实验研究。文章由Xiangdong Li等人撰写,发表在2023年11月的《IEEE Transactions on Electron Devices》上。文章通过实验研究了在高功率微波脉冲应力下…

如何利用open3D来生成OCC

config.yaml depth: 10:#深度,设定为10,常用于决定处理或计算的层次或深入程度。 min_density: 0.1:#最小密度,设置为0.1,用于过滤或选择的密度阈值。 n_threads: -1:#线程数,设为-…