对正交频分复用OFDM系统的理解
OFDM系统
正交频分复用OFDM(Orthogonal Frenquency Division Multiplexing)是一种多载波调制技术。
基本思想:在发送端,它将高速串行数据经过串并变换形成多路低速数据分别对多个正交的子载波进行调制,迭加后构成发送信号。在接收端,用同样数量的载波进行相干解调,获得低速率数据流,经过并串变换形成高速数据流。
主要优点:提高频带利用率,有效抑制符号间干扰(Inter Symbol Interference,ISI),有很好的抗多径延迟和衰落的性能。
图一 OFDM系统框图
OFDM也是一种FDM频分复用系统。在传统的频分方法中,将频带划分为若干个不相交的子频带来传输并行的数据流,在接收端用一组滤波器来分离各个子信道,子信道之间要留有保护频带,因此这种方法的频带利用率低。OFDM由大量在频率上等间隔的子载波构成,这些子载波的频谱可以相互重叠,这样,大大提高了频谱利用率。并且子载波在整个符号周期上是相互正交的,即加于符号周期上的任何两个子载波的乘积积分等于零。这样,即使各子载波频谱间存在重叠,也能无失真地复原。
当载波间的最小间隔等于符号周期T的倒数的整数倍时,可满足正交条件。
不能设计过小,过小的话,对抗多普勒频移的影响能力下降,无法支撑高速移动的无线通信,
不能设计过大,过大的话,OFDM符号周期T就会过小,于是为克服子载波间的干扰,加入CP的开销相对于有用符号来说就会过大,使传送效率受到影响。为实现最大频谱效率,一般取载波最小间隔为符号周期的倒数,
。比如在LTE物理层,子载波的间隔Δf=15kHz,一个OFDM symbol的发送时间是66.7us。
图二 OFDM调制后的信号频谱
如图二所示,时域的方波在频域对应sinc()函数,时域的正余弦信号在频域对应一个单频的冲击信号,因此时域的方波信号经过正交子载波调制后,在频域对应sinc()函数的不同搬移(时域的乘积对应频域的卷积),叠加后的效果如图二(d),再经过的调制,频谱如图二(e)所示。可以观察出,与传统FDM不同,经过OFDM调制后的信号频谱是交叠的,因此有效提高了频带利用率。
使用IDFT-DFT来实现OFDM
设OFDM信号发射周期为[0,T],在一个周期内传输N个符号(C0,C1,…,CN-1),其中Ck为PSK或者QAM调制后的复数,表示相位或者幅度信息。
第k个符号信息调制在第k个载波上,合成的OFDM信号为
图三 OFDM调制解调过程
一般在OFDM系统中,fk为,fc为系统的发射载频,
为子载频间的最小间隔,一般取
X(t)的低通复包络为:
如果以为采样频率对S(t)采样,[0,T]内共有Ns个样值:
如图四所示,直观上理解,就是每一个OFDM符号信息对应相当于一个单频的频谱,其余采样点的值为0,第i个符号对应的载波频率是i/Nifft或者N-i/Nifft,幅度为d(i)(即上述公式中的Ck),使用IFFT将离散频域变换到连续的时域,对应时域载波,变换后以Nifft个离散点存储,对所有符号的Nifft个离散点求和,即可得到OFDM信号(离散点表示连续信息)。
图四 基于IDFT和DFT的示意图
加入循环前缀(Cyclic Prefix,CP):
由于是多径信道,各路子载波被接收到的时间可能有偏差,这就造成在FFT积分时间长度内子载波之间相差不再是整数周期,子载波之间的正交性受到破坏,如果保护间隔中只是单纯地填零,那么在解调时子载波之间就会产生干扰。循环前缀是将符号尾部的信号复制搬移到前方构成的。当多径时延小于保护间隔时,由于在传输之前已经把尾部的一段信息复制到头部,即使由于时延在接收端损失了一部分信息,但是头部的信息依然可以检测到。这样,就可以保证各路子载波在一次FFT积分时间长度内,各子载波之间相差总是整数个周期,避免了ISI干扰。
图五 循环前缀
References:
[1] 正交频分复用_OFDM_及其在高速数字通信中的应用_梅剑平
对正交频分复用OFDM系统的理解的更多相关文章
- 小小知识点(三十九) 正交频分复用OFDM的基本原理及实现
引言 符号间干扰(ISI)是无线传输系统设计中需要考虑的因素,采用什么样的处理方法取决于数据传输速率或等效传输带宽来决定 (1)若数据速率低且与信道最大延迟相比符号持续时间较长,那么就可能无需任何均衡 ...
- OFDM正交频分复用---基础入门图示
@(162 - 信号处理) 整理转载自:给小白图示讲解OFDM 下面以图示为主讲解OFDM,以"易懂"为第一要义. 注:下面的讨论如果不做说明,均假设为理想信道. *** 一张原理 ...
- 多用户OFDM系统资源分配研究
首先,OFDMA 是什么? OFDM 技术的基本原理是将无线信道划分为若干互相正交的子信道,把高速串行数据流转化为低速并行子数据流,低速并行子数据流在子信道上独立传输. OFDMA 是LTE的下行多址 ...
- Linux系统的理解及学习Linux内核的心得
作业列表 (点击作业跳转) linux内核分析作业:以一简单C程序为例,分析汇编代码理解计算机如何工作 linux内核分析作业:操作系统是如何工作的进行:完成一个简单的时间片轮转多道程序内核 ...
- [转帖]关于4A(统一安全管理平台)系统的理解
雪山上的蒲公英 https://www.cnblogs.com/zjfjava/p/10674577.html 关于4A(统一安全管理平台)系统的理解 1. 4A系统的需求分析 近年来企业用户的业 ...
- 20135323符运锦期中总结----Linux系统的理解及学习心得
一.网易云课堂 1.各章节总结 第一周:计算机是如何工作的http://www.cnblogs.com/20135323fuyunjin/p/5222787.html 第二周:操作系统是如何工作的ht ...
- Android系统分区理解及分区目录细解【转】
本文转载自:https://blog.csdn.net/u010001503/article/details/51853822 Android 通常有以下分区: System分区: 就是我们刷ROM的 ...
- Linux图像系统框架-理解X11与Qt的层次结构
转:http://blog.csdn.net/kjfureone/article/details/52848550 1. 前言 图形子系统是linux系统中比较复杂的子系统之一:对下,它要管理形态各异 ...
- Android系统分区理解及分区目录细解
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
随机推荐
- mac与phy怎样实现网络自适应
这两天改动网卡驱动以实现10/100/1000M自适应,因此研究了下phy芯片和emac驱动怎样兼容10/100/1000M网络环境,记录在此. 网络中设备端数据链路层由mac芯片和phy芯片组成.p ...
- PYTHON --WebAPP项目转载(廖雪峰) -- Day 1 -- 搭建开发环境
Day 1 - 搭建开发环境 搭建开发环境 首先,确认系统安装的Python版本是3.5.x: $ python3 --version Python 3.5.1 然后,用pip安装开发Web Ap ...
- HDU1087 Super Jumping! Jumping! Jumping! 最大连续递增子段
Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- TypeError: write() argument must be str, not bytes
w文件打开以 '二进制' 方式: with open('teacher.html','wb+') as f: f.write(response.body) 要写入"中文",防止乱 ...
- android 微信朋友分享,朋友圈分享
android 微信朋友分享,朋友圈分享 包名必须写成 com.weixin WXEntryActivity package com.weixin.wxapi; import android.app ...
- T-SQL 合并多行数据显示到一行
思路: 自连接,使用For XML Path('')和STUFF函数 SELECT * FROM STUDENT Name Team------------- ...
- 【BZOJ2730】[HNOI2012]矿场搭建 Tarjan
[BZOJ2730][HNOI2012]矿场搭建 Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处. ...
- jQuery之map()和get() map().get().join意思
jQuery下有个概念叫“类数组”,比如$( " li " ),当取到一个集合的时候,会有数组的一些属性,但是instancseof Array仍然是false.但是var a=$ ...
- 基于jquery 移动插件的实现
引用谢灿勇 地址 http://www.cnblogs.com/st-leslie/p/6002148.html 一个思路分析:大致上实现的思路有以下两种. 一.判断块是否被按下(mousedown ...
- ThinkPHP的create方法的一系列操作
1.数据操作状态 create方法的第二个参数可以指定数据的操作状态,默认是自动判断的(写入[Model:MODEL_INSERT或者1].更新[Model:MODEL_UPDATE或者2].也可以自 ...