数字调制系列:如何理解IQ ?

news2024/10/5 21:24:16

最近在筹划写一系列关于数字IQ 调制的短文,以帮助初学者能够更好地理解和掌握。虽然IQ 调制技术已经非常广泛地应用于各种无线通信应用中,但是究其细节,仍有很多人存在疑惑,尤其对于初学者。作者从事测试工作多年,对IQ 调制略有体会,整理下来分享给大家,希望对大家有所帮助。

作为数字IQ 调制系列的首篇文章,本文将主要介绍IQ 的概念,IQ 调制的优势以及符号速率与比特率之间的关系。

1. 什么是IQ ?

回答这个问题不得不提图1所示的矢量坐标系(复坐标系),横轴为实部,纵轴为虚部。数字IQ调制完成了符号到矢量坐标系的映射,即每一个符号对应唯一的坐标点,该坐标点称为星座点。每一个星座点与原点构成了一个矢量,具有幅度和相位信息,在IQ 调制中,通常默认最大的幅度为1,例如图1所示的星座点确定的矢量幅度为1、相位为45°。

矢量坐标系上任何一个点均具有实部和虚部,实部与虚部是正交的关系,在无线通信中通常将实部称为I(n-phase)分量,将虚部称为Q(uadrature)分量。这就是术语IQ 的由来,该矢量坐标系也可以称为IQ 坐标系。

数字调制完成了符号到星座点的映射,每个映射点对应一个I 分量和一个Q 分量,二者构成一个矢量,因此数字调制又称为矢量调制。通常提到的矢量信号源就是因为具有IQ 调制功能,才称之为矢量信号源。

​图1. IQ矢量坐标系

综上所述,I 和Q 就是IQ 坐标系上坐标点的横坐标值和纵坐标值,IQ 坐标系本质上就是复坐标系,只是在数字调制过程中称之为IQ 坐标系,以便于实现调制。

2. 为什么引入IQ 调制?

由于对数据速率要求不高,起初的无线通信基本都是采用模拟调制方式,比如AM/ FM/PM等。在相当长一段时间内,市场需求并没有大规模驱动通信技术的进步。但是随着卫星通信以及个人通信业务需求的激增,传统的模拟调制显然已经无法满足速率要求,必须要寻求支持更高数据速率的调制技术。

实践证明,IQ 调制技术可以担当此重任,我们不去深究何时引入IQ 调制技术,而是把目光聚焦在IQ 调制与传统的调制相比有哪些优势。

之所以采用IQ调制,主要考虑到如下优势:

(1) IQ调制可以通过提高符号速率或者采用高阶调制实现更高的数据速率,非常方便灵活,这是传统的模拟调制所远远不及的。

(2) 实现高速通信时,IQ 调制更加易于实现。IQ 调制可以非常方便地将符号映射至矢量坐标系中,从而完成数字调制;同理,在接收侧也可以非常方便地根据符号映射解调出原始数据比特流。

(3) IQ 调制具有更高地频谱利用率。如何理解呢?

这一优势是相对于普通调制而言的,从整个IQ 调制过程来看,I 路或者Q 路都是普通调制,IQ 调制实际上是两个特殊普通调制的合成。图2给出了IQ 调制器架构示意图,每一个支路上都包含一个上变频器,二者共用一个本振源,只是两路本振信号是正交的关系。上变频之前的输入信号称为基带I 信号和基带Q 信号,上变频且合路之后的信号通常称为射频调制信号。

为了具有普遍适用性,假设IQ 调制的数据源为伪随机码,此时基带I 信号和基带Q 信号的频谱是相同的,带宽均为B,二者均携带信息而且信息量相同。IQ 调制采用零中频架构,每一路上变频之后带宽翻倍至2B,但是携带的信息不变。合路后,射频调制信号带宽仍然为2B,但是相对于单路调制而言,携带的信息量翻倍了。因此,IQ调制具有更高的频率利用率!

​图2. IQ 调制器示意图

为了便于理解,下面以QPSK调制为例进一步说明。从效能上讲,QPSK调制相当于两路BPSK调制的合成,I 路调制为一路BPSK,Q 路调制为另一路BPSK。如前所述,I 路调制和Q 路调制均为普通调制。从带宽上看,QPSK对应的射频调制信号带宽与I 或Q 路BPSK调制信号带宽相同;但是从数据速率上看,QPSK调制是BPSK调制的两倍。因此,IQ 调制相对于普通调制具有更高的频率利用率!

​图3. QPSK调制相当于两路BPSK调制的合成

(4) IQ调制采用零中频架构,经过调制之后无需使用滤波器抑制镜频边带,设计更加灵活方便。对于其它收发机架构,比如超外差架构,由于中频不为0,经过上变频后,会存在较强的边带分量,还需要专门的镜频抑制滤波器进行滤波,这将使得设计更加复杂。

正是基于以上主要优势,IQ 调制应用才越来越广泛,几乎目前所有的无线通信中都离不开这种调制技术!

3. 数字调制中的符号速率与比特率之间有什么样的关系?

首先了解一下数字调制中“符号”的概念。前面提到,数字调制就是将0和1比特流数据按照一定的规则映射至IQ 坐标系上,在完成映射之前需要将比特流构成符号,因此,数字调制就是将符号映射至IQ 坐标系的过程。

每一个符号都是由比特0和/或1构成,比如:0 / 1 / 00 / 01 / 1001 / 10101……,这些都可以称为符号。一个符号至少包含一个bit信息,具体由调制方式决定。

符号映射至星座点上,意味着符号要与星座点一一对应,要实现这一点,必须要求星座点数目M与一个符号包含的比特数目N满足如下关系:

M=2N, N=log2M

如果不满足这一点,就无法实现符号与星座点之间的映射。比如,假设存在某种调制方式,具有5个星座点,考虑两种情况:

(1) 如果一个符号包含2比特,则最多包含00 / 01 / 10 / 11四种组合,会有一个星座点用不上。既然用不上,为什么该调制方式不考虑设计为4个星座点?

(2) 如果一个符号包含3比特信息,则最多包含000 / 001 / 010 / 011 / 100 / 101 / 110 / 111八种组合,如何完全映射至5个星座点上?既然无法完全映射,那么又如何保证信息传输的完整性?

符号速率与比特率之间有什么关系呢?

符号速率(Symbol rate)就是单位时间内传输的符号的个数,如果一个符号包含N个比特,则对应的比特率(Bit rate) 为符号速率的N倍。

Bit rate=Symbol rate ×N

图4给出了常用的三种PSK调制方式的星座图:BPSK,QPSK和8PSK。按照上述结论,BPSK调制的比特率与符号速率相同,QPSK调制的比特率是符号速率的两倍,8PSK调制的比特率是符号速率的三倍。

​图4. 三种常用PSK调制的星座图

小结

本文的目的就是解答初次接触数字IQ调制时可能会遇到的一些疑惑,介绍的内容都比较基础,以便于更好的理解数字IQ调制。文中着重介绍了IQ的概念、IQ调制的优势以及符号速率与比特率之间的关系,这些都是数字IQ调制的基本内容。在此基础之上,后面将陆续推出一系列的文章介绍IQ调制技术,这些都是作者多年的积累和总结,希望对大家有所帮助。

来源:数字调制系列:如何理解IQ ? - RFASK射频问问

关于RFASK射频问问

射频问问是在"微波射频网”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:RFASK射频问问 - 射频技术研发服务平台 | 技术问答、专栏文章、射频课程

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

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

相关文章

强化学习的Sarsa与Q-Learning的Cliff-Walking对比实验

强化学习的Sarsa与Q-Learning的Cliff-Walking对比实验Cliff-Walking问题的描述Sarsa和Q-Learning算法对比代码分享需要改进的地方引用和写在最后Cliff-Walking问题的描述 悬崖行走:从S走到G,其中灰色部分是悬崖不可到达,求可行方案 建模中&am…

(Java)【深基9.例4】求第 k 小的数

【深基9.例4】求第 k 小的数 一、题目描述 输入 nnn&#xff08;1≤n<50000001 \le n < 50000001≤n<5000000 且 nnn 为奇数&#xff09;个数字 aia_iai​&#xff08;1≤ai<1091 \le a_i < {10}^91≤ai​<109&#xff09;&#xff0c;输出这些数字的第 kk…

元旦礼第三弹!玻色量子荣登2022年中国创新力量50榜单

​2022年12月&#xff0c;国内最大的创新者社区极客公园重磅发布了全新的「中国创新力量 50 榜单&#xff08;InnoForce 50&#xff09;」——在过去一年为泛计算机科学领域及其交叉领域带来创新和突破的中国公司/机构。玻色量子凭借在光量子计算领域突出的核心竞争力&#xff…

配电网前推后带法求电力系统潮流(PythonMatlab实现)

目录 1 概述 2 数学模型 3 节点分层前推回代潮流计算及步骤 3.1 计算方法 3.2 计算步骤 4 算例及数据 5 Matlab&Python代码实现 1 概述 配电网通常是单电源全网连接、开环运行&#xff0c;即呈树状。针对配电系统分析&#xff0c;其根本就是进行潮流计算。潮流计算的…

通过反射机制访问java对象的属性 给属性赋值 读取属性的值

package com.javase.reflect;import java.lang.reflect.Field;/*** 通过反射机制&#xff0c;访问java对象的属性&#xff0c;给属性赋值&#xff0c;读取属性的值&#xff08;重点&#xff1a;五颗星*****&#xff09;* 本例中使用反射机制编写代码&#xff0c;看起来比不使用…

Hi3861鸿蒙物联网项目实战:智能温度计

华清远见FS-Hi3861开发套件&#xff0c;支持HarmonyOS 3.0系统。开发板主控Hi3861芯片内置WiFi功能&#xff0c;开发板板载资源丰富&#xff0c;包括传感器、执行器、NFC、显示屏等&#xff0c;同时还配套丰富的拓展模块。开发板配套丰富的学习资料&#xff0c;包括全套开发教程…

art-template模板引擎

1、模板引擎的基本概念 1.1、渲染UI结构时遇到的问题 var rows [] $.each(res.data, function (i, item) { // 循环拼接字符串 rows.push(<li class"list-group-item"> item.content <span class"badge cmt-date">评论时间&#xff1a; item…

C++ 使用Socket实现主机间的UDP/TCP通信

前言 完整代码放到github上了&#xff1a;cppSocketDemo 服务器端的代码做了跨平台&#xff08;POSIX和WINDOWS&#xff09;&#xff0c;基于POSIX平台&#xff08;Linux、Mac OS X、PlayStation等&#xff09;使用sys/socket.h库&#xff0c;windows平台使用winsock2.h库。 客…

STM32配置LED模块化

文章目录前言一、LED的模块化二、GPIO初始化详细解析三、LED代码封装总结前言 本篇文章将带大家深入了解GPIO的配置&#xff0c;并带大家实现LED模块化编程。 一、LED的模块化 什么叫模块化编程&#xff1f;我的理解就是每一个模块都分别写成对应的.c和.h文件&#xff0c;有…

S32K144—从0到1一个MBD模型的诞生

一个MBD模型的诞生&#xff0c;分为以下几步&#xff1a; 1、连接好硬件S32K144 EVB 2、选择一个合适的工作空间&#xff0c;新建一个simulink模型&#xff0c;保存 3、在模型中拖入模块&#xff1a; MBD_S32K1xx_Config_Information Digital_Input_ISR Periodic_Interrupt…

C++ 设计模式

设计模式序创建型模式工厂方法模式抽象工厂模式单例模式建造者模式&#xff08;生成器模式&#xff09;原型模式结构型模式适配器模式装饰器代理模式外观模式桥接模式组合模式&#xff08;部分--整体模式&#xff09;享元模式行为型模式策略模式模板模式观察者模式迭代器模式责…

对抗js前端加密的万能方法

1、前言 现在越来越多的网站采用全报文加密&#xff0c;测试的时候需要逆向提取加密算法以及密钥&#xff0c;过程十分繁琐和复杂。本文提供一种更为简单快捷的方法来解决此问题。 原理大致如下&#xff1a;使用浏览器的Override Hook加密前的数据&#xff0c;配置代理地址发…

[Linux]Linux编译器-gcc/g++

&#x1f941;作者&#xff1a; 华丞臧. &#x1f4d5;​​​​专栏&#xff1a;【LINUX】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449; LeetCode刷题网站 文…

SpringBoot+Redis(官方案例)

在线文档项目结构 1.源码克隆&#xff1a;git clone https://github.com/spring-guides/gs-messaging-redis.git 2.包含两个项目initial和complete&#xff0c;initial可以根据文档练习完善&#xff0c;complete是完整项目 3.功能描述&#xff1a;构建应用程序&#xff0c;使用…

【谷粒商城基础篇】商品服务:商品维护

谷粒商城笔记合集 分布式基础篇分布式高级篇高可用集群篇简介&环境搭建项目简介与分布式概念&#xff08;第一、二章&#xff09;基础环境搭建&#xff08;第三章&#xff09;整合SpringCloud整合SpringCloud、SpringCloud alibaba&#xff08;第四、五章&#xff09;前端知…

xxx.lua入门编程

lua入门级编程,openresty的前置技能lua入门级编程,openresty的前置技能 看上图 lua示例&#xff1a; 入门示例 print("hello world!") local arr {"java","mysql","oracle"}; local map {usernamezhangsan,password123}; local fu…

Debezium 同步 PostgreSQL 数据到 RocketMQ 中

1.RocketMQ Connect概览 RocketMQ Connect是RocketMQ数据集成重要组件&#xff0c;可将各种系统中的数据通过高效&#xff0c;可靠&#xff0c;流的方式&#xff0c;流入流出到RocketMQ&#xff0c;它是独立于RocketMQ的一个单独的分布式&#xff0c;可扩展&#xff0c;可容错系…

字节二面:Redis 的大 Key 对持久化有什么影响?

Redis 的持久化方式有两种&#xff1a;AOF 日志和 RDB 快照。 所以接下来&#xff0c;针对这两种持久化方式具体分析分析。 大 Key 对 AOF 日志的影响 先说说 AOF 日志三种写回磁盘的策略 Redis 提供了 3 种 AOF 日志写回硬盘的策略&#xff0c;分别是&#xff1a; Always&am…

Git(四) - Git 分支操作

​​​​​​​ 一、什么是分支 在版本控制过程中&#xff0c;同时推进多个任务&#xff0c;为每个任务&#xff0c;我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来&#xff0c;开发自己分支的时候&#xff0c;不会影响主线分支…

前端面试常考 | js原型与原型链

文章目录一. 什么是原型?二. 什么是原型链?一. 什么是原型? 在js中所有的引用类型都有一个__proto__(隐式原型)属性&#xff0c;属性值是一个普通的对象。 而在js中的引用类型包括&#xff1a;Object&#xff0c;Array&#xff0c;Date&#xff0c;Function 而所有函数都有…