拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OFDM从正交子载波到循环前缀:通信工程师的通俗解读

OFDM从正交子载波到循环前缀:通信工程师的通俗解读 OFDM这个词搞通信的人耳朵都听出茧子了但真要把它讲明白让一个刚入行的兄弟或者跨专业的朋友听懂其实挺考验表达能力的。我见过太多资料一上来就甩公式傅里叶变换、积分、复数域一套组合拳下来人直接懵了。但如果你换个角度从为什么需要它和它到底怎么工作的这两个问题切入事情会简单很多。这篇内容就是想把OFDM从正交子载波到循环前缀这条主线用大白话串一遍不堆公式尽量用类比和实际工程中的考量来讲。不管你是通信专业的学生还是刚转行做基带算法的工程师或者只是对无线通信好奇的技术爱好者应该都能从中拿到一些实在的东西。1. 从一条马路到多条车道OFDM到底解决了什么问题1.1 单载波为什么不够用要理解OFDM得先知道它之前大家是怎么干的。最早的无线通信是单载波方案就是一个频点、一个载波把信息调制上去发出去。你可以把它想象成一条单车道公路所有数据排着队一辆一辆过。这条路在低速的时候没问题但一旦你想提高速率就得把车开得更快或者把每辆车装得更多。问题就出在这里。无线信道不是理想环境它有多径效应。什么叫多径就是你发出去的信号会经过建筑物、地面、墙壁的反射走不同的路径到达接收端。有的走直线先到有的绕了一圈后到。这就像你在山谷里喊一嗓子会听到回声一样。在单载波高速传输的场景下符号周期变得很短短到多径延迟可能跟符号周期差不多甚至更长这时候前后符号就会互相干扰也就是符号间干扰ISI。传统做法是加均衡器来补偿但均衡器的复杂度随着带宽增加呈指数级上升。你带宽越大符号越短信道冲激响应的时间跨度相对就越长均衡器要处理的抽头数就越多。这就陷入了一个死循环想提速就得加带宽加带宽就得加均衡器复杂度复杂度高了功耗和成本都受不了。1.2 多载波的核心思路OFDM的思路其实很朴素既然一条路堵那就多修几条路把数据分散到多条车道上并行传输。每条车道上的数据速率降下来符号周期就变长了长到比多径延迟还长ISI自然就小了。但这里有个关键问题多修路可以但路与路之间不能互相干扰。在频域上如果简单地把频谱切成一块一块相邻频段之间会有频谱泄露就像相邻车道之间没有隔离带车会串道。所以早期多载波方案会在子载波之间留保护带但这样频谱利用率就低了。OFDM的聪明之处在于它让子载波之间正交。正交这个词听起来很数学但你可以这样理解两个信号正交就是它们在一个周期内相乘再积分结果为零。这意味着即使子载波的频谱有重叠在正确的采样点上它们互不干扰。这就像两个人同时说话但一个说中文一个说英文你只要懂其中一种语言就能从混合的声音里准确提取出你要的信息另一种语言对你来说就是正交的噪声。1.3 正交性带来的频谱效率优势正交性带来的直接好处是子载波可以紧密排列不需要保护带。每个子载波的峰值正好落在其他子载波的零点上这就是所谓的奈奎斯特第一准则在频域的表现。频谱利用率因此大幅提升这也是OFDM能成为4G LTE、5G NR、WiFi 6/7等主流标准核心技术的原因。我实测过一些仿真在同样的带宽下OFDM相比传统的频分复用方案频谱效率能提升30%到50%具体取决于子载波数量和调制阶数。这个提升在频谱资源越来越紧张的今天价值非常大。2. 正交子载波不是玄学是数学上的精妙安排2.1 子载波间隔的确定逻辑OFDM系统里子载波间隔是一个核心参数。它不是随便定的而是跟符号周期直接挂钩。具体来说子载波间隔等于有效符号周期的倒数。比如LTE里子载波间隔是15kHz对应的有效符号周期就是1/15000秒约66.7微秒。为什么是这个关系因为要保证正交性每个子载波在一个符号周期内必须完成整数个周期。如果子载波间隔是Δf符号周期是T那么Δf乘以T必须等于整数。取最小的整数1就得到Δf等于1/T。这样每个子载波在符号周期内正好完成一个完整周期相邻子载波之间刚好差一个周期在积分区间内正交。实际系统中子载波间隔的选择还要考虑多普勒频移和相位噪声。子载波间隔越大对多普勒频移的容忍度越高但符号周期越短循环前缀的开销占比就越大。所以这是一个权衡。高速移动场景下比如高铁或者无人机通信通常会选择更大的子载波间隔比如5G里的30kHz、60kHz甚至120kHz来对抗多普勒效应。2.2 频域上的零交叉现象如果你在频域上看OFDM信号会看到每个子载波的频谱是一个sinc函数形状也就是sin(x)/x。这个形状的特点是在中心频率处有最大值然后在两侧以一定的间隔出现零点。这些零点的位置正好是其他子载波的中心频率。这就是正交性的频域表现。每个子载波在自身中心频率处最大在其他子载波中心频率处为零。接收端在解调时只需要在每个子载波的中心频率处采样就能得到该子载波的数据而不会受到其他子载波的干扰。我刚开始学的时候总觉得这个零交叉很神奇后来自己用MATLAB画了一下频谱就明白了。你可以把多个sinc函数叠加在一起虽然它们的频谱有重叠但在每个采样点上只有一个子载波有值其他都是零。这就是正交的直观含义。2.3 子载波数量与系统带宽的关系系统带宽等于子载波数量乘以子载波间隔。比如LTE的20MHz带宽实际使用的子载波数量是1200个子载波间隔15kHz1200乘以15kHz等于18MHz剩下的2MHz作为保护带。这个保护带是必要的因为实际滤波器不可能做到理想的矩形滚降需要留一定的过渡带。子载波数量越多每个子载波上的数据速率就越低符号周期就越长对抗多径的能力就越强。但子载波数量也不是越多越好因为子载波数量多了峰均比PAPR会变高对功放的要求就更苛刻。这是一个系统级的权衡在实际设计中需要根据场景来优化。3. IFFT和FFTOFDM工程实现的基石3.1 为什么是IFFT而不是直接调制理论上OFDM信号的生成就是把每个子载波上的数据调制到对应的频率上然后叠加。但如果在硬件上真的用多个振荡器去生成多个子载波成本高得离谱而且相位同步也很难保证。IFFT逆快速傅里叶变换的出现让OFDM从理论走向了工程可行。IFFT可以把频域的数据一次性转换成时域信号相当于同时完成了多个子载波的调制和叠加。具体来说你把N个数据符号放到N个频点上做一次N点IFFT输出的就是N个时域采样点这N个采样点就是OFDM符号的时域波形。这个转换的数学本质是IFFT把频域的离散数据映射到时域的离散采样而每个频点对应一个子载波。因为IFFT的基函数本身就是正交的所以生成的时域信号天然满足子载波正交性。这就是为什么OFDM能用一次IFFT搞定所有子载波的调制计算复杂度从O(N²)降到O(N log N)。3.2 FFT在接收端的角色接收端做的是相反的操作把接收到的时域采样点做FFT转换回频域然后每个频点上的值就是对应子载波上的数据。因为IFFT和FFT是互逆的所以发送端和接收端可以完美配对。这里有个细节值得注意FFT的点数必须和IFFT的点数一致而且采样率要匹配。如果采样率有偏差会导致子载波间的正交性被破坏产生子载波间干扰ICI。在实际系统中采样时钟同步是一个关键技术通常需要用导频信号来做精细的频率偏移估计和补偿。3.3 实际工程中的点数选择在实际系统中FFT点数通常是2的幂次比如128、256、512、1024、2048、4096等。这是因为基2的FFT算法效率最高硬件实现也最方便。但有时候也会用混合基FFT比如3、5、7等因子的组合来适配特定的带宽需求。以5G NR为例不同带宽配置下FFT点数不同。20MHz带宽、15kHz子载波间隔时FFT点数是2048其中实际使用的子载波约1200个其余作为保护带。100MHz带宽、30kHz子载波间隔时FFT点数是4096。这些参数在3GPP标准里都有明确规定做基带开发的时候直接查表就行。我踩过的一个坑是在FPGA实现时如果FFT点数不是2的幂次资源消耗会明显增加。所以除非有特殊需求尽量选2的幂次。另外FFT的位宽也很关键位宽不够会导致量化噪声影响解调性能。一般建议至少12位以上具体要看调制阶数和系统要求。4. 循环前缀用冗余换取鲁棒性4.1 多径干扰的时域表现前面说了多径会导致符号间干扰。具体在时域上是什么样子假设你发送一个OFDM符号经过多径信道后接收端会收到多个延迟版本的叠加。如果延迟超过了保护间隔前一个符号的尾部就会侵入当前符号的头部造成ISI。同时同一个符号内部不同子载波之间的正交性也会被破坏产生ICI。这个问题不解决OFDM的性能会严重下降。循环前缀CP就是用来解决这个问题的。它的思路很直接在每个OFDM符号的前面加上一段该符号尾部的复制。这样即使有多径延迟延迟版本落在CP范围内就不会侵入到下一个符号的有效数据部分。4.2 循环前缀为什么能保持正交性CP的妙处在于它不只是简单的保护间隔而是把符号尾部复制到头部。这样做的好处是当多径延迟落在CP范围内时接收端做FFT的窗口内信号仍然是完整的整数个周期。因为CP是尾部的复制所以即使窗口起始位置有偏移窗口内的信号仍然满足周期性子载波之间的正交性得以保持。你可以这样理解CP相当于给FFT窗口提供了一个缓冲区。只要多径延迟不超过CP长度FFT窗口就能完整地包含一个符号的整数个周期正交性就不会被破坏。如果只是加零填充作为保护间隔虽然也能避免ISI但会破坏子载波的正交性导致ICI。所以CP比零填充更优。4.3 CP长度的权衡与选择CP长度不是随便定的它需要覆盖信道的最大多径延迟。如果CP太短多径延迟超出CP范围ISI和ICI就会出现。如果CP太长虽然保护更充分但开销占比增加频谱效率下降。以LTE为例常规CP长度约4.7微秒扩展CP约16.7微秒。常规CP适用于大多数城区环境多径延迟一般在几微秒以内。扩展CP用于多径延迟较大的场景比如山区或者单频网。5G NR里CP长度也是根据子载波间隔来定的子载波间隔越大符号周期越短CP的绝对长度也越短。实际工程中CP长度的选择需要根据部署场景来定。我做过一个覆盖半径几公里的场景多径延迟可能达到十几微秒这时候就需要用扩展CP。但扩展CP会带来约20%到25%的开销所以如果不是必要一般还是用常规CP。4.4 CP开销与系统效率的平衡CP开销等于CP长度除以总符号长度。总符号长度等于有效符号周期加上CP长度。以LTE为例有效符号周期66.7微秒CP长度4.7微秒总符号长度71.4微秒CP开销约6.6%。这个开销在可接受范围内。但如果用扩展CPCP长度16.7微秒总符号长度83.4微秒开销就上升到20%。这意味着五分之一的频谱资源被用来传CP而不是有效数据。所以在设计系统时需要在鲁棒性和效率之间做权衡。一般来说城区环境用常规CP就够了只有特殊场景才用扩展CP。5. 从理论到落地OFDM系统设计中的关键细节5.1 导频设计与信道估计OFDM系统里接收端需要知道信道在每个子载波上的响应才能正确解调。这就需要在发送端插入导频信号。导频是已知的数据接收端通过对比接收到的导频和已知导频可以估计出信道响应。导频的插入方式有块状导频和梳状导频两种。块状导频是在某些OFDM符号的所有子载波上都放导频适合慢衰落信道。梳状导频是在每个OFDM符号的某些子载波上放导频适合快衰落信道。实际系统中通常会结合两种方式比如LTE里的CRS小区参考信号就是梳状导频。导频密度需要根据信道相干带宽和相干时间来确定。相干带宽越大频域导频可以越稀疏相干时间越大时域导频可以越稀疏。如果导频太稀疏信道估计精度不够如果太密集开销太大。这是一个需要仔细优化的参数。5.2 峰均比问题与解决方案OFDM的一个固有缺点是峰均比PAPR高。因为多个子载波叠加时域信号的幅度可能远高于平均值。高峰均比意味着功放需要更大的线性动态范围否则会产生非线性失真导致带外辐射和带内干扰。解决PAPR的方法有很多比如限幅、预失真、编码、星座扩展等。限幅最简单但会引入带内失真和带外辐射。预失真效果较好但需要精确的功放模型。编码方法比如选择映射SLM和部分传输序列PTS通过优化相位来降低PAPR但需要发送边信息增加了复杂度。实际系统中通常会组合使用多种方法。比如在基站侧用预失真在终端侧用限幅加滤波。5G NR里还引入了π/2-BPSK调制在某些场景下可以降低PAPR。这个问题的本质是OFDM的高频谱效率和低复杂度是以高峰均比为代价的工程上需要在效率和线性度之间找平衡。5.3 同步误差的影响与补偿OFDM系统对同步误差非常敏感。时间同步误差会导致FFT窗口偏移破坏正交性频率同步误差会导致子载波间干扰因为频率偏移会让子载波的中心频率偏离FFT的采样点。时间同步通常用CP的自相关性来做。因为CP是尾部的复制所以接收端可以把信号和延迟版本做相关相关峰值的位置就是符号起始位置。频率同步通常用导频或者CP的相位差来估计。在实际系统中同步是一个迭代过程先做粗同步再做细同步最后用导频做残余频偏补偿。我调试过一个系统频偏估计误差超过子载波间隔的1%时误码率就明显上升。所以频偏估计的精度要求很高通常需要达到子载波间隔的0.1%以内。这需要在算法和硬件上都有足够的精度。5.4 实际部署中的常见问题在实际部署中OFDM系统还会遇到一些理论分析中不太关注的问题。比如相位噪声尤其是高频段如毫米波场景下相位噪声会严重影响子载波间的正交性。还有IQ不平衡会导致镜像干扰。这些非理想因素在仿真中容易被忽略但在实际系统中必须考虑。另外OFDM对定时误差的敏感度跟子载波间隔有关。子载波间隔越大符号周期越短对定时误差的容忍度就越低。所以在高频段、大带宽场景下同步和定时精度的要求更高。这也是为什么5G NR在高频段用更大的子载波间隔一方面是对抗多普勒另一方面也是因为相位噪声和定时误差的影响相对更可控。6. 写在最后的一些实操体会OFDM这套东西理论看起来复杂但核心思想就那么几条用多个正交子载波并行传输来降低符号速率用IFFT/FFT来高效实现调制解调用循环前缀来对抗多径。把这三条主线抓住剩下的都是细节。我在实际做基带算法的时候最大的体会是仿真和实测的差距往往不在算法本身而在那些非理想因素上。比如功放的非线性、相位噪声、IQ不平衡、采样时钟偏差这些在教科书里可能只是一笔带过但在工程中却是决定成败的关键。所以如果你在做OFDM相关的开发建议尽早把这些非理想因素加入到仿真模型里不要等到实测才发现问题。还有一个经验是参数选择没有绝对的最优只有最适合当前场景的。子载波间隔、CP长度、FFT点数、导频密度这些参数都是相互关联的改一个就会影响其他。做系统设计的时候最好先明确场景需求比如覆盖范围、移动速度、频谱效率要求然后再去优化参数组合。不要盲目追求某个指标的最优系统级的平衡才是最重要的。最后说一个调试技巧如果解调性能不达预期先查同步再查信道估计最后查均衡。同步问题占了实际问题的很大一部分而且往往表现为误码率居高不下容易跟信道估计问题混淆。用CP相关性做时间同步用导频做频偏估计这两个步骤做扎实了后面的问题会少很多。
返回列表