IQ调制的原理

(一)调制基本原理

(二)调制基本原理

利用IQ调制实现MPSK(QPSK 8PSK BPSK)和MQAM(16QAM 64QAM)调制

 

 
(一)利用IQ调制实现QPSK调制
 

QPSK调制的星座图

 
 
星座图,就是说一个坐标,如高中的单位圆,横坐标是I,纵坐标是Q,相应于投影到I轴的,叫同相分量,同理投影到Q轴的叫正交分量。由于信号幅度有差别,那么就有可能落在单位圆之内。具体地说,64QAM,符号有64个,等于2的6次方,因此每个符号需要6个二进制来代表才够用。这64个符号就落在单位圆内,根据幅度和相位的不同 落的地方也不同。从其中一个点跳到另一个点,就意味着相位调制和幅度调制同时完成了。”

QPSK的映射关系可以随意定吗?

还以发送数据是11为例,接收数据误判为10和00的概率要高于误判为01的概率。11误判为10错了1个比特,但11误判为00却错了2个比特。
综上所述,在相同的信道条件下,采用00↔π/4、01↔3π/4、10↔5π/4、11↔7π/4映射关系的QPSK调制的误比特率要高于采用00↔π/4、01↔3π/4、11↔5π/4、10↔7π/4映射关系。
象00、01、11、10这样,相邻的两个码之间只有1位数字不同的编码叫做格雷码。QPSK调制中使用的就是格雷码。

(二)利用IQ调制实现8PSK调制

如何使用IQ调制实现8PSK

 
(三)利用IQ调制实现16QAM调制
 

注:前面讲的PSK调制(QPSK、8PSK),星座图中的点都位于单位圆上,模相同(都为1),只有相位不同。而QAM调制星座图中的点不再位于单位圆上,而是分布在复平面的一定范围内,各点如果模相同,则相位必不相同,如果相位相同则模必不相同。星座图中点的分布是有讲究的,不同的分布和映射关系对应的调制方案的误码性能是不一样的,这里不再展开去讲。

(四)利用IQ调制实现BPSK调制

小小知识点(三十八)MPSK和MQAM调制的实现——利用IQ调制的更多相关文章

  1. 小小知识点(十八)U盘中病毒了,System Volume Information文件夹删除不掉

    win+R调出命令窗口后搜索cmd,启用cmd命令编辑器,并输入以下命令: attrib "H:\System Volume Information" -s   //这句话可以选择 ...

  2. NeHe OpenGL教程 第三十八课:资源文件

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. Java进阶(三十八)快速排序

    Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...

  4. SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)

    0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...

  5. 微信小程序把玩(三十八)获取设备信息 API

    原文:微信小程序把玩(三十八)获取设备信息 API 获取设备信息这里分为四种, 主要属性: 网络信息wx.getNetWorkType, 系统信息wx.getSystemInfo, 重力感应数据wx. ...

  6. 《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)

    1.简介 理想很丰满现实很骨感,在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就 ...

  7. 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击

    风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...

  8. 【FastDev4Android框架开发】打造QQ6.X最新版本号側滑界面效果(三十八)

    转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50253925 本文出自:[江清清的博客] (一).前言: [好消息] ...

  9. bp(net core)+easyui+efcore实现仓储管理系统——入库管理之二(三十八)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

随机推荐

  1. [C#] 用ServiceStack读写redis的性能问题

    ServiceStack.Redis有个方法叫 AddRangeToList,这个方法是有性能问题的.这个方法的实现代码如下: public void AddRangeToList(string li ...

  2. Java1.8 获取文件总行数

    Files.lines(Paths.get("aaa.txt")).count();

  3. PTA 6-2 多项式求值

    PTA 6-2 多项式求值 本题要求实现一个函数 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑i=0n(a[i]×xi)" role=" ...

  4. webpack学习(三)配置loader

    首先搞清楚两个问题: 1 什么是loader? 2 为啥要用各种loader 答: loader 就是各种打包规则,为什么要用是显而易见的,因为webpack还没智能到给它什么文件都能打包,对于js文 ...

  5. java throw

    自行抛出一个异常对象,抛出异常类的对象: 若throw抛出的是Runtime异常: 程序可以显示使用try...catch来捕获并处理,也可以不管,直接交给方法调用者处理: 若throw抛出Check ...

  6. Mac PHPStorm清除SVN配置缓存

  7. Java8 API学习2 - java.lang.CharSequence, java.lang.String

    CharSequence public interface CharSequence 字符序列接口, 实现此接口的非抽象类有String, StringBuffer, StringBuilder. 从 ...

  8. P1045 和为给定数

    题目描述 给出若干个整数,询问其中是否有一对数的和等于给定的数. 输入格式 共三行: 第一行是整数 \(n(0 \lt n \le 100000)\) ,表示有 \(n\) 个整数. 第二行是n个整数 ...

  9. 为什么Redis是单线程,性能还如此高?

    一. Redis为什么是单线程 注意:redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程. 因为CPU不是Redis的瓶颈.Redis的瓶颈最有可能 ...

  10. Linux 内核中的数据类型

    在我们进入更高级主题之前, 我们需要停下来快速关注一下可移植性问题. 现代版本的 Linux 内核是 高度可移植的, 它正运行在很多不同体系上. 由于 Linux 内核的多平台特性, 打算做认真使用的 ...