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πf0t......ej2πfN−1t进行调制(相乘)。再将这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−1Snej2πfnt
这里采用复数子载波是为了和离散傅里叶变换对应起来,以说明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−1Snej2πfnt=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
Ts1∫0TssOFDM(t)e−j2πfitdt=Ts1∫0Ts(k=0∑N−1Skej2πfkt)e−j2πfitdt=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}
∫0Tsej2πfkte−j2πfitdt={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−1Snej2πfnt,其中的每一个
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−1Snej2πfnkT(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=nTs1=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−1SneNj2π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)=N1k=0∑N−1x(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)=N1n=0∑N−1X(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)=N1n=0∑N−1SneNj2π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=N1k=0∑N−1sOFDM(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)=N1n=0∑N−1SnWN−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=N1k=0∑N−1sOFDM(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−1Snej2πfnt
=
∑
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)(coswnt+jsinwnt)
=
∑
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,ncoswnt−SQ,nsinwnt)+j(SQ,ncoswnt+SI,nsinwnt)]
=
∑
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,ncoswnt−SQ,nsinwnt)+j∑n=0N−1(SQ,ncoswnt+SI,nsinwnt)
其实部和虚部分别调制
c
o
s
w
c
t
cosw_ct
coswct和
s
i
n
w
c
t
sinw_ct
sinwct,产生的射频信号:
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,ncoswnt−SQ,nsinwnt)coswct
−
∑
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,ncoswnt+SI,nsinwnt)sinwct
在一个特定的频率范围内,取不同子载波数的OFDM信号的功率密度谱特性如下图:
随着子载波书的增加,OFDM信号的功率密度谱越来越接近理想频谱特性。
特点
与各种传统单载波调制方式相比
优点
(1)可有效对抗频率选择性衰落或窄带干扰 在单载波系统中,传输带宽内局部的严重衰落或干扰能够导致整个通信链路失败。但在多载波系统中,出现上述情况只有落在频带凹陷处的子载波以及其携带的信息受影响。其他子载波未受损害。
(2)可有效克服符号键的串扰 OFDM将高速数据流(串行)转换为并行传输较低速率的数据流,使得每个子载波上的符号持续时间增大大,同样大小的无线信道时间弥散所带来的影响相对于一个码元周期变得很小,从而降低信道估计与均衡的处理时间。因此可以有效克服符号间串扰。OFDM技术适合应用于存在多径和衰落信道环境的宽带高速数据传输。
(3)信道频谱利用率高 虽然有码元间保护间隔的存在,但各个正交的子载波能在频率重合50%的情况保证正交,这极大地提高了信道频谱利用率。
(4)可采用FFT/IFFT的快速算法进行调制和解调 在子载波数量很大时,并行传输系统的实现非常复杂,但OFDM系统的调制解调可以利用快速算法IFFT/FFT实现。
(5)由子载波组成的子信道在不同用户间客高效地灵活分配 基站与不同用户之间的信道往往存在差异,相同频段对于某些用户可能很好,对于另外一些用户很差,OFDM系统可以将不同子载波按照这种好坏差异合理分配给不同用户,是系统的综合效益到达最佳。
缺点
(1)易受频率偏差的影响 频率偏差会是子载波的正交性得到破坏,所以OFDM对频率偏差十分敏感。
(2)存在较高的峰值平均功率比 多载波信号在时域上调制的结果是多个信号的叠加,如果大量已调子载波信号的相位一致时,所得到的叠加信号的瞬时功率将特别高,远远高于其平均功率,导致很大的峰值功率和平均功率比(简称峰均比)。这对发射机内的功放提出了很高的要求。
个人总结:OFDM是多载波系统和并行传输结合而产生的,它用较简单的算法实现了更高的频谱效率和更稳定安全的传输。