OFDM笔记

(一)OFDM起源和发展

  • OFDM(orthogonal frequency division Mutiplexing)全称正交频分复用是一种采用多载波的并行传输方式。其基本概念在上世纪50年代就已经提出过,实现了高效率的频谱利用率,但无法在物理上实现,因为单独处理每路信号是很复杂和麻烦的。直到1997年Weinstein和EBert把离散傅里叶变换(DFT)的方法利用到并行传输系统中,而DFT可以通过*快速傅里叶算法(FFT)*实现,这在根本上降低了系统实现的复杂度。OFDM技术在4G LTE技术中已得到使用,是LTE三大关键技术之一。
  • 传统的频分复用中,为了防止不同子信道之间的干扰,会在任意两个相邻信道之间预留一定的保护带,这降低了频谱利用率——这也是OFDM被提出的重要motivation之一。

(二)OFDM的基本原理

调制多个子载波同时传输信息,将高速的串行输入分解为多个较低速率的信息流进行传输,这些子载波们批在一个符号周期内相互正交,体现在频谱上则是相邻子载波之间不仅没有隔离带而且还重合了50%的频谱。

正交性

OFDM(orthogonal frequency division Mutiplexing)相比传统频分复用多了一个正交。何为正交?信号的正交的定义:

而正交频分服用需要各载波在一个符号周期内相互正交。比如cos(t)和cos(2t),它们在0到2pi之间是正交的。

而正交的载波在各自搭载信息(比如幅度值)进行传输后能在接收端通过积分轻松解调出来。总的来说,正交的信号能够互不干扰地传输不同信息,并且如果选择合适的频率间隔Δf就可以是频谱利用率达到最高。

频率间隔的选取

若符号周期为Ts,假设两个信号cos(w1 t)和cos(w2 t)正交。为了让频谱利用率最高,我们要让两个信号的频率尽量接近,及选择Δf=|w1-w2|/2pi的最小值。因为正交,所以:

事实上,子载波之间不一定初始相位相同,需要考虑一个任意值的相位差:

因此频率间间隔应取码元周期的倒数。

(三)OFDM系统的实现(调制解调)

调制

假定系统有N个子载波,一般输入的是信息序列{bn},我们会将其进行QAM星座图映射,得到一个由一个个对应复数值组成的序列{Sn},再将其进行串并转换,在一个OFDM符号周期内将S0到SN共N个点分别对 e j 2 π f 0 t . . . . . . e j 2 π f N − 1 t e^{ j2πf_0t}......e^{ j2πf_{N-1}t} ej2πf0​t......ej2πfN−1​t进行调制(相乘)。再将这N个已调子载波信号合并后,构成一个OFDM符号:
s O F D M ( t ) = ∑ n = 0 N − 1 S n e j 2 π f n t s_{OFDM}(t)=\sum_{n=0}^{N-1}S_ne^{j2πf_nt} sOFDM​(t)=n=0∑N−1​Sn​ej2πfn​t

这里采用复数子载波是为了和离散傅里叶变换对应起来,以说明OFDM的调制解调可以通过DFT/IDFT实现。将OFDM符号分解为:
s O F D M ( t ) = ∑ n = 0 N − 1 S n e j 2 π f n t = I O F D M ( t ) + j Q O F D M ( t ) s_{OFDM}(t)=\sum_{n=0}^{N-1}S_ne^{j2πf_nt} =I_{OFDM}(t)+jQ_{OFDM}(t) sOFDM​(t)=n=0∑N−1​Sn​ej2πfn​t=IOFDM​(t)+jQOFDM​(t)
分别进行射频调制,最后将射频形式的 s O F D M , R F ( t ) s_{OFDM,RF}(t) sOFDM,RF​(t)发送到信道上。

解调

接收到的射频信号经过下变频变换后恢复出 s O F D M ( t ) = I O F D M ( t ) + j Q O F D M ( t ) s_{OFDM}(t)=I_{OFDM}(t)+jQ_{OFDM}(t) sOFDM​(t)=IOFDM​(t)+jQOFDM​(t),然后进行N个相关解调得到:
1 T s ∫ 0 T s s O F D M ( t ) e − j 2 π f i t d t = 1 T s ∫ 0 T s ( ∑ k = 0 N − 1 S k e j 2 π f k t ) e − j 2 π f i t d t = S i , i = 0 , 1 , … , N − 1 \frac{1}{T_s}\int_0^{T_s}s_{OFDM}(t)e^{-j2πf_it}dt=\frac{1}{T_s}\int_0^{T_s}(\sum_{k=0}^{N-1}S_ke^{j2πf_kt})e^{-j2πf_it}dt=S_i,i=0,1,\dots,N-1 Ts​1​∫0Ts​​sOFDM​(t)e−j2πfi​tdt=Ts​1​∫0Ts​​(k=0∑N−1​Sk​ej2πfk​t)e−j2πfi​tdt=Si​,i=0,1,…,N−1

解调利用了复子载波之间的正交性
∫ 0 T s e j 2 π f k t e − j 2 π f i t d t = { 0 , j = i 1 , j ≠ i \int_0^{T_s}e^{j2πf_kt}e^{-j2πf_it}dt=\begin{cases} 0,\quad j=i\\ 1, \quad j\neq i \end{cases} ∫0Ts​​ej2πfk​te−j2πfi​tdt={0,j=i1,j​=i​
其中 j , k = 0 , 1 , … , N − 1 j,k=0,1,\dots,N-1 j,k=0,1,…,N−1
将得到的Si进行解映射即可得到原来的二进制数据序列{bn}

(四)OFDM与离散傅里叶变换的联系

前面所说的OFDM调制解调系统在子载波数N过大时,运算量将非常大,工程上难以实现。下面说明如何用快速傅里叶变换的方法实现OFDM调制与解调。
已知一个OFDM符号可以表示为 s O F D M ( t ) = ∑ n = 0 N − 1 S n e j 2 π f n t s_{OFDM}(t)=\sum_{n=0}^{N-1}S_ne^{j2πf_nt} sOFDM​(t)=∑n=0N−1​Sn​ej2πfn​t,其中的每一个 S n S_n Sn​都是一个复数值,在整个符号周期内是一个常数。现将OFDM符号离散化,在一个码元周期 T s T_s Ts​内共有N个采样值,则采样周期为 T T T:
T s = N T (1) T_s=NT\tag{1} Ts​=NT(1)
在一个符号周期内的第k个采样值为:
s O F D M ( k T ) = ∑ n = 0 N − 1 S n e j 2 π f n k T (2) s_{OFDM}(kT)=\sum_{n=0}^{N-1}S_ne^{j2πf_nkT}\tag{2} sOFDM​(kT)=n=0∑N−1​Sn​ej2πfn​kT(2)
因为采样值有N个,而子载波数也是N个,所以可以定义:
f n = n Δ f = n 1 T s = n 1 N T (3) f_n=n\Delta f=n\frac{1}{T_s}=n\frac{1}{NT}\tag{3} fn​=nΔf=nTs​1​=nNT1​(3)
带入(2),得:
s O F D M ( k T ) = ∑ n = 0 N − 1 S n e j 2 π k n N , k = 0 , 1 , … , N − 1 (4) s_{OFDM}(kT)=\sum_{n=0}^{N-1}S_ne^{\frac{j2πkn}{N}},k=0,1,\dots,N-1\tag{4} sOFDM​(kT)=n=0∑N−1​Sn​eNj2πkn​,k=0,1,…,N−1(4)
这时候我们想到离散傅里叶变换(DFT)和其逆变换(IDFT)的形式为:
D F T : X ( n ) = 1 N ∑ k = 0 N − 1 x ( k ) e − j 2 π k n N , k = 0 , 1 , … , N − 1 (5) DFT:X(n)=\frac{1}{\sqrt{N}}\sum_{k=0}^{N-1}x(k)e^{-\frac{j2πkn}{N}},k=0,1,\dots,N-1\tag{5} DFT:X(n)=N ​1​k=0∑N−1​x(k)e−Nj2πkn​,k=0,1,…,N−1(5)
I D F T : x ( k ) = 1 N ∑ n = 0 N − 1 X ( n ) e j 2 π k n N , k = 0 , 1 , … , N − 1 (6) IDFT:x(k)=\frac{1}{\sqrt{N}}\sum_{n=0}^{N-1}X(n)e^{\frac{j2πkn}{N}},k=0,1,\dots,N-1\tag{6} IDFT:x(k)=N ​1​n=0∑N−1​X(n)eNj2πkn​,k=0,1,…,N−1(6)
我们可以观察得出二者的形式非常类似,忽略系数以及采样时间我们可以得到:
调 制 ( I D F T ) : s O F D M ( k ) = 1 N ∑ n = 0 N − 1 S n e j 2 π k n N , k = 0 , 1 , … , N − 1 (7) 调制(IDFT):s_{OFDM}(k)=\frac{1}{\sqrt{N}}\sum_{n=0}^{N-1}S_ne^{\frac{j2πkn}{N}},k=0,1,\dots,N-1\tag{7} 调制(IDFT):sOFDM​(k)=N ​1​n=0∑N−1​Sn​eNj2πkn​,k=0,1,…,N−1(7)
解 调 ( D F T ) : S n = 1 N ∑ k = 0 N − 1 s O F D M ( k ) e − j 2 π k n N , n = 0 , 1 , … , N − 1 (8) 解调(DFT):S_n=\frac{1}{\sqrt{N}}\sum_{k=0}^{N-1}s_{OFDM}(k)e^{-\frac{j2πkn}{N}},n=0,1,\dots,N-1\tag{8} 解调(DFT):Sn​=N ​1​k=0∑N−1​sOFDM​(k)e−Nj2πkn​,n=0,1,…,N−1(8)
将OFDM的调制和解调过程表示为一傅里叶变换对并不是解决问题的关键,关键在于IDFT与DFT可以用快速傅里叶变换IFFT/FFT算法来实现。

(五)OFDM的FFT/IFFT实现

记 W N n k = e − j 2 k π n N W_N^{nk}=e^{-\frac{j2kπn}{N}} WNnk​=e−Nj2kπn​,式(7),(8)可以用FFT/IFFT记法记为:
调 制 ( I F F T ) : s O F D M ( k ) = 1 N ∑ n = 0 N − 1 S n W N − n k , k = 0 , 1 , … , N − 1 (9) 调制(IFFT):s_{OFDM}(k)=\frac{1}{\sqrt{N}}\sum_{n=0}^{N-1}S_nW_N^{-nk},k=0,1,\dots,N-1\tag{9} 调制(IFFT):sOFDM​(k)=N ​1​n=0∑N−1​Sn​WN−nk​,k=0,1,…,N−1(9)
解 调 ( F F T ) : S n = 1 N ∑ k = 0 N − 1 s O F D M ( k ) W N n k , n = 0 , 1 , … , N − 1 (10) 解调(FFT):S_n=\frac{1}{\sqrt{N}}\sum_{k=0}^{N-1}s_{OFDM}(k)W_N^{nk},n=0,1,\dots,N-1\tag{10} 解调(FFT):Sn​=N ​1​k=0∑N−1​sOFDM​(k)WNnk​,n=0,1,…,N−1(10)

总的来说,将处理信号用更简单的算法实现,提升了工程性能表现。

(六)OFDM的时间保护间隔和循环前缀

OFDM信号在无线信道传输过程中,可能会受到多径和非理想冲激响应等产生的前一码元拖尾带来的码间串扰,因此需要在码元之间保留一定宽度的时间保护间隔 T g T_g Tg​。而 T g T_g Tg​的长度一般大于无线信道的最大时延扩展,最大时延扩展是指多径信号中第一条到达的径和最后一条到达的径(可区分)的时延插值。这样可以保证上一个符号的多径分量和各种时延因素只会落在这个符号前的保护间隔内。显然,这会降低系统传输的效率。
与此同时,假定信道的群时延不是一个常数,则同一符号的不同子载波会存在时延,这会导致在一个码元周期内 0 0 0~ T s T_s Ts​,存在子载波不再具有整数倍的周期数(对应频域频率间隔不能得到保持),正交性被破坏了(图a)。

因此,除了引入时间保护间隔以外,我们还需要在保护间隔内加入所谓循环前缀,它是指截取每个子载波在码元结束前一段长为 T g T_g Tg​的信号,放置在该码元的时间保护间隔内(图b)。这样抽样的时间间隔落在保护间隔到码元结束之间 [ − T g [-T_g [−Tg​~ T s ] T_s] Ts​]](图b)的区间内,就可以保证在任一长为 T s T_s Ts​的时间段内,各子载波都有整数倍周期数。

(七)OFDM信号的功率谱和特点

功率谱

s O F D M ( t ) = ∑ n = 0 N − 1 S n e j 2 π f n t s_{OFDM}(t)=\sum_{n=0}^{N-1}S_ne^{j2πf_nt} sOFDM​(t)=∑n=0N−1​Sn​ej2πfn​t
= ∑ n = 0 N − 1 ( S I , n + j S Q , n ) ( c o s w n t + j s i n w n t ) =\sum_{n=0}^{N-1}(S_{I,n}+jS_{Q,n})(cosw_nt+jsinw_nt) =∑n=0N−1​(SI,n​+jSQ,n​)(coswn​t+jsinwn​t)
= ∑ n = 0 N − 1 [ ( S I , n c o s w n t − S Q , n s i n w n t ) + j ( S Q , n c o s w n t + S I , n s i n w n t ) ] =\sum_{n=0}^{N-1}[(S_{I,n}cosw_nt-S_{Q,n}sinw_nt)+j(S_{Q,n}cosw_nt+S_{I,n}sinw_nt)] =∑n=0N−1​[(SI,n​coswn​t−SQ,n​sinwn​t)+j(SQ,n​coswn​t+SI,n​sinwn​t)]
= ∑ n = 0 N − 1 ( S I , n c o s w n t − S Q , n s i n w n t ) + j ∑ n = 0 N − 1 ( S Q , n c o s w n t + S I , n s i n w n t ) =\sum_{n=0}^{N-1}(S_{I,n}cosw_nt-S_{Q,n}sinw_nt)+j\sum_{n=0}^{N-1}(S_{Q,n}cosw_nt+S_{I,n}sinw_nt) =∑n=0N−1​(SI,n​coswn​t−SQ,n​sinwn​t)+j∑n=0N−1​(SQ,n​coswn​t+SI,n​sinwn​t)
其实部和虚部分别调制 c o s w c t cosw_ct coswc​t和 s i n w c t sinw_ct sinwc​t,产生的射频信号:
S O F D M , R F ( t ) S_{OFDM,RF}(t) SOFDM,RF​(t)
= ∑ n = 0 N − 1 ( S I , n c o s w n t − S Q , n s i n w n t ) c o s w c t =\sum_{n=0}^{N-1}(S_{I,n}cosw_nt-S_{Q,n}sinw_nt)cosw_ct =∑n=0N−1​(SI,n​coswn​t−SQ,n​sinwn​t)coswc​t
− ∑ n = 0 N − 1 ( S Q , n c o s w n t + S I , n s i n w n t ) s i n w c t -\sum_{n=0}^{N-1}(S_{Q,n}cosw_nt+S_{I,n}sinw_nt)sinw_ct −∑n=0N−1​(SQ,n​coswn​t+SI,n​sinwn​t)sinwc​t

在一个特定的频率范围内,取不同子载波数的OFDM信号的功率密度谱特性如下图:

随着子载波书的增加,OFDM信号的功率密度谱越来越接近理想频谱特性。

特点

与各种传统单载波调制方式相比

优点

(1)可有效对抗频率选择性衰落或窄带干扰 在单载波系统中,传输带宽内局部的严重衰落或干扰能够导致整个通信链路失败。但在多载波系统中,出现上述情况只有落在频带凹陷处的子载波以及其携带的信息受影响。其他子载波未受损害。
(2)可有效克服符号键的串扰 OFDM将高速数据流(串行)转换为并行传输较低速率的数据流,使得每个子载波上的符号持续时间增大大,同样大小的无线信道时间弥散所带来的影响相对于一个码元周期变得很小,从而降低信道估计与均衡的处理时间。因此可以有效克服符号间串扰。OFDM技术适合应用于存在多径和衰落信道环境的宽带高速数据传输。
(3)信道频谱利用率高 虽然有码元间保护间隔的存在,但各个正交的子载波能在频率重合50%的情况保证正交,这极大地提高了信道频谱利用率。
(4)可采用FFT/IFFT的快速算法进行调制和解调 在子载波数量很大时,并行传输系统的实现非常复杂,但OFDM系统的调制解调可以利用快速算法IFFT/FFT实现。
(5)由子载波组成的子信道在不同用户间客高效地灵活分配 基站与不同用户之间的信道往往存在差异,相同频段对于某些用户可能很好,对于另外一些用户很差,OFDM系统可以将不同子载波按照这种好坏差异合理分配给不同用户,是系统的综合效益到达最佳。

缺点

(1)易受频率偏差的影响 频率偏差会是子载波的正交性得到破坏,所以OFDM对频率偏差十分敏感。
(2)存在较高的峰值平均功率比 多载波信号在时域上调制的结果是多个信号的叠加,如果大量已调子载波信号的相位一致时,所得到的叠加信号的瞬时功率将特别高,远远高于其平均功率,导致很大的峰值功率和平均功率比(简称峰均比)。这对发射机内的功放提出了很高的要求。

个人总结:OFDM是多载波系统和并行传输结合而产生的,它用较简单的算法实现了更高的频谱效率和更稳定安全的传输。

ODFM详解(原理+调制解调)相关推荐

  1. MSTP详解- 原理篇

    MSTP详解-原理篇 一. MSTP产生背景 二. MSTP基本概念 三.MSTP端口角色 四.MSTP的端口状态与收敛机制 五. MSTP 拓扑计算原理 5.1 MSTP 向量优先级 5.2 CIS ...

  2. STP和RSTP详解-原理篇

    STP和RSTP详解-原理篇 一.STP 1.1 STP基本概念 1.2 STP三个定时器 1.3 STP BPDU报文 1.3.1 配置 BPDU 1.3.2 TCN BPDU 1.3.3 BPDU ...

  3. Yarn是啥? 详解 原理

    Yarn是啥? 详解+原理 Yarn概述 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程 ...

  4. LightGBM详解--原理+技巧+参数

    LightGBM详解 LightGBM原理 GOSS EFB 直方图算法 问题一:如何将特征值映射到bin中? 问题二:如何构建直方图 直方图作差加速 leaf-wise分裂策略 LightGBM加速 ...

  5. DHCP服务详解(原理+搭建)

    文章目录 详解DNS服务的搭建与解析 参考阅读 前言 一.工作原理 1.1 租约四部曲 1.2 续租 二.DHCP服务器的搭建 2.1 配置文件 2.2 搭建步骤 [基础-IP池/固定IP] [进阶- ...

  6. Docker网络详解——原理篇

    前言 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识.Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完 ...

  7. 利用jquery操作ajax,利用jquery对ajax操作,详解原理(附代码)

    1.jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector ...

  8. Redis五种基本数据类型底层详解(原理篇)

    Redis五种基本数据类型底层详解 详细介绍Redis用到的数据结构 简单动态字符串 SDS和C字符串的区别 总结 链表 字典 哈希表 字典 哈希算法 解决键冲突 rehash(重点) 渐进式reha ...

  9. 【通信原理 入坑之路】—— 详解IQ调制以及星座图原理

    写在前面:本博客是<深入浅出通信原理>的学习笔记,仅供个人学习参考使用 文章目录 一. IQ调制与解调的原理与过程 1.1 利用旋转向量理解IQ调制(正交调制) 1.2 利用旋转向量理解I ...

最新文章

  1. 不妨对苹果保持一点宽容
  2. python在中小学教学中的应用-为什么越来越多人学习python?中小学都要开始了?...
  3. HDU 1846 Brave Game
  4. C++判断一个数是否为armstrong number阿姆斯特朗数(附完整源码)
  5. http 请求默认时间_JMeter接口测试之HTTP请求默认值
  6. 匹配yyyy-mm-dd日期格式的的正则表达式
  7. row_number() over()排序功能说明
  8. ajax音乐网站,AJAX在线音乐网站(5)测试
  9. MVP Open Day 2011
  10. MySQL数据库接口的VC具体实现与应用
  11. Java实现DFA算法对敏感词、广告词过滤功能
  12. APM Agent 之 动态注入 agent
  13. qemu 搭建 ARM Linux环境
  14. 游戏出海迎来新高,出海的路上如何防范DDoS风险?
  15. 我设计开发的第一个产品发布了,微信小程序“集美装修效果图“
  16. 计算机导论中逻辑与或非的公式,12.函数与公式之逻辑函数(or,and,not,if)
  17. 【新知实验室】——腾讯云音视频TRTC体验
  18. Python攻关之模块(2)
  19. 微信搭建本地开发测试环境
  20. python中的random模块_Python内置random模块生成随机数的方法

热门文章

  1. 怎么将简历和个人作品做成二维码?个人资料如何转二维码?
  2. Java语言int型与byte型数组的转换
  3. 在微信小程序里引入Vant Weapp组件库详细步骤
  4. -128的二进制怎么表示
  5. Java使用POI生成柱状图导出到word文档(柱状图)
  6. linux 视频剪辑 剪辑人声,我这边有一个4分钟的剪辑视频,想把里边的人声给清除,背景音乐给留住...
  7. error:1962 no operating system found
  8. 金蝶EAS,凭证接口,生成凭证,删除凭证,WebService接口
  9. 过一点做两个点确定的直线的垂线,计算垂足坐标
  10. python 常用库简介