正交频分复用回顾(通俗易懂)

2024-05-10 10:04

本文主要是介绍正交频分复用回顾(通俗易懂),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OFDM我们知道,叫做正交频分复用,它是4G的一个关键技术,4G的多址技术叫做OFDMA,也就是说4G是通过OFDM来作用户区分的,具体是什么意思呢?继续往下看。

图1 

在2G和3G时代, 单用户都是用的一个载波,也就是单载波,图1中的横轴代表频率,纵轴代表强度。那进入4G时代之后,我们开始使用多个子载波,来进行多个信息的并行传输,如图1右下角所示,就是多个子载波同时传输的示意图。

我们来假设一下,如果4G使用传统的多载波,也就是图1右上角的图片,传统的多载波为了避免干扰,每个载波之间,尤其是强度最强的地方,也就是峰的地方,之间都有明显的间隔。这会有什么问题呢?我们可以看到,这是比较浪费频率空间的,所以就有了OFDM,以解决频率资源的问题。

OFDM—正交频分复用,我们一个词一个词来看。

正交,我们在中学数学里早已学过,但在通信里面,理解成是用来区分两个信号的就可以了,也就是如果能把两个信号或者两个电磁波区分开,那么就说这两个信号或电磁波是正交的,如果不能区别开,就不是正交。

频分,就是分频。一个用户用多个子载波来传输信息。

复用,就是重复利用。前面说到传统多载波的缺点就是子载波与子载波之间的间隔较大,比较浪费频率资源,OFDM的作用之一就是节约频率资源。

图2 

图2里每一个颜色的信号都代表了一个子载波,横轴是频率,这里有6个子载波。那它们如何实现正交呢?上面提到过,只要能区分出彼此即可。比如说,我们以最左边淡蓝色色这个子载波为例,在它的中间也就是信号最强的位置,去进行检测,这时候可以发现什么呢?淡蓝色这个子载波的信号是最强的, 而旁边粉色这个子载波在这个频率位置的分量的强度为0,黄色这个信号在这个频率位置的强度也是0,其它子载波在这个位置的信号强度都是0,只有淡蓝色这个子载波的信号能量是最高的,那在这个点检测就可以只识别出淡蓝色的子载波,而其它的是识别不出来的。只要在每个载波的中心点检测,其它信号在这个位置的强度都为0,就可以将不同的信号区分开来,这就是正交。

图2怎么体现复用呢?我们看到标注了15kHz的这一段频率里,浅蓝色的载波和紫色的载波都在这个频率范围内,也就是都使用这一段频率,就比第一幅图里的传统的多载波传输方式更节省频率资源。

那OFDM有什么缺点呢?它的峰均比较高。这个是什么意思呢?峰就是峰值,均是均值,也就是信号的峰值和均值之间的比值较大,这意味着什么呢?说明所发射电磁波的波形会出现较高的峰值,波形的峰值大,发射端需要的能量也就越大,对应发射机的功率要求也就越高。

图3 峰均比示意图 

那为什么会出现这样的高峰值波形呢?这就需要理解其中的一些原理了,也就是对信号在频域和时域的理解。图2中的信号都是在频域里的,但对于电磁波来说,是要把这些频域的信号都叠加成一个时域的信号去发射的。

图4 

如图4所示,红色的轴代表频域,其中有6个蓝色的信号,可以看到这6个蓝色的信号频率越来越高。当我们想发射信号的时候,要把这6个频率的信号叠加成时域上红颜色的这个电磁波,再发射出去。那对应的,OFDM里也是一样的,它里面那么多的子载波,也是要叠加到时域上才能发射出去。既然是叠加的话,就有可能出现某个点峰值会较高,也就是能量较高,这样对功率的要求也就高了。这就解释了为什么OFDM峰均比会高的核心原因,因为有若干个信号叠加。

这里就不得不提一下傅里叶变换了,因为傅里叶认为,任何一个波形,都可以由无穷多个正弦波叠加出来,而OFDM也用到了傅里叶变换。举个例子,现在有很多个子载波,想要把它们变成波形发射出去,这个时候就需要用到傅里叶的反变换(频域->时域),那如果把波形再拆分成子载波呢,就用傅里叶变换(时域->频域)。

这篇关于正交频分复用回顾(通俗易懂)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976129

相关文章

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

Java基础回顾系列-第三天-Lambda表达式

Java基础回顾系列-第三天-Lambda表达式 Lambda表达式方法引用引用静态方法引用实例化对象的方法引用特定类型的方法引用构造方法 内建函数式接口Function基础接口DoubleToIntFunction 类型转换接口Consumer消费型函数式接口Supplier供给型函数式接口Predicate断言型函数式接口 Stream API 该篇博文需重点了解:内建函数式

Java基础回顾系列-第二天-面向对象编程

面向对象编程 Java类核心开发结构面向对象封装继承多态 抽象类abstract接口interface抽象类与接口的区别深入分析类与对象内存分析 继承extends重写(Override)与重载(Overload)重写(Override)重载(Overload)重写与重载之间的区别总结 this关键字static关键字static变量static方法static代码块 代码块String类特

Java基础回顾系列-第六天-Java集合

Java基础回顾系列-第六天-Java集合 集合概述数组的弊端集合框架的优点Java集合关系图集合框架体系图java.util.Collection接口 List集合java.util.List接口java.util.ArrayListjava.util.LinkedListjava.util.Vector Set集合java.util.Set接口java.util.HashSetjava

Java基础回顾系列-第九天-数据库编程

Java基础回顾系列-第九天-数据库编程 数据库简介工具包java.sql API 内容与数据库建立连接执行SQL语句数据库检索和更新查询结果SQL类型对应Java类型映射元数据异常 API方法DriverManagerConnectionStatementPreparedStatementCallableStatementResultSetjava.sql.Date批处理、存储过程、事务

Java基础回顾系列-第一天-基本语法

基本语法 Java基础回顾系列-第一天-基本语法基础常识人机交互方式常用的DOS命令什么是计算机语言(编程语言) Java语言简介Java程序运行机制Java虚拟机(Java Virtual Machine)垃圾收集机制(Garbage Collection) Java语言的特点面向对象健壮性跨平台性 编写第一个Java程序什么是JDK, JRE下载及安装 JDK配置环境变量 pathHe