当前位置: 首页 > news >正文

什么是QAM

什么是调制呢?

调制就是把信号形式转换成适合在信道中传输的一个过程。可分为基带调制和载波调制。我们这里所说的调制都是载波调制。

什么是载波调制呢?

就是把调制信号骑到载波上,方法就是用调制信号去控制载波的参数,使载波的一个参数或者几个参数按照调制信号的规律变化。

载波调制根据调制信号的类型,又可以分为模拟调制和数字调制。

如果调制信号是连续的模拟信号的话,这样的调制就是模拟调制,我们在文章《信号调制,这样是不是就懂了?》介绍的三种最基本的调制方式:AM,FM和PM都是模拟调制的一类。

图片

通过这一个操作,就可以让信号搭上载波的快速列车,然后传输出去。经过调制的信号,称为已调信号,在接收端可以通过解调的方式把信号恢复出来。

调幅和调频都比较容易理解,一个是幅度的变化,一个是频率的变化。那怎么又多出来一个QAM呢?

AM既然是调幅,前面的那个Q是什么呢?Quadrature,正交的意思,QAM就是正交幅度调制。在通信这个学科里面,正交是指这两个信号有90°的相位差。也就是在QAM里面,既有相位调制,又有幅度调制。这一改还不得了,不仅有4QAM,8QAM,16QAM… 甚至还有1024QAM。一下子就把调制的信息翻了好多倍,牛x的不得了了。

QAM的原理是什么呢?

我们从一个最简单的信号说起。

图片

按照三角函数公式展开就是

图片

这样就把信号s(t)展开成了两个相位相差90°的正交信号的和,这个两个正交信号分量就是 In-phase 信号和 Quadrature 信号,

图片

这两个正交分量如下图所示,相位相差90°。

图片

这两路正交信号呢,经过DA变换器之后,就来到了我们模拟通道,我们需要对这两个信号分别进行调制,让这两个信号都搭上射频载波的高速列车。模拟部分对QAM的处理并不复杂,I /Q 信号可以共用一个频率源LO,然后通过混频器直接上变频即可,只是在Q通道,本振信号需要90°的相移,以匹配Q(t)正交特性。

图片

所以呢,对于QAM载波调制,从原理图上可以看出,我们仅需要分别对I(t)和Q(t)进行混频即可,然后合路成一路信号S(t)进入到射频通道的另一个环节。所以对于模拟信号的QAM调制,也就是这么个回事。

数字信号QAM调制

既然说到数字调制,那我们就简单复习一下数字调制的三种基本方式:振幅键控ASK,频移键控FSK和相移键控PSK。

振幅键控ASK,类似于模拟调制中的AM,即用01 高低电平来调制载波信号的振幅。

频移键控FSK,类似于模拟调制中的FM,即用01电平去调制载波信号的频率;

相移键控PSK,也就是用01电平去调制载波信号的相位。

下图给出了数字调制的三种基本调制的已调信号波形。

图片

QAM正交幅度调制来到数字调制这里就活跃起来了,既然主信号分成了 I 、Q 两路信号,每个信号分量都有其各自的幅度和相位。那变化的花样可就多了。什么16QAM,64QAM,256QAM,wifi7 现在玩到了4kQAM,即4096-QAM,牛叉的不要不要的。

为什么m-QAM这个m越大越牛叉呢?

在数字信号中,我们引入了一个比特 bit 的概念,这个比特就是比特币的比特,代号是B,好贵啊,1 比特币现在值15万元, OMG。

图片

数字信号的BIT就是二进制数字中0和1的位,信息量的度量单位,为信息量的最小单位。二进制数的一位所包含的信息就是一比特,如二进制数0100就是4比特。一个比特位里面可以含2个信息(0或者1),4比特就可以包含2^4 个信息。所以比特位越多,所能传输的信息量就越大。所以从理论上来说,m-QAM中的m越大,所能传输的信息量就越大,传输速率也就越快。所以呢最新的wifi7标准直接干到了4k-QAM,一个信号包含12个bit位。

图片

QAM是怎么实现的呢?
我们回到上文QAM的原理部分,继续刷数学公式。
图片
上式中的I(t)和Q(t)信号的幅度提出来玩一下:
图片
这两个正交分量的幅度AI 和AQ 又是一组正交的函数。我们可以取多个不同的A和Φ,来得到多组不同的I(t)和Q(t)信号,也就是可以完成主信号 S(t)的多种调制。
若A值取±A,Φ值取±90°,这就有四组不同的组合,也就是4-QAM调制,也就是QPSK。同理,通过A和Φ的不同组合,就可以得到16-QAM,甚至64-QAM,甚至更多。
为了更好的理解,我们引入了星座图的概念,下面这个动图,生动的展示了16-QAM调制的幅度和相位选值以及其对应的二进制码元:Amp 就是A的选值,Phase 就是上式中的相位Φ的选值。
图片

每个点对应的波形图可以参考下图所示。
图片
星座图比较直观地展示了m-QAM的信号矢量信息。更大的m,只需要更多的点来表示即可。下图给出了Wifi5 的256-QAM和wifi6的1024-QAM 星座图。
图片

QAM信号是怎么产生的呢?
常用的方法有两种:正交调幅法和复合相移法
以16-QAM调制为例,正交调幅法就是用两路独立的正交4ASK信号叠加,形成16QAM信号。
图片
而复合相移法就是用两路独立的QPSK信号叠加,形成16QAM信号。下图中红圈上的四个点表示第一个QPSK的信号矢量的位置,在这四个位置上,可以叠加第二个QPSK矢量,下图蓝色圈上的四个点。
图片
到这,对于QAM调制的基本原理,相信大家都有了一个初印象。那是不是就可以直接搞更大的QAM,不仅上4k,还有8k,不是QAM的m越大,无线通信系统的数据速率和频谱效率会越高吗?但是事情往往有两面性,QAM调制的m越大,对噪声和干扰的要求也就越高。
Wifi这种室内短距应用,噪声条件比较理想,更高阶的QAM还有发挥的空间,但是对于移动无线通信,室外噪声环境极其恶劣,更高阶的QAM,挑战极其大。所以现在的5G通信,256QAM是一个比较折中的调制方式。

相关文章:

什么是QAM

什么是调制呢? 调制就是把信号形式转换成适合在信道中传输的一个过程。可分为基带调制和载波调制。我们这里所说的调制都是载波调制。 什么是载波调制呢? 就是把调制信号骑到载波上,方法就是用调制信号去控制载波的参数,使载波…...

GraphQL 与 Elasticsearch 相遇:使用 Hasura DDN 构建可扩展、支持 AI 的应用程序

作者:来自 Elastic Praveen Durairaju GraphQL 提供了一种高效且灵活的数据查询方式。本博客将解释 Hasura DDN 如何与 Elasticsearch 配合使用,以实现高性能和元数据驱动的数据访问。 此示例的代码和设置可在此 GitHub 存储库 - elasticsearch-subgraph…...

面试题整理 3

总结了某公司面试遇到的值得整理记录的面试题,比较侧重于Redis方面。 目录 Redis持久化配置 RDB AOF Redis rdb日志文件路径编辑 命令行参数设置 Redis事务 Redis事务介绍 Redis事务阶段 watch监听 Mysql隔离级别 1.READ UNCOMMITTED 2.READ COMMITTED …...

数据结构(Java)—— 认识泛型

1. 包装类 在学习泛型前我们需要先了解一下包装类 在 Java 中,由于基本类型不是继承自 Object ,为了在泛型代码中可以支持基本类型, Java 给每个基本类型都对应了一个包装类型。 1.1 基本数据类型和对应的包装类 基本数据类型包装类byteByt…...

处理后的视频如何加上音频信息?

总方案:原来模型对图像进行每帧处理,保留后的视频自然失去了audio信息,因此先用ffmpeg处理得到audio,原输出video加上audio即可,也采用ffmpeg处理。 imageio库用于读取和写入视频文件,并且你正在使用img_cartoon模型处理每一帧图像。然而,这段代码只处理了视频的图像部…...

02LangChain 实战课——安装入门

LangChain安装入门 一、大语言模型简介 大语言模型是利用深度学习技术,尤其是神经网络,来理解和生成人类语言的人工智能模型。这些模型因其庞大的参数数量而得名,能够理解和生成复杂的语言模式。它们通过预测下一个词来训练,基于…...

Python函数中关键字参数、位置参数、默认参数有何不同

在Python中,函数的参数分为三种类型:关键字参数(key arguments)、位置参数(positional arguments)和默认参数(default arguments)。它们的主要区别在于调用时如何传递值,…...

PNG 格式和 JPG 格式都什么时候用

通常我们都知道,如果是针对网络传输或者网站的格式,我们多会使用 PNG 格式。 如果是照片,大部分都是 JPG 格式的。 那么我们网站常用的截图应该保存为什么格式呢? 照片截图 照片截图应该保存为 JPG 格式。 虽然现在我们多存储…...

Qt 练习做一个登录界面

练习做一个登录界面 效果 UI图 UI代码 <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>Dialog</class><widget class"QDialog" name"Dialog"><property name"ge…...

计算机视觉实验一:图像基础处理

1. 图像的直方图均衡 1.1 实验目的与要求 (1)理解直方图均衡的原理与作用; (2)掌握统计图像直方图的方法; (3)掌握图像直方图均衡的方法。 1.2 实验原理及知识点 直方图均衡化是通过灰度变换将一幅图象转换为另一幅均衡直方图&#xff0c;即在每个灰度级上都具有相同的象素…...

【WebApi】C# webapi 后端接收部分属性

在C#的Web API后端接收部分属性,可以使用[FromBody]特性配合JsonPatchDocument或者Delta来实现。这里提供一个使用JsonPatchDocument的示例。 首先,定义一个模型类:public class User public class User {public int Id {get; set; }...

Java 使用 Redis

Java 使用 Redis 1. 引言 Redis是一个开源的、基于内存的数据结构存储系统,可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串、哈希、列表、集合、有序集合等。由于Redis基于内存,其读写速度非常快,因此被广泛应用于需要高速缓存和实时通讯的场景。…...

【ONE·Linux || 高级IO(二)】

总言 主要内容&#xff1a;多路转接&#xff1a;epoll学习。       文章目录 总言5、多路转接&#xff1a;epoll5.1、相关概念与接口5.1.1、基本函数认识5.1.1.1、epoll_create5.1.1.2、epoll_ctl5.1.1.3、epoll_wait 5.1.2、epoll的工作原理5.1.2.1、准备工作&#xff08;…...

将 IBM WatsonX 数据与 Milvus 结合使用,构建用于知识检索的智能 Slack 机器人

在当今快节奏的工作环境中&#xff0c;快速轻松地访问信息对于保持生产力和效率至关重要。无论是在 Runbook 中查找特定说明&#xff0c;还是访问关键知识转移 &#xff08;KT&#xff09; 文档&#xff0c;快速检索相关信息的能力都可以产生重大影响。 本教程将指导您构建一个…...

2024 网鼎杯 CTF --- Crypto wp

文章目录 青龙组Crypto1Crypto2 白虎组Crypto1Crypto2 朱雀组Crypto2Crypto3part1part2part3part4 青龙组 Crypto1 题目&#xff1a; from Crypto.Util.number import * from secret import flagp getPrime(512) q getPrime(512) n p * q d getPrime(299) e inverse(d,…...

深度学习基础知识-损失函数

目录 1. 均方误差&#xff08;Mean Squared Error, MSE&#xff09; 2. 平均绝对误差&#xff08;Mean Absolute Error, MAE&#xff09; 3. Huber 损失 4. 交叉熵损失&#xff08;Cross-Entropy Loss&#xff09; 5. KL 散度&#xff08;Kullback-Leibler Divergence&…...

《逆向记录》

这里写自定义目录标题 1.什么是vmp加密VMP加密的工作原理VMP加密的应用场景和优缺点实际应用案例 2.什么是ast混淆3.魔改算法总结 1.什么是vmp加密 ‌VMP加密&#xff08;Virtual Machine Protection&#xff09;‌是一种软件保护技术&#xff0c;旨在通过虚拟化和加密技术来保…...

chatgpt3.5权重参数有多少MB;llama7B权重参数有多少MB

目录 chatgpt3.5权重参数有多少MB llama7B权重参数有多少MB chatgpt3.5权重参数有多少MB 关于ChatGPT 3.5的权重参数占用的存储空间大小,虽然直接给出具体的MB数值可能较为困难(因为这取决于多种因素,如参数表示的精度、是否进行了压缩等),但可以根据其参数量来估算一个…...

ST IoT Wireless 物联网与无线技术 研讨会

一、研讨会背景与目的 ◆ 意法半导体致力于提供可靠且经济实惠的无线连接解决方案,包含Wireless NFC Security & Esim等产品。 ◆ 将智能物体连接到互联网和云&#xff0c;或者从更广泛的意义上说&#xff0c;连接到物联网&#xff08;IoT&#xff09;。 ◆ 远程监控、配…...

PHP实现雪花算法生成唯一ID

引言 雪花算法是Twitter开源的分布式ID生成算法&#xff0c;可以产生64位的ID。其中第一位是固定的正数标识&#xff0c;41位用于存储时间戳&#xff0c;剩下的为机器ID和序列号。通过时间戳、机器ID和序列号的组合&#xff0c;确保每个ID都是唯一的。 PHP代码 1、定义雪花算…...

APP的设置页面,应该怎样尽可能减少用户的输入操作呢

一、引言 在当今数字化时代&#xff0c;移动应用程序&#xff08;APP&#xff09;已经成为人们生活中不可或缺的一部分。无论是社交娱乐、工作学习还是日常生活&#xff0c;我们都离不开各种 APP 的帮助。而 APP 的设置页面作为用户调整应用参数、个性化定制功能的重要入口&am…...

Node.js:内置模块

Node.js&#xff1a;内置模块 Node.jsfs模块读取文件写入文件__dirname path模块路径拼接文件名解析 http模块创建服务 Node.js 传统的JavaScript是运行在浏览器的&#xff0c;浏览器就是其运行环境。 浏览器提供了JavaScript的API&#xff0c;以及解析JavaScript的解析引擎&a…...

3. keil + vscode 进行stm32协同开发

1. 为什么使用vscode 主要还是界面友好&#xff0c;使用习惯问题&#xff0c;vscode 从前端&#xff0c;js, c/c, qt, 仓颉&#xff0c;rust都有很好插件的支持&#xff0c;并且有romote&#xff0c; wsl 等很多插件可以提高效率&#xff0c; 唯一的问题就是要使用插件进行环境…...

React 组件生命周期与 Hooks 简明指南

文章目录 一、类组件的生命周期方法1. 挂载阶段2. 更新阶段3. 卸载阶段 二、函数组件中的 Hooks1. useState2. useEffect3. useContext4. useReducer 结论 好的&#xff0c;我们来详细讲解一下 React 类组件的生命周期方法和函数组件中的钩子&#xff08;hooks&#xff09;。 …...

【springcloud】gateway网关的作用

目录 1. 说明2. 路由转发3. 负载均衡4. 安全认证与授权5. 熔断与降级6. 请求限流7. 监控与日志8. 过滤器功能 1. 说明 1.在Spring Cloud中&#xff0c;Gateway网关扮演着至关重要的角色。2.基于Spring Framework 5、Spring Boot和Project Reactor构建的API网关&#xff0c;专为…...

「C/C++」C++11 之<thread>多线程编程

✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明目…...

HTML前端页面设计静态网站-仿百度

浅浅分享一下前端作业&#xff0c;大佬轻喷~ <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>百度&#xff08;伪&#xff09;</title><style>body {margin: 0;padding: 0;}.top-bar {dis…...

百度SEO是否还有用?福州百度SEO专家林汉文为你深度解析

大家好&#xff0c;我是林汉文&#xff0c;一名专注于百度SEO优化的专家&#xff0c;最近有很多人问我&#xff1a;百度SEO还有用吗&#xff1f;在如今快速变化的数字营销环境中&#xff0c;这确实是一个值得探讨的问题。今天&#xff0c;我就来为大家详细分析百度SEO的现状&am…...

数学建模学习(134):使用Python基于WISP的多准则决策分析

WISP算法技术性文章 1. 算法介绍 WISP(Weighted Independent Set Problem)是一种优化算法,主要用于解决图论中的加权独立集问题。加权独立集问题是一个经典的组合优化问题,涉及从一个图中选择一个独立的顶点集,使得所选顶点的总权重最大。这个问题在计算机科学、运筹学、…...

.net core NPOI以及NOPI mapper

我们在日常开发中对Excel的操作可能会比较频繁&#xff0c;好多功能都会涉及到Excel的操作。在.Net Core中大家可能使用Npoi比较多&#xff0c;这款软件功能也十分强大&#xff0c;而且接近原始编程。但是直接使用Npoi大部分时候我们可能都会自己封装一下&#xff0c;毕竟根据二…...