资讯动态

双色散信道为何难处理?从信道建模到BEM与压缩感知的工程实践

发布时间:2026/10/14 21:51:46 来源:尧图企业网站定制
通信系统设计里多数工程师最先学会处理两类信道频率选择性信道靠OFDM加上均衡来抗时间选择性信道靠交织、导频估计再插值来抗。但如果遇到 double-dispersive channel也就是双色散信道这两套知识往往会同时失灵。双色散信道指信道在时延维度和多普勒维度同时存在不可忽略的扩展通俗说就是既有多径长尾又有快速移动造成的频谱搬移。它在高铁通信、无人机中继、低轨卫星链路以及水声通信里非常常见也是近些年OTFS这类新型调制兴起的主要推动力。这篇文章不打算堆公式吓人而是想从我这些年做信道建模和物理层仿真的实际经验出发把双色散信道的物理图景、常见设计方案失效的原因、基于基扩展模型的建模思路、导频设计与压缩感知估计的落地细节以及我实际踩过的坑一次讲清楚。适合正在做无线物理层算法、准备研究双选信道接收机或者被BER曲线上的“地板效应”搞得头疼的读者参考。1. 双色散信道是什么先把物理图景讲清楚1.1 时间色散与频率色散到底在说什么时间色散说白了就是多径。发送一个脉冲接收端收到一串前后错开的脉冲各自幅度不同、相位随机。信道冲激响应 h(t,τ) 在 τ 轴上的扩展称为延迟扩展工程上常用均方根延迟扩展 τ_rms 衡量相干带宽粗略估算为 Bc ≈ 1/τ_rms。如果信号带宽明显大于相干带宽频率选择性衰落就出现了不同频率上的信道增益不再平坦。生活里最直观的类比是在山谷里喊话你喊出的是一个字耳朵里回来的是一串带混响的回声。回声不是噪音而是同一个声音经过不同反射路径延迟后叠加出来的效果。频率色散则来自相对运动。发射机、接收机或散射体之间的径向运动会让每条路径的载波频率发生偏移最大多普勒频移写作 f_Dmax f_c·v/c其中 f_c 是载频v 是相对径向速度c 是光速。不同路径因为到达角不同多普勒频移也不一样接收信号频谱因此被展宽成一个带这就是多普勒扩展。相干时间 Tc ≈ 1/f_Dmax。生活类比是火车鸣笛呼啸而过接近时音调变高远离时音调变低多径多普勒相当于无数个音调不一致的火车鸣笛叠在一起频谱被拉扯得一团糟。双色散信道就是同时具有这两种特征的场景冲激响应在 τ 维度上不是一根干净的冲激在 t 维度上又变化得很快信道既频率选择性又时间选择性。完整的统计描述可以用散射函数 S(τ,ν) 表示τ 轴和 ν 轴同时铺开能量。对比一下就好理解纯频率选择性信道S(τ,ν) 在 ν 轴上集中在 ν0纯时间选择性信道在 τ 轴上集中在 τ0双色散信道两轴都铺开二维的滤波、估计和均衡设计都绕不开。1.2 典型场景与量化判定方法双色散信道不是冷门场景恰恰相反真实高速移动通信里几乎处处都是。下表是我在仿真项目里经常用的一组典型参数给出了近似的量级具体数值会随环境和标准参数变化。场景载频/运动速度举例典型延迟扩展最大多普勒归一化多普勒按约17kHz符号率估算高铁干线通信2.6 GHz350 km/h2~5 μs约 840 Hz0.05 左右城市移动通信2 GHz60 km/h1~3 μs约 110 Hz0.006 左右无人机中继2.4 GHz30 m/s0.1~0.5 μs约 240 Hz0.014 左右低轨卫星链路1.2 GHz相对速度约 7.5 km/s0.5~5 μs可达 30 kHz远超 0.1水声通信10 kHz相对速度 5 m/s几十 ms约 30 Hz符号率低时非常大能不能按双色散信道处理有两个工程判断口。第一看信号带宽 W 与相干带宽 Bc 的关系W Bc 意味着频率选择性明显第二看符号周期 T 与相干时间 Tc 的关系T Tc 意味着时间选择性明显。两个条件同时成立基本就要按双色散来设计接收机。我个人的习惯是再算一个组合参数 α τ_rms · f_Dmax这个值在 0.001 以下还算安全到了 0.001~0.01 就开始难受超过 0.01 就不太能指望传统“估计一次、沿用很久”的策略了。2. 双色散信道为什么难处理三大技术挑战2.1 传统信道估计的前提一个个失效在慢变信道里我们习惯“发一段导频估出来信道然后在后续若干个符号里沿用”。这个操作背后有两个假设其一是信道在导频位置和数据位置之间基本不变其二是多径增益的变化足够缓慢简单线性插值就能跟上。双色散信道把这两个假设同时打掉。举个直观例子如果最大多普勒是 840 Hz相干时间就只有约 1.2 ms。一个导频块加数据块的长度如果达到 4 ms信道相位在里面已经转了好几圈。这时还把导频处的信道估计结果原样套到末尾的数据符号上误差会大到直接不可用。更麻烦的是传统LS估计把导频观测看作对“常量”信道的带噪测量完全没有把时变幅度建模进去信道变化被当成额外方差吞掉结果 SNR 增加信道估计 MSE 却不怎么下降。很多初学者在这个阶段就开始怀疑仿真写错了其实只是建模假设不成立。2.2 子载波正交性被打破ICI从哪来OFDM 之所以简单是因为循环前缀加子载波正交性在时不变信道下成立。一旦信道 h(t,τ) 与时间 t 有关每个子载波上的信号频谱就会按多普勒扩展被展宽能量泄漏到相邻子载波这就是载波间干扰 ICI。频域接收模型可以写成Y[k] H[k,k]·X[k] Σ_{l≠k} H[k,l]·X[l] N[k]理想时不变信道里信道频域矩阵的非对角元素 H[k,l] 几乎为零所以每个子载波独立解调。双色散信道下H[k,l] 出现一条由多普勒扩展决定的非零偏带子载波之间不再干净独立。更关键的是这个问题不能靠加长循环前缀解决循环前缀负责消除符号间干扰但它管不了时变信道带来的频谱泄漏。工程上最直观的危害是“误码地板”。SNR 继续提高ICI 的功率并不会消失BER 曲线在高信噪比段变得水平无论怎么增加发射功率都压不下去。如果你在仿真里看到这种曲线第一个要怀疑的不是噪声而是信道时变引起的子载波泄漏。2.3 复杂度与性能的跷跷板信道的时变迫使接收机需要处理一个时变矩阵而不是一个常系数矩阵。最优检测如果按每符号、每路径联合判决复杂度会指数增长线性 MMSE 均衡求矩阵逆的规模是 N×NN 是数据符号数。虽然可以借助信道矩阵的带状结构做迭代加速但在大带宽、高多普勒、长数据块的组合下实现压力依然非常大。复杂度与性能的冲突还会往回传导信道估计精度越高需要的导频开销和迭代次数越多导频一多数据传输效率就下降。更麻烦的是很多“折中方案”需要知道信道统计量而双色散信道的统计量本身还在快速变化提前设置的开销比例很容易错过最佳点。这也是双色散信道难处理的本质原因它逼着你把估计、检测、调度放在一起设计单独优化任何一个环节都不够。3. 建模思路从WSSUS到基扩展模型BEM3.1 WSSUS假设为什么不够用WSSUS也就是广义平稳非相关散射是无线信道理论分析中最常用的随机信道模型。它假设信道广义平稳即相关函数只依赖于时间差又假设不同时延的散射分量不相关。在这两个假设下信道相关函数、散射函数和功率谱的结构非常清晰大量推导都从这里起步。但真实双色散信道往往只在很短的时间窗内近似满足 WSSUS。高速移动过程中散射体不断进入和离开传播环境遮挡事件频繁发生多普勒谱本身也在漂移水声信道更极端传播介质在流动统计特性随时间的变化更快。WSSUS描述的是“平均行为”仿真时你还是得具体生成每一径复增益的时间采样。实际落地时工程上常用抽头延迟线模型把信道按延迟分成若干抽头每个抽头按 Jakes 谱或实测多普勒谱生成复高斯随机过程。这样生成的统计特性符合 WSSUS 框架但每条抽头增益随时间变化能够体现双色散。问题在于如果直接对每个抽头做细步长的高斯随机过程模拟在高多普勒、长数据块下计算和存储开销都很大。于是就有了BEM这类降维建模工具。3.2 BEM家族怎么选CE-BEM、OCE-BEM、DPS-BEM基扩展模型的核心思想很直接在一个处理块内把每条路径的时变增益近似成少量基函数的线性组合数学上写作g_p(q) Σ_{l0}^{Q} b_l(q)·c_{p,l}, q 0,1,...,N-1其中 p 是路径序号q 是块内时间采样序号b_l(q) 是基函数c_{p,l} 是对应系数。相比直接存 N 个信道点BEM 只保留 Q1 个系数Q 通常远小于 N信道估计和仿真存储量都会大幅下降。类型基函数特点优点缺点适用场景CE-BEM复指数基本质是DFT基实现简单可以用FFT多普勒频率必须落在离散网格上块长偏大时频谱泄漏明显低多普勒、短块、快速验证OCE-BEM/GCE-BEM对复指数基做 oversampling网格更密频谱泄漏更小基数量略增矩阵规模稍大多数工程场景性价比高DPS-BEM离散椭球序列基最匹配带限多普勒谱精度高参数计算复杂实时实现困难高精度仿真、信道特性苛刻的场景多项式BEM时间多项式基计算最简单高多普勒时误差快速上升低动态或近似静态信道我的选型经验是不要一上来就上 DPS-BEM 这种高精度方案先用 OCE-BEM 搭起整个链路把估计、均衡、导频设计都调通最后再评估换基函数是否带来明显收益。基数量 Q 可以按多普勒带宽 B_d 2·f_Dmax 和处理块长度 T_block 的乘积估算Q ≈ ceil(2·f_Dmax·T_block) 1比如 f_Dmax840 Hz、T_block1 ms那么 2·f_Dmax·T_block≈1.7Q 取 3 到 5 就够。注意块长不能无限拉长否则非平稳特征已经超过基函数表达能力BEM 近似误差就会主导性能。3.3 一套可上手仿真的流程与代码骨架我自己做双色散信道仿真时通常按下面几步走确定系统参数载频、带宽或符号率、移动速度、路径数、延迟扩展。生成路径时延和角度时延按指数衰减或实测分布角度按 Jakes 假设或实际方位。计算每径多普勒 f_p f_Dmax·cos(θ_p)并生成每径复增益随时间变化的序列。构造发射信号做时变卷积得到接收信号再加高斯白噪声。Python 代码骨架大致长这样import numpy as np def generate_double_dispersive_channel(num_paths6, fs17e3, fD_max840.0, tau_max5e-6, symbols128, seed1): rng np.random.default_rng(seed) # 多径时延指数分布按最大延迟扩展截断 tau np.sort(rng.uniform(0, tau_max, sizenum_paths)) # 到达角多普勒频移由此产生 angles rng.uniform(0, 2 * np.pi, sizenum_paths) fd fD_max * np.cos(angles) # 路径幅度整体归一化 amp np.exp(-tau / tau_max) amp amp / np.linalg.norm(amp) taps [] for p in range(num_paths): delay_samples int(round(tau[p] * fs)) # 延迟换算成采样点 # 该径复增益随时间变化固定延迟 多普勒旋转 gain amp[p] * np.exp(1j * 2 * np.pi * fd[p] * np.arange(symbols) / fs) taps.append((delay_samples, gain)) return taps这段代码演示的是核心思想每径延迟固定增益随时间旋转。要更贴近真实可以把每径的复增益改成一阶AR过程或者用多径叠加生成瑞利Jakes衰落还可以给每径加功率谱成形滤波器。注意这里的 fs 要根据你仿真的是符号级还是采样级来定义OFDM 系统里一般用采样率不要和子载波间隔搞混。水声信道更麻烦一点除了延迟扩展大还存在多普勒比例因子问题不同路径对信号有不同程度的时间尺度压缩和拉伸。这种信道不能只用简单的时变抽头卷积通常需要对信号进行重采样处理之后再按双色散信道的方式继续做估计与均衡。4. 信道估计与检测的落地实操4.1 二维导频密度设计先算清理论间隔双色散信道的导频设计必须是一个二维时频网格而不是一维的时间或频率插值。工程上按奈奎斯特采样定理来定导频间隔时间方向导频间隔 Δt_pilot ≤ 1/(2·f_Dmax)频率方向导频间隔 Δf_pilot ≤ 1/(2·τ_max)拿前一节的高铁参数算一算f_Dmax≈840 Hz时间方向导频间隔要小于约 595 μs如果用符号周期约 71 μs 的OFDM符号也就是每 8 个符号至少要有一个导频符号τ_max≈5 μs频率方向导频间隔要小于约 100 kHz假设子载波间隔是 15 kHz那么每 6 到 7 个子载波就要放一个导频。理论上基础开销大概 1/(8×6)≈2%看起来不夸张但实际还要加保护带、边缘导频和插值余量总导频开销到 5%~10% 是很正常的。这里有个容易忽略的细节因为 ICI 存在导频周围最好保留空白子载波和空白符号作为保护带否则数据符号会泄漏进导频位置污染信道估计。工程上常用“辅助导频”的思路在导频周围预留位置让泄漏到导频上的干扰可以被显式估计并补偿。4.2 用BEM系数降低估计维度LS/LMMSE做法如果直接估计所有时刻的所有路径增益未知数太多导频开销填不满。BEM 的思路是把未知数从“每个时刻每个路径”压缩成“每个路径每个基系数”然后做线性估计。具体步骤确定BEM基函数数量和频率网格通常按多普勒范围来定。把导频位置上的接收观测写成 y_p A·c n 的形式A 矩阵由导频符号、基函数和信道路径结构共同决定。用LS估计系数c_hat (A^H A)^{-1} A^H y_p。如果 A 的条件数不好可以在对角上加一个小量做对角加载。用估计出的系数重构所有时刻所有路径的信道增益再转换到频域矩阵用于均衡或后续迭代。LS 版本的好处是不需要信道统计量实现稳定。LMMSE 版本理论上精度更高但需要二阶统计量而双色散信道下的统计量本身难估计实际中我更多用正则化的LS也就是给 A^H A 加一个单位阵倍数效果接近 LMMSE 而且鲁棒。可辨识性条件必须记住导频符号数量至少要是未知系数数量的几倍否则估计噪声会很大。举个例子6 条路径、BEM 基数量 Q5那么未知系数是 6×636 个导频观测数量至少要 72 以上这个开销会让系统预算变得紧张。所以导频模式要设计得让 A 矩阵列之间尽量低相关随机导频或二维互质导频通常比均匀矩形导频更稳。4.3 压缩感知与迭代ICI消除的组合拳双色散信道在时延-多普勒域通常是稀疏的虽然多径很多但真正可分辨的散射体有限大部分能量集中在少数几个二维点上。这给压缩感知提供了机会。具体做法是构造一个二维字典把待估计信道向量化到离散网格 (τ_i, ν_j) 上每个字典原子对应一条“时延多普勒”路径。导频观测方程变成 y_Ω Φ·h_sparse n然后使用 OMP 这类贪婪算法恢复稀疏系数。OMP 迭代过程不复杂初始化残差为导频观测每轮选择字典中与残差相关性最强的列用LS更新已选原子上的系数再更新残差重复直到达到稀疏度上限或残差能量低于阈值。工程上有几个关键点字典网格不能无限细化。网格太细相邻原子相关性强OMP 会不稳定网格太粗真实信道参数不在网格上出现基失配误差平台又回来了。建议按系统能分辨的最小间隔来定价网格。导频模式随机化能显著降低字典相干性OMP 性能会好很多。在 OMP 之前最好先做粗频偏补偿把公共 CFO 和真正逐径多普勒分离干净否则字典和观测都带有整体旋转恢复效果变差。估计出完整信道矩阵后还可以再走上一步迭代ICI消除先用估计信道做符号检测和判决根据判决符号重构ICI干扰项从接收信号里减去再用干净信号做第二次信道估计和检测。这个循环做两三轮误码率通常肉眼可见地下降。注意迭代次数不要贪多超过三四轮之后误差传播会让性能回落而且复杂度翻倍增长得不偿失。5. 常见问题排查与工程经验5.1 我实际踩过的几个坑现场现象可能原因排查与解决SNR提高但BER曲线水平不动误码地板ICI没有被建模或补偿确认信道时变是否严重检查频域矩阵非对角项加入ICI消除CE-BEM在长块上估计效果崩溃多普勒频率不落在离散网格上频谱泄漏缩短处理块或换成OCE-BEM/DPS-BEMOMP在低SNR时性能明显退化字典原子相关性强或迭代停止条件不严改用随机导频降低相干性调整停止阈值或加入LMMSE平滑导频开销过高有效数据率撑不住二维导频网格过密没有联合设计计算理论最小间隔用半盲估计或压缩感知稀疏导频估计出的信道整体存在相位旋转公共载波频偏CFO与多普勒混在一起先用前导频做CFO粗补偿再做BEM估计仿真中多普勒频移偏小只考虑了收发端运动忽略了散射体运动把散射体自身速度加入每径多普勒计算LS矩阵病态估计值剧烈波动导频数量不足或导频位置与基函数耦合增加导频或加对角正则化更换导频图案我自己调试时养成了一个习惯先在低多普勒场景里把整套估计流程和理论曲线对齐确认无误再逐步把 f_Dmax 往上提。这样任何一环产生“断层”都能快速定位是信道生成的问题还是估计器的问题而不是等最后BER不对了再从头拆。5.2 参数选择速查表下面这个速查表是我做方案评审时经常用的参考值不是绝对标准但可以帮你起步。参数/指标参考判断需要认真处理时间选择性f_D·T_sym 0.01 时就要小心0.1 必须二维处理需要认真处理频率选择性信号带宽明显大于相干带宽 Bc≈1/τ_rmsBEM基函数数量Q ≈ ceil(2·f_Dmax·T_block) 1时间方向导频间隔Δt_pilot ≤ 1/(2·f_Dmax)频率方向导频间隔Δf_pilot ≤ 1/(2·τ_max)OMP迭代上限稀疏度L的1.5~2倍同时小于导频数量对角加载因子取 A^H A 最大特征值的 0.01~0.1 倍5.3 工程习惯与个人体会最后分享几条我自己觉得值钱的经验。第一别急着上复杂算法先把信道生成环节搞对。不少所谓“新算法在高多普勒下性能大幅提升”的结果仔细一查是信道生成方式不同带来的差异不是算法本身真的强。第二估计器和均衡器要分开评估先假设信道已知测均衡性能再假设均衡已知测估计性能两者都摸清了再联合调排查问题会省非常多时间。第三BEM 和压缩感知不是二选一完全可以先用 BEM 给一个初始信道估计再把残余误差用稀疏恢复补上这种混合思路在硬件资源有限的平台上也更容易实现。我在实际项目里体会最深的是双色散信道没有一个“放之四海皆准”的银弹你手上的带宽、符号长度、移动速度和可用导频开销决定了该用哪一种组合。建议保留一套可调参数的双色散信道仿真脚本无论是以后做OFDM、OTFS还是单载波系统都能用同一套物理信道快速验证想法到底靠不靠谱。这个底子打好了后面改什么算法都不慌。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑