某天看了某大神的博客,重要对OFDM有些体会。。自己又加了些内容,更好理解
1.OFDM的基本原理: 在宽带无线通信系统中,影响高速信息传输的最主要一类干扰是频率选择性干扰。它表现为对信号的某些频率成分衰减严重,而对另外一些频率成分有较高的增益。为克服这类衰落,一个很自然的想法是在信道上划分多个子信道,使每一个子信道的频率特性都近似于平坦,使用这些独立的子信道传输信号并在接收机中予以合并,以实现信号的频率分集,这就是多载波调制的基本思想。在无线通信中应用最广的是OFDM多载波调制技术,它的每一个子载波都是正交的,提高了频谱的利用率。还可以在OFDM符号之间插入保护间隔,令保护间隔大于无线信道的最大时延扩展,最大限度的消除由于多径带来的符号间干扰。 2.基于IFFT/FFT 实现的OFDM 系统方框图如图1 所示 图 IFFT/FFT 实现的OFDM 系统 图1.1中串行输入数据为经过信道编码后的序列(如Turbo码),将该序列转换成包含R个比特的块,每块再分成N个组,每个组对应一个子载波。根据所采用调制方式的不同,每个组包含的比特数可以不同,设第 K 组的比特数为 , 则有 采用ASK、PSK、QAM等调制方式将这 个比特映射成复值符号。 3.时域上的OFDM OFDM的"O"代表着"正交"。 首先说说最简单的情况,sin(t)和sin(2t)是正交的【证明:sin(t)·sin(2t)在区间[0,2π]上的积分为0】,而正弦函数又是波的最直观描述,因此我们就以此作为介入点。既然本文说的是图示,那么我们就用图形的方式来先理解一下正交性。【你如果能从向量空间的角度,高屋建瓴的看待这个问题的话,你也就不是"小白"了,R U?】 在下面的图示中,在[0,2π]的时长内,采用最易懂的幅度调制方式传送信号:sin(t)传送信号a,因此发送a·sin(t),sin(2t)传送信号b,因此发送b·sin(2t)。其中,sin(t)和sin(2t)的用处是用来承载信号,是收发端预先规定好的信息,在本文中一律称为子载波;调制在子载波上的幅度信号a和b,才是需要发送的信息。因此在信道中传送的信号为a·sin(t)+b·sin(2t)。在接收端,分别对接收到的信号作关于sin(t)和sin(2t)的积分检测,就可以得到a和b了。(以下图形采用google绘制)
图2:发送a信号的sin(t)
图3:发送b信号的sin(2t)【注意:在区间[0,2π]内发送了 两个完整波形】
图4:发送在无线空间的叠加信号a·sin(t)+b·sin(2t)
图5:接收信号乘sin(t),积分解码出a信号。【如前文所述,传送b信号的sin(2t)项,在积分后为0】
图6:接收信号乘sin(2t),积分解码出b信号。【如前文所述,传送a信号的sin(t)项,在积分后为0】
图7:流程图 1.1 下一步,将sin(t)和sin(2t)扩展到更多的子载波序列{sin(2π·Δf·t),sin(2π·Δf·2t),sin(2π·Δf·3t),...,sin(2π·Δf·kt)}(例如k=16,256,1024等),应该是很好理解的事情。其中,2π是常量;Δf是事先选好的载频间隔,也是常量。1t,2t,3t,...,kt保证了正弦波序列的正交性。 1.2 再下一步,将cos(t)也引入。容易证明,cos(t)与sin(t)是正交的,也与整个sin(kt)的正交族相正交。同样,cos(kt)也与整个sin(kt)的正交族相正交。因此发射序列扩展到{sin(2π·Δf·t),sin(2π·Δf·2t),sin(2π·Δf·3t),...,sin(2π·Δf·kt),cos(2π·Δf·t),cos(2π·Δf·2t),cos(2π·Δf·3t),...,cos(2π·Δf·kt)}也就顺理成章了。 1.3 经过前两步的扩充,选好了2组正交序列sin(kt)和cos(kt),这只是传输的"介质"。真正要传输的信息还需要调制在这些载波上,即sin(t),sin(2t),...,sin(kt)分别幅度调制a1,a2,...,ak信号,cos(t),cos(2t),...,cos(kt)分别幅度调制b1,b2,...,bk信号。这2n组互相正交的信号同时发送出去,在空间上会叠加出怎样的波形呢?做简单的加法如下: f(t) =a1·sin(2π·Δf·t) +
a2·sin(2π·Δf·2t) +
a3·sin(2π·Δf·3t) +
...
ak·sin(2π·Δf·kt) +
b1·cos(2π·Δf·t) +
b2·cos(2π·Δf·2t) +
b3·cos(2π·Δf·3t) +
...
bk·cos(2π·Δf·kt) +
= ∑ak·sin(2π·Δf·kt) + ∑bk·cos(2π·Δf·kt) 【公式1-1:实数的表达】 为了方便进行数学处理,上式有复数表达形式如下:
f(t) = ∑Fk·e(j·2π·Δf·kt) 【公式1-2:复数的表达,这编辑器找不到上角标...不过,你应该看得懂的】 上面的公式可以这样看:每个子载波序列都在发送自己的信号,互相交叠在空中,最终在接收端看到的信号就是f(t)。接收端收到杂糅信号f(t)后,再在每个子载波上分别作相乘后积分的操作,就可以取出每个子载波分别承载的信号了。 然后,多看看公式1-1和公式1-2!!这就是傅里叶级数。如果将t离散化,那么就是离散傅立叶变换。所以才有OFDM以FFT来实现的故事。将在下面的章节进行更多的描述。 遵循古老的传统,F表示频域,f表示时域,所以可以从公式1-2中看出,每个子载波上面调制的幅度,就是频域信息。类似的说法是:OFDM传输的是频域信号。这种说法有些别扭,但是很多教程或文章会使用这样的说明方式,就看读者如何理解了。如果纯粹从公式或者子载波来看,这种说法其实也是很直接的阐述了。 上面1.1-1.3的扩展,可如下图所示:
图8:时域上的OFDM系统图
4. 频域上的OFDM 时域上的讨论开始于OFDM中的"O";频域上我们从"FDM"开始。
先图例一个常规FDM的系统图:
图9:常规FDM,两路信号频谱之间有间隔,互相不干扰
为了更好的利用系统带宽,子载波的间距可以尽量靠近些。
图10:靠得很近的FDM,实际中考虑到硬件实现,解调第一路信号时,已经很难完全去除第二路信号的影响了(电路的实现毕竟不能像剪刀裁纸一样利落),两路信号互相之间可能已经产生干扰了
还能再近些吗?可以的。这就是OFDM的来历啊,近到完全等同于奈奎斯特带宽(后面有详述),使频带的利用率达到了理论上的最大值。
图11:继续靠近,间隔频率互相正交,因此频谱虽然有重叠,但是仍然是没有互相干扰的。神奇的OFDM
对限制在[0,2π]内的sin(t)信号,相当于无限长的sin(t)信号乘以一个[0,2π]上的门信号(矩形脉冲),其频谱为两者频谱的卷积。sin(t)的频谱为冲激,门信号的频谱为sinc信号(即sin(x)/x信号)。冲激信号卷积sinc信号,相当于对sinc信号的搬移。所以分析到这里,可以得出图一的时域波形其对应的频谱如下:
图12:限定在[0,2π]内的a·sin(t)信号的频谱,即以sin(t)为载波的调制信号的频谱
sin(2t)的频谱分析基本相同。需要注意的是,由于正交区间为[0,2π],因此 sin(2t)在相同的时间内发送了两个完整波形。相同的门函数保证了两个函数的频谱形状相同,只是频谱被搬移的位置变了:
图13:限定在[0,2π]内的b·sin(2t)信号的频谱,即以sin(2t)为载波的调制信号的频谱
将sin(t)和sin(2t)所传信号的频谱叠加在一起,如下:
图14:a·sin(t)+b·sin(2t)信号的频谱
贴士:脉冲成型滤波器作用于频域,可以"看作"时域中的每个码元都是以类似sinc信号发出的。没必要纠结于发送端码元的时域波形,只需要知道在接收端通过合适的采样就可以无失真的恢复信号就OK咯。 这里用到的是奈奎斯特第一准则,在下面的框框内会稍作描述: 奈奎斯特第一准则请自行google,这里说说其推论:码元速率为1/T(即每个码元的传输时长为T),进行无码间串扰传输时,所需的最小带宽称为奈奎斯特带宽。
对于理想 低通信道,奈奎斯特带宽W = 1/(2T)
对于理想 带通信道,奈奎斯特带宽W = 1/T
在下面的图31中,可以看出信号的实际带宽B是要大于奈奎斯特带宽W(低通的1/(2T)或者带通的1/T)的,这就是理想和现实的距离。
补充说明:本文提到的"带宽",也即约定俗成的带宽理解方式,指的是信号频谱中>=0的部分。在从 低通到 带通的搬移过程中,因为将原信号负频率部分也移出来了(也可理解为同乘e(j2πfct) + e(-j2πfct)的结果,见参考[2])【注:没有上角标和下角标的编辑器,真不爽。不过,你应该看得懂的】,所以带宽翻倍了。如下图所示:
图15:内涵丰富的图,请参看上面和下面的说明文字 |
上面专门用框框列出奈奎斯特第一准则,还有一个重要目的就是说明下频带利用率的问题。频带利用率是码元速率1/T和带宽B(或者W)的比值。 理想情况下,低通信道频带利用率为2Baud/Hz;带通信道频带利用率同样为2Baud/Hz(负频率移出来后,和正频率一样可以独立携带信号)
实际情况下,因为实际带宽B要大于奈奎斯特带宽W,所以实际FDM系统的频带利用率会低于理想情况。 【 说到这里,终于可以图穷匕见了】而OFDM的子载波间隔最低能达到奈奎斯特带宽,也就是说(在不考虑最旁边的两个子载波情况下), OFDM达到了理想信道的频带利用率。
图16:OFDM正交子载波,载频间距为奈奎斯特带宽,保证了最大的频带利用率
5. 用IFFT实现OFDM 个人觉得要理解IFFT实现OFDM,最好的办法还是看公式。比如第一章节中的公式1-1和公式1-2,配上时域波形图的叠加,不要太好理解哟。当然,这里的IFFT需要将时域离散化,因此公式IFFT ≈IDFT --> fn = 1/N·∑Fk·e(j·2π·k·n/N) 【公式3-1,n为时域离散后的序号,N为总的IFFT个数,n∈[1,N]】 关于公式3-1的理解方法,可以是这样的。其中一种理解方式是联系第一章节的公式1-2:可以发现公式3-1等号右侧所表达的物理意义和公式1-2是相同的,均代表了不同子载波e(j·2π·k·n/N)发送各自的信号Fk,然后在时域上的叠加形成fn,只不过现在叠加出来的时域不是连续波形,而是离散的时序抽样点。 另一种更容易,更可爱的理解方式是:在一个OFDMsymbol的时长T内,用N个子载波各自发送一个信号F(k)(k∈[1,N]),等效于直接在时域上连续发送fn(n∈[1,N])N个信号,每个信号发送T/N的时长。 在IFFT实现OFDM中,发送端添加了IFFT模块、接收端添加了FFT模块。 IFFT模块的功能相当于说:别麻烦发送N个子载波信号了,我直接算出你们在空中会叠加成啥样子吧; FFT模块的功能相当于说:别用老式的积分方法来去除其余的正交子载波了,我帮你一次把N个携带信号全算出来吧。就是这样,IFFT实现OFDM的系统用" 数学的方法",在发送端计算信号的叠加波形,在接收端去除正交子载波,从而简化了系统的复杂度。
图17:用IFFT实现OFDM。请自行对比图七
6. 从频谱上来看正交性 从正文章节中,可以发现作者的思路:从时域角度讲解子载波的正交性;从频域角度讲解OFDM的频带利用率。作者觉得这是最容易理解OFDM原理的方式。但是教材中、网络上,还有一种非常主流的讲解方式:从频域上“直观的”看待子载波的正交性。比如下面这个图: 图18:从OFDM频谱看待正交性( 本图来自网络,比我画的图好些,还有文字说明) 这种观点的说法是:在每个子载波的抽样点上,其它的子载波信号抽样值均为0(即上图中的subcarrier Nulls对应某个子载波的Subcarrier Peak)。这种说法在图示上有非常醒目的直观效果,所以是各教材讲义中的常客,但是至少从作者的角度来看,这种说法在涉及到后面的解调信号时,将变得非常难以理解和说明。所以本文最开始的版本中是没打算写本小节的。 如果你看到这里,觉得这种说法正中下怀,那么恭喜你。 如果你看到这里,觉得这种说法已经让你的脑袋成了浆糊,那么可以回顾第一章节:时域上的正交性,然后继续阅读下面部分以解毒。 时域上的正交性和频域上的正交性之间的关系该如何联系起来呢?回顾前面提到sin(t)和sin(2t)是正交的【证明:sin(t)·sin(2t)在区间[0,2π]上的积分为0】,推广到更一般的情况是:{sin(2π·Δf·t),sin(2π·Δf·2t),sin(2π·Δf·3t),...,sin(2π·Δf·kt)}在区间[0,1/Δf]上正交(注:教材上一般写为u(t)在[-T/2,T/2]区间上怎么怎么着,本文就用不着那么学术了)。可以看出,这里有一个关键的参数Δf:它既是频域上子载波的间距,又确定了时域上的信号传输时间。回顾时域频域转换图: 图19:时域波形和频域的转换 联系上图的时频转换,可以发现Δf既确定了子载波本身(即上图中第一排的两个图),又确定了待发信号的传输时间(即上图中第二排的两个图中信号的宽度),从而决定了信号频谱的主瓣宽度以及旁瓣为0的位置。这也意味着,OFDM系统中一旦选定了子载波间隔,时域上的正交性以及频域上的正交性也就顺理成章的联系起来了。如下图: 图20:两路信号的间隔Δf,保证了时域上的正交性、确定了频域上的旁瓣0点位置
|