小小知识点(三十九) 正交频分复用OFDM的基本原理及实现
引言
符号间干扰(ISI)是无线传输系统设计中需要考虑的因素,采用什么样的处理方法取决于数据传输速率或等效传输带宽来决定
(1)若数据速率低且与信道最大延迟相比符号持续时间较长,那么就可能无需任何均衡技术处理ISI
(2)若数据速率或通信距离增加,ISI变得越来越严重,如数据以100Mb/s的速率在最大延迟为10us的信道上传输,那么ISI将扩展100个符号,这时就必须借助均衡技术。另外,OFDM技术提供了让数据以较高的速率在较大延迟的信道上传输的另一种途径。
OFDM的基本思想
把一个高速率的数据流分解成许多低速率的子数据流以并行方式在许多子信道上传输。
OFDM的基本原理
注:离散傅里叶变换公式,源自《The descret fourier transfer theorys algorithms applications 》by D.Sundararajan
IDFT
DFT
其中Sn,k是映射的IQ复信号
(注:详细的说明见《宽带无线通信》中的第四部分OFDM)
保护间隔和循环前缀
OFDM把输入的高速率数据流串并转换到N个并行的子信道中,使得每个用于调制子载波的数据符号周期扩大为原始数据符号周期的N倍,时延扩展与符号周期的比值同样也降低N倍。
GI:为最大限度的消除符号间干扰ISI,可以在每个OFDM信号块之间插入保护间隔(Guard Interval,GI),而且该保护间隔长度Tg一般要大于无线信道的最大时延扩展,这样一个符号的多径分量就不会对下一个符号造成干扰。
CP:当保护间隔内,不插入任何信号,即是一段空闲的传输时段。然而在这种情况下,由于多径传播的影响,则会产生信道间干扰(ICI),即子载波间的正交性遭到破坏,不同的子载波之间产生干扰。为消除多径造成的ICI,OFDM符号需要在保护间隔内插入循环前缀(cycle prefix,CP)
CP可以充当保护间隔,从而消除ISI。因为它的存在使得前一个符号多径的副本都落在后一个符号的CP范围内,从而消除两个符号间的干扰;由于OFDM符号的一部分呈现周期性,将信号与信道冲击响应的线性卷积转换成循环卷积,个子载波将保持正交性,从而防止ICI。
OFDM的基本参数的选择
小小知识点(三十九) 正交频分复用OFDM的基本原理及实现的更多相关文章
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
- 对正交频分复用OFDM系统的理解
OFDM系统 正交频分复用OFDM(Orthogonal Frenquency Division Multiplexing)是一种多载波调制技术. 基本思想:在发送端,它将高速串行数据经过串并变换形成 ...
- NeHe OpenGL教程 第三十九课:物理模拟
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Java进阶(三十九)Java集合类的排序,查找,替换操作
Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...
- Gradle 1.12用户指南翻译——第三十九章. IDEA 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)
0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...
- 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/en ...
- “全栈2019”Java第三十九章:构造函数、构造方法、构造器
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形
原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘> ...
随机推荐
- ODT模板
struct node{ int l,r; mutable int v; node(int L,int R,int V):l(L),r(R),v(V){} inline bool operator & ...
- python -- 类中--内置方法
isinstance 和 issubclass isinstance(obj,b) 检查是否obj是否是类b的对象 class A(object):pass class B(A):pass b=B ...
- python 多线程,tthread模块比较底层,而threading模块是对thread做了一些包装,multithreading
Python多线程详解 2016/05/10 · 基础知识 · 1 评论· 多线程 分享到:20 本文作者: 伯乐在线 - 王海波 .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 1.多线程的 ...
- JavaScript引用类型和基本类型的区别
JavaScript变量可以用来保存的两种类型的值:基本类型值和引用类型值. 基本类型值有5种类型:undefined,null,boolean,number,string 引用类型值有两种类型:函数 ...
- laravel validate 设置为中文(验证提示为中文)
把 resources\lang 下en 的文件夹 复制在同一目录并改名为 zn 把zn 中的 validation.php文件修改为 https://laravel-china.org/articl ...
- Python--day66--Django模板语言关于静态文件路径的灵活写法
静态文件路径的灵活写法: 正规的讲解: 静态文件相关 {% static %} {% load static %} <img src="{% static "images/h ...
- Spark1.6.1 MLlib 特征抽取和变换
Spark1.6.1 MLlib 特征抽取和变换 1 TF-IDF TF-IDF是一种特征向量化方法,这种方法多用于文本挖掘,通过算法可以反应出词在语料库中某个文档中的重要性.文档中词记为t,文档记为 ...
- gyp verb check python checking for Python executable "python2" in the PATH
缺少python2.7支持 可快速使用以下语句完成安装 npm install --global --production windows-build-tools 到时候会自动下载python的 如果 ...
- C++的价值
In May 2010, the GCC steering committee decided to allow use of a C++ compiler to compile GCC. The c ...
- H3C DHCP中继显示及维护