从离散傅里叶变换来理解通信系统中的正交频分复用(OFDM)
更多文章,欢迎关注我的公众号:信号与FPGA
传统的频分复用(FDM),为了避免子载波之间的干扰,需要在子载波之间设置保护间隔,导致频谱利用率低。
如何避免子载波之间的干扰呢?
如果子载波之间正交,那么子载波上调制的数据符号也就互不影响,OFDM原理正是基于此,避免了传统频分复用的缺点。
首先我们在连续时间域考虑有N个正交的子载波,其表示为:
ϕk(t)=ej2πfkt,k=0,1,...,N−1
\phi_k(t) = e^{j2\pi f_k t}, \quad k = 0, 1, ..., N - 1
ϕk(t)=ej2πfkt,k=0,1,...,N−1
假设子载波间隔为Δf\Delta fΔf,子载波频率 fk=kΔff_k = k\Delta ffk=kΔf,T=1/ΔfT = 1/\Delta fT=1/Δf,那么在时间TTT内,任意两个不同子载波的内积为零:
∫0Tϕk(t)ϕl∗(t)dt=0,k≠l
\int_0^T \phi_k(t)\phi_l^*(t)dt = 0, \quad k \neq l
∫0Tϕk(t)ϕl∗(t)dt=0,k=l
假设每个子载波上调制的数据符号为$ X[k],那么在时间,那么在时间,那么在时间T内,传输N个数据符号内,传输N个数据符号内,传输N个数据符号 X[k]的波形的波形的波形 s(t) $就是这N个子载波被数据符号 $ X[k] $加权后的叠加:
s(t)=∑k=0N−1X[k]ϕk(t)
s(t) = \sum_{k=0}^{N-1} X[k]\phi_k(t)
s(t)=k=0∑N−1X[k]ϕk(t)
数据符号X[k]X[k]X[k] 代表各种调制方式生成的数据,比如QAM/PSK调制。
如何生成时域波形s(t)s(t)s(t) ?
\
如果要直接生成这个 s(t)s(t)s(t),需要 NNN个独立的振荡器(对应每个子载波频率)和乘法器,在硬件上实现并不那么容易。
现代信号处理都在数字域处理,从连续域到数字域, 假设采样间隔为Ts=T/NT_s = T/NTs=T/N , 连续信号s(t)s(t)s(t) 就变成了离散信号s[n]s[n]s[n]。
在时刻 t=nTs=n(T/N)t = nT_s = n(T/N)t=nTs=n(T/N) 采样,s(t)s(t)s(t)变为 s(n)s(n)s(n):
s[n]=s(nTs)=∑k=0N−1X[k]ej2π(kΔf)(nT/N)
s[n] = s(nT_s) =\sum_{k=0}^{N-1} X[k]e^{j2\pi (k\Delta f)(nT/N)}
s[n]=s(nTs)=k=0∑N−1X[k]ej2π(kΔf)(nT/N)
由于 Δf=1/T\Delta f = 1/TΔf=1/T,代入上式:
s[n]=∑k=0N−1X[k]ej2π(k/T)(nT/N)=∑k=0N−1X[k]ej2πkn/N s[n] = \sum_{k=0}^{N-1} X[k]e^{j2\pi (k/T)(nT/N)} = \sum_{k=0}^{N-1} X[k]e^{j2\pi kn/N} s[n]=k=0∑N−1X[k]ej2π(k/T)(nT/N)=k=0∑N−1X[k]ej2πkn/N
上面等式右边正好就是X[k]X[k]X[k] 的 N 点逆离散傅里叶变换(IDFT)的定义,也就是:
s[n]=IDFT{X[k]}
s[n] = \text{IDFT}\{X[k]\}
s[n]=IDFT{X[k]}
从上面等式可以看出,利用逆离散傅里叶变换可以生成N个子载波正交的信号波形。N点的IDFT持续时间T=NTsT =NT_sT=NTs ,称为一个OFDM符号的持续时间。
等式中:
- X[k]X[k]X[k]:代表在第 kkk 个子载波上发送的数据符号(QAM/PSK调制符号),也就是该子载波的幅度和相位。X[k]X[k]X[k] 为OFDM符号的频域表示。
- s[n]s[n]s[n]:是合并了所有子载波之后的时域信号波形。
通过IDFT变换,我们把串行的数据流在频域上分为N个并行的数据流。在工程上采用FFT算法实现IDFT。
基带信号通过射频IQ正交调制,基带信号被调制到需要的载频上经过天线发送。

3万+

被折叠的 条评论
为什么被折叠?



