ARTICLE DETAIL

资讯详情

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

OTFS与CP-OFDM高速双色散信道性能对比:从原理到Matlab仿真

OTFS与CP-OFDM高速双色散信道性能对比:从原理到Matlab仿真 1. 为什么OTFS在高速移动场景下能“逆袭”——先看OFDM的老毛病1.1 OFDM靠子载波正交性吃饭但高移动性偏偏要砸饭碗做无线通信的人都知道OFDM这些年几乎是4G、5G的“标配波形”。它的核心逻辑很朴素把宽带信道切成很多窄带子信道每个子载波之间保持严格正交再加上循环前缀对抗多径时延接收端就能用一个相对简单的频域均衡器把数据解出来。这套设计在静止或低速场景下非常漂亮工程实现也成熟芯片成本低所以业界普遍愿意用它。但OFDM有一个根本性的软肋它对子载波间的正交性非常敏感。正交性一旦被破坏ICI就会像漏水一样渗进每个子载波。破坏正交性的头号元凶就是高速移动带来的多普勒频移。高铁跑到350km/h在3.5GHz频段下的最大多普勒频移大概接近1100Hz而5G NR的15kHz子载波间隔在毫米波以外场景里也就是这个量级归一化多普勒频移已经达到0.07甚至更高。子载波间隔较窄时相邻子载波的旁瓣就会互相污染信干比急剧下降。我曾经在实际测试中见过一个很典型的现场车速超过200km/h后CP-OFDM的误码率曲线开始出现明显“地板”也就是无论怎么提高信噪比误码都降不下去。这种地板效应的本质就是干扰主导而不是噪声主导。很多人一开始以为是信道估计不准后来排查下来发现即使理想信道估计高速场景下的ICI也照样会把BER钉死。这说明波形本身在高移动性下就存在天花板。1.2 双色散信道时间色散和频率色散同时出现要理解OTFS为什么能解决这个问题先得把信道模型看透。标题里写的“WSS-US双色散瑞利衰落通道”拆开就是三层意思。第一层是瑞利衰落。发射机和接收机之间没有直射路径信号全部靠散射体反射到达接收端每个路径的幅度服从瑞利分布。这是城市、山地、室内等常见NLOS环境的经典模型。第二层是双色散。无线信道同时存在时间色散和频率色散时间色散由多径时延扩展引起表现为频率选择性也就是不同频率的衰落不同频率色散由多普勒扩展引起表现为时间选择性也就是信道冲激响应随时间快速变化。说得更直白一点双色散就是信道在时间和频率两个维度上都“不均匀”。这在高速移动加多径丰富的场景里几乎是常态。第三层是WSS-US也就是广义平稳非相关散射。简单说信道的统计特性在一段时间内是平稳的不同多径分量之间互不相关而且不同多普勒频移分量之间也互不相关。这个假设让信道可以被建模为一组互相独立的抽头每个抽头对应特定的时延和特定的多普勒频率也就是经典的抽头延迟线模型。它不一定在所有场景都严格成立但作为仿真分析的标准信道假设足够说明问题。打个比方如果OFDM像是在一张被风吹得抖动的纸上读字那么双色散信道就是纸面既在抖动、字迹还有重影。CP能消除重影多径时延却拿抖动多普勒扩展没什么好办法。而OTFS的思路是干脆换一张坐标系来读。1.3 为什么说CP-OFDM在高速下是“勉强应付”CP-OFDM应对高速移动不是没有手段比如增大子载波间隔。子载波间隔大了归一化多普勒频移就变小ICI影响自然减轻。但这条路是牺牲频谱效率换来的子载波间隔翻倍一个OFDM符号的持续时间就减半循环前缀的开销占比也跟着上升系统吞吐量损失明显。而且5G NR里子载波间隔最大开到120kHz甚至240kHz那是用在毫米波频段的载波频率本身就很高对应多普勒更大这种“以间隔换稳健”的做法在实际系统中是有限度的。另一种方案是提高信道估计的更新速率把导频密度加大让接收机能更频繁地修正信道变化。但导频多了开销也上来了而且它只是让接收机“知道”信道变了并没有从根源上消除ICI。真正的问题是OFDM把数据符号放在时频域而时频域在双色散信道下本身就是“脏”的你再怎么清洗也洗不掉所有串扰。OTFS选择从另一个角度切入让数据符号在延迟-多普勒域上传输。在这个域里信道响应在短时间内几乎是常数因为物理散射体的几何位置变化速度远小于无线电波传播速度延迟和多普勒参数在毫秒级时间内变化很慢。这样一来原本让OFDM头疼的时变信道问题在OTFS的观察域里被结构性地化解了大半。2. OTFS的核心思路把调制从时频域搬到延迟-多普勒域2.1 延迟-多普勒域无线信道的“本征表示”延迟-多普勒域这个概念乍一听很抽象其实可以这样理解一条多径链路在接收端看就是信号的多个副本每个副本有自己独立的时延和独立的频移。时延对应信号到达时间的先后频移对应反射体运动造成的频率变化。如果我们以时延和多普勒为横纵坐标建立坐标系每个反射体在这个坐标系里就是一个点。点的位置由物理几何决定点的强度由反射系数决定。关键点在于这些“点”的位置在观察时间内几乎不变。为什么因为反射体本身的位置变化速度远低于光速对应到多普勒轴上的变化速率也很慢而时延轴上的变化同样受限于物理距离的变化速度。因此延迟-多普勒域信道在短时间内是稀疏且准静态的。相比时频域里每个符号都要应对信道快速起伏延迟-多普勒域更像是拿到了信道的“底牌”。这就是为什么很多文献把延迟-多普勒域称作信道的最佳表示域。OFDM在时频域调制等于在信道“变化最剧烈”的维度上干活OTFS在延迟-多普勒域调制等于在信道“相对稳定”的维度上干活。方向选对了后面就顺理成章。2.2 从CP-OFDM到OTFS的映射关系OTFS实现起来并不神秘它是在OFDM框架上做了一次二维变换。发送端的过程是这样的先把QAM调制后的数据符号排布在延迟-多普勒域的网格上假设是一个M×N的二维矩阵。然后对这个矩阵做逆辛傅里叶变换ISFFT把数据从延迟-多普勒域变换到时频域。变换之后再按经典OFDM的方式做子载波映射、加CP、上变频发送。接收端是逆过程先去CP、做FFT得到时频域接收信号再做辛傅里叶变换SFFT把信号变换回延迟-多普勒域后续的信道估计、均衡、解调都在这个域里完成。从结构上看OTFS和OFDM共享了大量模块FFT/IFFT、CP、时频网格这些都是现成的这也是它能快速从论文走向工程验证的原因之一。不过这里有个容易忽略的细节ISFFT需要配合发送端的窗口函数使用。窗函数选择会直接影响带外泄漏和信道估计的性能常见的有矩形窗和升余弦窗。矩形窗实现简单但延展到时频域边缘时会产生较大泄漏升余弦窗带外衰减好却会引入一定的时间扩展。工程实现里需要在性能和复杂度之间取舍不能无脑上窗。2.3 为什么映射之后“时变信道看起来平稳了”理解OTFS的关键是明白二维变换带来的等效信道结构。经过ISFFT和信道传输后在延迟-多普勒域里每个发送符号的接收表达式包含三个部分主增益、由分数时延和分数多普勒引起的脉冲扩展以及多普勒域的干扰项。其中脉冲扩展在整数时延多普勒网格下退化为一个二维的循环卷积核。这个卷积核有两个特点一是能量集中大部分能量落在主项周围很窄的区域二是它是准静态的因为底层的物理信道在这个域里变化很慢。这意味着接收端可以用一次信道估计结果去均衡整个数据块而不必像OFDM那样在每个符号上频繁更新信道估计。所以OTFS并不是消除了信道变化而是通过坐标系变换把信道的时变性“摊平”了。数据符号在延迟-多普勒域里经历的是一个几乎恒定的等效信道分集增益也更容易被收集。实际仿真中能看到一个很直观的现象在同样的双色散信道下OTFS的BER曲线斜率明显更陡因为没有ICI地板压着。3. 仿真场景搭建WSS-US双色散瑞利衰落信道建模与参数设计3.1 信道模型怎么选仿真里用WSS-US假设最大的好处是信道抽头可以被建模为独立复高斯随机变量每个抽头有自己固定的时延和可选的功率谱形状。多普勒谱的选择直接用Jakes谱是比较常见的做法它假设散射体均匀分布在水平面上经典功车谱形状是两端高、中间低的U形曲线。用这个谱生成时变信道系数能较好地模拟城市宏蜂窝环境下的多普勒效应。如果你用Matlab做这个仿真信道生成通常分三步走。第一步根据延迟功率谱定义一组抽头时延和平均功率第二步按Jakes谱为每个抽头生成一组时变的复高斯系数抽样率要匹配系统带宽第三步把每个抽头的时变系数插值到每个OFDM/OTFS符号的时间点上。这里最容易出错的地方是抽头功率没有归一化导致总接收功率大于或小于1误码率曲线整体偏移看起来像是系统性能变好或变坏了其实是信道标定错了。3.2 关键仿真参数设计我复现这类对比仿真时常用的参数配置如下你可以直接参考参数取值说明载波频率4 GHz模拟C波段子载波间隔15 kHz与5G NR参数集一致子载波数128总带宽约1.92 MHz时隙符号数14一个时隙内OTFS/OFDM块长调制方式QPSK / 16QAM看你想验证哪个数据率最大多普勒频移0 ~ 2000 Hz覆盖静止到高速归一化多普勒0 ~ 0.13相对15kHz子载波间隔最大时延扩展5 μs典型城区信道CP长度4.7 μs 或更长要大于最大时延扩展信道抽头数6~12可根据标准信道模型扩展速度和多普勒的换算直接用公式多普勒频移 移动速度 × 载波频率 / 光速。350km/h在4GHz下大约是1296Hz归一化后约0.086这个值已经足以让CP-OFDM出现明显性能退化。建议仿真时把速度点设在30、120、250、350km/h几档这样低速、中速、高速的过渡关系都能看清楚。3.3 Matlab仿真框架整体仿真用蒙特卡洛方式核心循环大概长这样% 参数初始化 M 128; % 子载波数 N 14; % OTFS块内符号数 cpLen 64; % CP长度 modOrder 4; % QPSK EbN0dB 0:2:20; for snrIdx 1:length(EbN0dB) for frame 1:numFrames % 生成随机QAM符号排布成 M x N 的延迟-多普勒域数据矩阵 dataDD randi([0 modOrder-1], M, N); symDD qammod(dataDD, modOrder, UnitAveragePower, true); % OTFS发送端ISFFT (二维IFFT FFT) tfGrid fft(ifft(symDD, [], 1), [], 2) / sqrt(M*N); % 转OFDM时域子载波映射 IFFT 加CP % 这里用常规OFDM调制即可注意每列是一个OFDM符号 txSig ofdm_modulate(tfGrid, cpLen); % 通过WSS-US双色散瑞利衰落信道 rxSig wssus_channel(txSig, delays, dopplerFd, snr); % OTFS接收端去CP、FFT、SFFT rxTF ofdm_demodulate(rxSig, cpLen); rxDD fft(ifft(rxTF, [], 1), [], 2) / sqrt(M*N); % 信道均衡这里用最简单的迫零或MMSE后续可以换消息传递检测 eqDD rxDD ./ chEstDD; % 解调并统计误码 rxBits qamdemod(eqDD, modOrder, UnitAveragePower, true); ber ber sum(rxBits(:) ~ dataDD(:)); end end注意这里只是为了讲清楚流程简化掉了导频插入和信道估计。实际仿真中信道估计是绕不开的我在后面踩坑部分会细说。OFDM的发射和接收链路可以重用同样的时频网格和加CP模块保证两者在相同开销下对比否则对比就不公平了。4. 实测结果解读OTFS和CP-OFDM的BER对比4.1 低速场景两者几乎没有差距先把速度放到30km/h这时候最大多普勒频移大约110Hz归一化多普勒不到0.008。仿真结果里OTFS和CP-OFDM的BER曲线在低信噪比区几乎重叠高信噪比区OTFS略微领先但差距不显著。这说明在低速环境下OFDM的正交性保持得足够好OTFS的域变换优势释放不出来。这个结果本身是符合预期的。如果一个新技术在低速场景下就把老技术碾压反而说明对比设置有问题。OTFS的价值从来不是“所有场景都更强”而是“恶劣场景下更稳”。所以做这种对比仿真时别只盯着低速下的BER更要看高速下的地板和分集增益。4.2 归一化多普勒增大时差距开始拉开速度拉到250km/h归一化多普勒约0.06时CP-OFDM的BER曲线开始变“平”。信噪比到15dB以上后误码率下降速率明显放缓最终停在10^-3到10^-2量级附近这就是我之前说的CI地板。而OTFS在同一条件下曲线斜率基本保持正常20dB时能到10^-5以下。速度继续拉到350km/h归一化多普勒约0.086差距更加明显。CP-OFDM的错误地板进一步升高即使信噪比给到20dBBER还是沉不下去OTFS虽然性能也比低速时略有损失但整体曲线形状没有塌掉高信噪比下依然保持较低误码。如果进一步把速度拉到500km/h以上OTFS的优势会越来越突出但这已经超过了大部分实际系统的设计上限这里就不展开说了。4.3 结果背后的物理解释为什么OTFS在高速下没有地板我从两个方面理解。第一是分集。OFDM的每个符号只在单一子载波上传输高速时这个子载波受到深衰落或强ICI符号就废了而且很难从其他子载波上借力。OTFS的每个数据符号经过ISFFT后在时频域里实际上散布在整个时频网格上经过双色散信道后等效于多个路径、多个多普勒分量共同承载这个符号的信息。接收端用联合检测可以把这些能量重新收集起来获得时间分集和频率分集。第二是干扰结构。OFDM的ICI在时频域是一种连续泄漏很难建模也很难消除而OTFS在延迟-多普勒域的干扰是稀疏的、结构化的接收端可以用消息传递类算法逐步消除干扰。哪怕只用线性MMSE均衡OTFS在高多普勒下也明显优于OFDM因为干扰集中在二维循环卷积核上均衡器更容易把它掰回来。这解释了仿真中看到的现象不是OTFS“抗多普勒”而是它把多普勒带来的影响从不可控变成了可控。5. 复现Matlab源码时值得注意的细节与调试经验5.1 源码目录结构与关键模块拿到这份15138期源码后我建议先别急着跑把目录结构理清楚。典型的OTFS对比仿真工程一般包含以下几个模块主脚本参数初始化、蒙特卡洛循环、结果汇总发送端函数QAM映射、ISFFT、时频网格生成、OFDM调制信道模块WSS-US瑞利信道生成、多普勒谱成型、加噪接收端函数同步与解调、SFFT、信道估计、均衡、解映射结果绘图脚本BER曲线、星座图、信道冲激响应图建议按模块逐一验证中间结果不要上来就指望整条链路一次跑通。最简单的验证方式是先做“无信道传输”也就是发送端出来直接接接收端看星座图和BER是否等于理论值。这个步骤过了再引入信道才能判断问题出在信道建模还是接收算法。5.2 我踩过的坑第一个坑是CP长度不够。如果信道最大时延扩展5μs而CP只按4.7μs设置那么在仿真里看似“差不多”实际会产生符号间干扰导致BER在高信噪比下不降。这类问题在低信噪比时看不出来因为噪声主导一旦信噪比拉高错误的“地板”就出来了。我排查这种问题的方法很简单把CP长度临时设成信道时延扩展的两倍如果BER明显改善说明原参数设置不合理。第二个坑是多普勒采样点不足。Jakes谱在数字实现时要用足够多的散射体或足够密的频点来近似否则生成的信道时间相关性不准确导致高速场景下的性能评估失真。通常建议每个信道抽头的采样率至少达到最大多普勒频移的10倍以上仿真步长也要与之匹配。第三个坑是信道功率没有归一化。WSS-US模型中各抽头的平均功率之和应该为1否则你会得到一个“虚拟增益”BER曲线整体左移让人误以为自己做出了超出理论极限的性能。检查方法非常朴素让发射信号直接经过信道不加噪声比较接收端能量和发送端能量应该基本相等。第四个坑是接收端SFFT的变换方向搞错。ISFFT和SFFT不是简单的“正反FFT”而是一维FFT加一维IFFT的组合顺序错了数据集就完全乱了。我建议在代码里单独写一个自检函数把一个冲激信号经过ISFFT再经过SFFT看能不能恢复原信号能恢复说明方向没错。5.3 如何验证自己的OTFS实现是对的一个很实用的验证思路把信道设为单径静态信道也就是既没有多径也没有多普勒。此时OTFS退化为一个简单的二维调制系统接收端理想均衡后应该没有任何符号间干扰BER应该完全逼近理论值。如果这个场景你的BER还有明显损失那基本可以断定ISFFT/SFFT或坐标映射写错了。第二步加入多径但不要多普勒也就是频率选择性信道。这可以检验接收端是否正确处理了延迟维度的扩展OTFS在这种情况下应该能收集到频率分集。第三步加入多普勒但不要多径也就是时间选择性信道。这一步最考验实现细节如果OTFS在纯时变信道下没有体现出优势很可能是多普勒维度网格的划分与信道多普勒谱不匹配。按这个顺序逐级加码定位问题会快很多也方便理解每个模块对整体性能的贡献。另外如果想把这份源码作为基础继续扩展我建议下一步加入导频辅助的信道估计这时要注意导频在延迟-多普勒网格中的位置和功率配置对估计精度的影响。OTFS的嵌入式导频设计比OFDM复杂一些因为导频在二维平面上会同时经历延迟扩展和多普勒扩展保护带要留够。6. 个人体会这种对比仿真该关注什么做这类OTFS和CP-OFDM的对比仿真最怕的就是只跑出一张漂亮的BER曲线图却说不清楚背后的条件设置。我看到不少初学者把高速场景参数推到极其夸张的程度然后得出“OTFS全面碾压OFDM”的结论这种结论拿到实际系统里是要被反驳的。我的建议是对比仿真一定要固定开销等效。如果OTFS用了M×N的时频网格OFDM也应该用同样多的子载波和符号数如果OTFS导频占了一定资源OFDM的导频密度也应该匹配。否则你比较的其实是两种非常不对称的系统结论没有任何工程参考价值。仿真的价值在于建立直觉。做完这套仿真后你会很清楚地意识到OFDM不是不行而是在双色散信道下有一个运行边界OTFS也不是万能它的增益依赖接收端算法质量线性均衡和消息传递检测的性能差距很大。理解了这几点你再去看5G-A和6G里关于OTFS的论文、标准提案就能读懂它们到底在解决什么问题而不是机械地看摘要。最后再分享一个小经验这些仿真代码不建议直接拿过来跑一遍就当作“会了”把参数的每个量纲和含义都追一遍然后把QPSK改成16QAM、把Jakes谱改成矩形多普勒谱看看性能趋势会不会按预期变化。仿真之所以有趣就是因为你在重复测试自己对物理世界的理解是否到位。如果结果和理论预期对得上那种成就感比跑通代码本身爽得多。
返回列表