QPSK调制解调FPGA实现成果展示:

news/2024/4/24 23:16:15/

目录

QPSK调制解调使用参数:

调制:

解调:

FPGA工程架构:

仿真参数:

仿真展示:

调制:

解调:

MATLAB星座图展示:



QPSK调制解调使用参数:

采样率为4M,符号速率为1M,载波速率为1M,即一个符号采四个点

无噪声!

调制:

1.对二进制码元进行串并转换分为IQ两路

2.对IQ两路码元进行4倍上采样

3.对2中处理后的数据进行成型滤波

4.对3中处理后的IQ两路数据与载波相乘并相加得到调制信号

解调:

1.对调制信号进行数字下变频,然后经过低通滤波得到基带信号

2.对1处理后的数据进行符号同步(Gardner环)并得到同步时钟

3.在同步时钟下对2处理后的数据进行载波同步以及相差恢复处理

4.进行硬判决得到4进制码元

5.进行并串转换得到二进制码元

FPGA工程架构:

仿真参数:

1.仿真文件中给了5000个随机二进制01码元

2.该工程可以保证连续100个码元正确解调!当然也可以更多,但是不能无限连续(因为要对数据进行上采样),如图1中将99扩为999那么就可以保证连续1000个码元正确解调,但这样会占用更多的寄存器资源

图1

3.映射关系如图2所示:

图2

仿真展示:

调制:

1005ns系统复位结束,开始运行

1005ns之后,可以看到发送码元数据I_data[0:0]为001111110110110101011(图3)

S_bing[1:0]为串并转换之后的数据,S_bing_val代表当前时钟并行数据是有效的(图3)

S_data_i与S_data_q是串并转换之后经过映射的iq两路数据(对应坐标轴四个象限星座点)

经过上采样后的IQ两路数据(4倍)经过成型滤波后波形:

IQ两路与载波相乘之后再相加生成调制信号:

解调:

先经过数字下变频将信号搬到基带:

再经过低通滤波滤除高频分量得到基带信号


再经过Gardner环进行符号同步:

再经过载波同步以及相差恢复处理

最后经过硬判决得到解调后码元

MATLAB星座图展示:


http://www.ppmy.cn/news/46866.html

相关文章

ChatGPT研究报告:AIGC带来新一轮范式转移

本文约4000字,目标是快速建立AIGC知识体系,含有大量的计算专业名词,建议阅读同时扩展搜索。 一、行业现状 1、概念界定 区别于PGC与UGC不同的,AIGC是利用人工智能技术自动生成内容的新型生产方式。 2、数据模态 按照模态区分&a…

01-java基本概念

1、语言背景 Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言 Java之父:詹姆斯高斯林(James Gosling) 2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官…

Unity 边缘光

文章目录 边缘光是什么实现原理代码 refer: 参考1 参考2 边缘光是什么 边缘光的用处很广泛,比如材质的渲染,云的渲染,角色选中特效等 边缘光也是描边的一种 下面这两张就是添加边缘光后的对比: 这样的效果在这种玉石…

【Linux内核解析-linux-5.14.10】进程管理

1. 进程管理 进程管理主要包括: 进程调度:Linux内核中的进程调度机制,包括进程调度策略、调度器、进程状态等。进程创建:Linux内核中的进程创建机制,包括fork()、exec()等函数的实现原理。进程通信:Linux…

代码随想录算法训练营第五十九天| 单调栈 503 下一个更大元素II 42 接雨水

代码随想录算法训练营第五十九天| 单调栈 503 下一个更大元素II 42 接雨水 LeetCode 503 下一个更大元素II 题目: 503.下一个更大元素II 思路:本题重点在于如何处理循环数组,首先想到将两个数组拼在一起,然后使用单调栈求下一个最大值 方…

打造安全无忧软件应用的十大最佳实践

安全无忧的软件开发最佳实践实在是很有必要,因为安全风险无处不在。在网络攻击盛行的时代,它们可能影响到每个人,包括个人、公司和政府。因此,确保软件开发的安全性至关重要。 本篇文章将解释了什么是安全的软件,如何…

[SSD核心技术:FTL 17] 固态硬盘掉电保护也是一门艺术 | 掉电保护原理与抉择 | 掉电保护测试

声明 主页:元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言。 个人辛苦整理,付费内容,禁止转载。 内容摘要 全文4800字, 阅读大约 24 分钟 前言 1 系统掉电的灾难

一起学 WebGL:三角形加上渐变色

大家好,我是前端西瓜哥。之前教大家绘制一个红色的三角形,这次我们来画个有渐变的三角形。 本文为系列文章,请先阅读如何绘制红色三角形的文章: 《一起学 WebGL:绘制三角形》 原来的写法,颜色是在片元着色器…

恢复误删文件

误删恢复 用losf恢复进程存在的文件 注意此处要后台进程存在 创建一个文件,用tail命令,模拟文件一直被监听 打开另外一个终端,删除这个文件 用lsof命令查看被删除的文件,可以发现文件虽然被删除,但是进程依然在 然后…

16 个优秀的 Vue 开源项目

为什么我们要关注Vue Vue是一个用于构建用户界面的JavaScript框架。值得关注的是,它在没有谷歌和Facebook的支持下获得了大量的人气。 Vue是结合react和angular的最好的方法,并且拥有一个有凝聚力的,活跃的,能够应对开发问题的大型…

2023/4/13总结

最小生成树 一、Prim算法 1.prim算法也被称为“加点法”,因为该算法是先从任意一顶点出发不断的选择目前距离最近且未被选择的点加入到已选的集合中,直到所有的点都被选到。(和最短路径中的Dijkstra算法很像) 2.prim算法的实现…

文件操作【下篇】

文章目录 🗃️5.文件的随机读写📁5.1. fseek📁5.2. ftell📁5.3. rewind 🗃️6.文本文件和二进制文件🗃️7.文件读取结束的判定📁7.1. 被错误使用的 feof 🗃️8.文件缓冲区 &#x1f…

折叠屏市场起风,华为、OPPO“你追我赶”

配图来自Canva可画 现如今,智能手机已经成为了人们生活中不可或缺的重要工具,无论是出行,还是社交,亦或是支付,只需要一部智能手机就可以通通搞定。因此,在消费者多样化需求的助推下,智能手机行…

研读Rust圣经解析——Rust learn-3(变量与可变性,数据类型)

研读Rust圣经解析——Rust learn-3(变量与可变性,数据类型) 变量|常量与可变性变量声明案例为什么不可变变量可变(mut关键字)变量可变(覆盖) 常量声明 数据类型标量类型整型整型字面值整型溢出问…

Go分布式爬虫笔记(二十二)

文章目录 22 辅助任务管理:任务优先级、去重与失败处理设置爬虫最大深度避免请求重复设置优先队列设置随机User-Agent失败处理 22 辅助任务管理:任务优先级、去重与失败处理 设置爬虫最大深度 目的: 防止访问陷入到死循环控制爬取的有效链接的数量 最…

ChatGPT实战100例 - (09) Python工具类库终结者

文章目录 ChatGPT实战100例 - (09) Python工具类库终结者一、需求与思路二、时间工具三、扩充工具四、编写测试五、 总结 ChatGPT实战100例 - (09) Python工具类库终结者 一、需求与思路 自从用了ChatGPT,再也不用满大街找工具类了。 需要啥工具,咱用C…

数据结构入门(C语言版)二叉树概念及结构(入门)

二叉树概念及结构(入门) 树的概念及结构1.树的概念及结构1.1 树的概念1.2 树的相关知识1.3 树的结构体表示1.4 树的实际运用 2.二叉树概念及结构2.1 二叉树的概念2.2 现实中的二叉树2.3 特殊的二叉树2.4 二叉树的性质2.5 二叉树的存储结构 结语 树的概念…

根据 cadence 设计图学习硬件知识 day01了解腾锐 D2000芯片

1. 首先了解 腾锐 D2000 1.介绍 腾锐D2000 芯片 D2000芯片集成8个飞腾自主研发的新一代高性能处理器内核FTC663,采用乱序四发射超标量流水线,兼容64位ARMV8指令集并支持ARM64和ARM32两种执行模式,支持单精度、双精度浮点运算指令和ASIMD处…

设计模式 -- 门面模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

100种思维模型之非共识思维模型-48

某一件事或者某一个环境当中,绝大多数人往右走,而你 发现真正的路是左边 的时候,该怎么选择? 往左边走,做非共识但正确的事,因为一旦你的真的是对的,你将会得到一切。 非共识思维模型是一个提…