ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

SC-FDE系统中上采样与采样滤波的设计要点与工程实践

2026/10/6 13:41:06 拓冰建站 浏览量
SC-FDE系统中上采样与采样滤波的设计要点与工程实践 1. 先把SC-FDE收发链路摊开上采样和采样滤波各自管哪一段做SC-FDE系统的人十有八九被一个问题绕进去过明明频域均衡已经把信道掰直了为什么误码率还是下不去我自己的经验是问题十次里有六七次不在均衡器本身而在采样链路——发射端的上采样没做对接收端的采样滤波没设计好。SC-FDE的全称是Single-Carrier Frequency-Domain Equalization单载波频域均衡。IEEE 802.11ad、DVB-S2、以及LTE的上行方向用的都是这套思路。它的核心动作是发端把数据符号串行发送收端把一段数据块做FFT变换到频域用一个估计出来的信道响应逐载波做加权均衡再IFFT回到时域判决。相比OFDM它保留了单载波的低峰均比PAPR优势又拿到了频域均衡的抗多径能力。代价也很明显收发两端多了一对FFT/IFFT且对块同步、信道估计的精度要求比OFDM更高。但SC-FDE有一个容易被忽略的前提整个频域处理建立在数字采样序列足够“干净”的基础上。而这个“干净”恰恰就是上采样和采样滤波要解决的事。先看发射端。基带符号从成形滤波器出来之后通常是每个符号对应一个采样点。这个速率没法直接送DAC因为DAC需要一个真实的时间轴符号率太低会导致镜像频谱直接落在带内模拟滤波器根本滤不干净。所以必须做上采样插值把采样率拉高到符号率的N倍一般N取2、4甚至8。上采样之后紧接着做一次数字插值滤波把插值产生的频谱镜像压掉再进DAC。再看接收端。ADC采样进来的是连续波形采样率通常也是符号率的若干倍。这里就轮到采样滤波登场了ADC前端的抗混叠滤波器带宽怎么设、阻带抑制要多少、通带纹波能不能扛得住这些指标直接决定了进FFT的数据底噪有多干净。很多人拿一个RC低通随便一搭就算完事但现代接收机的采样率越来越高RC滤波器的滚降特性、输入阻抗、噪声贡献都会在信号质量上留下痕迹。所以这篇东西我想讲的不是教科书里那一套公式推导而是我在实际做SC-FDE收发机时对“上采样采样滤波”这两个环节的完整思考速率怎么定、滤波器怎么选、哪些坑必须绕开、以及怎么验证系统真的跑对了。2. 上采样率怎么定频谱占用、滚降因子和时钟约束的三角关系2.1 从符号率推算采样率的基本逻辑上采样倍数N的选取第一约束是频谱占用。SC-FDE的发射信号频谱宽度取决于符号速率Rs和脉冲成形的滚降因子α双边带宽大约是Rs×(1α)。按照采样定理数字域的采样率Fs至少要大于这个带宽的两倍才能避免频谱混叠。但实际工程里Fs还要给DAC的镜像抑制留出过渡带空间。举例来说一个符号率Rs1.76Gbps的SC-FDE系统取滚降因子α0.25那么信号双边带宽约2.2GHz。如果按奈奎斯特极限采样率只要大于4.4GHz就行。但实际上DAC输出的镜像会出现在k×Fs±B的位置如果Fs只比信号带宽大一点点镜像会挨得非常近模拟低通滤波器的过渡带就不得不做得极陡实现代价几乎不可接受。所以工程上一般取Fs≥2.5×B甚至更高。我自己的经验是上采样倍数N至少取4起步。N2的时候数字插值滤波器的过渡带仍然太紧滤波器阶数动不动上百阶N4的时候镜像被推到4倍符号率附近用普通的半带滤波器加两三级级联就能搞定硬件开销反而更可控。N8虽然频谱更宽松但数字逻辑的工作时钟直接翻倍时序收敛的难度成倍上升除非有特殊需求比如给后续多相处理留余量否则我并不推荐一上来就上8倍。2.2 插值滤波器的两种主流做法上采样之后的滤波经典选项有三个级联积分梳状滤波器CIC、半带滤波器Half-band、多相滤波器Polyphase。其中半带滤波器是SC-FDE系统里最常见的插值选择它有个天然优点除中心点外每隔一个系数是零意味着做2倍上采样时有一半乘法器是空的可以直接省硬件资源。而且它的通带和阻带以四分之一采样率为中心对称设计起来非常直观。多相滤波器则适合N比较大、且插入的采样点不需要全部满足奈奎斯特对称性的场景。思路是把一个原型低通滤波器分解成N个子滤波器每个子滤波器对应一个相位偏移插值过程就变成了对N个相位做并行滤波吞吐率比串行方案高不少。在FPGA实现里多相结构还能天然适配并行数据的位宽免去串并转换的寄存器开销。选型的依据我一般按下面几条来N2或4阶数要求不高优先用半带滤波器N≥8或者时延预算很紧用多相滤波器要过严格的频谱模板测试插值滤波之后再级联一个数字整形滤波器把带外杂散再压一压2.3 时钟域设计的现实约束采样率定下来之后紧接着就是时钟域问题。上采样N倍意味着数字逻辑工作时钟变成原来的N倍N过大会把时序收敛逼得很紧。我之前做过一次N8的方案FPGA里光DAC数据路径就跑了十几个Gbps布线延迟、IO接口时序、跨时钟域处理都有很多讲究。如果用的是SoC集成方案还要额外评估DDR带宽和内部互联是否能撑住这么高的数据吞吐。更隐蔽的问题是插值滤波器的相位延迟。不同阶数的滤波器群延迟不一样如果发射链路里同时有多个分支比如多天线MIMO各分支的插值滤波器阶数不一致会导致天线之间的时间偏差。这个问题在MIMO SC-FDE里尤其容易被忽视但后果很直接波束成形的增益掉几个dB都是轻的严重的会让整条链路的EVM直接超标。3. 采样滤波不是“加个RC”就完事抗混叠、噪声整形与阻抗匹配3.1 抗混叠滤波为什么不能只靠数字域接收端的采样滤波核心目标是抗混叠。但“抗混叠”这三个字经常被误解很多人觉得只要采样率高于信号带宽两倍就不会混叠。这个说法在理想采样器面前成立但真实ADC的输入前端根本不是理想采样器。真实ADC的模拟输入带宽通常远高于采样率比如一个2.6GSPS的ADC模拟输入带宽可能到8GHz甚至更高。也就是说ADC在采样的一瞬间是把输入引脚上所有频率分量一起“拍”下来的。如果前端不加滤波带外的干扰信号、噪声都会被折叠进奈奎斯特带宽里无论后面数字滤波做得再好都救不回来。这就是为什么必须在ADC之前放一个模拟抗混叠滤波器而且这个滤波器必须是模拟的不能靠数字域替代。抗混叠滤波器的设计指标我习惯从三个维度去卡通带覆盖信号带宽纹波尽量小一般要求小于0.5dB否则频域均衡会看到额外的幅度扰动阻带抑制至少40dB起步具体看系统的动态范围预算不够就往上加过渡带位置要合理不能压到信号本身的滚降区否则信号边缘的子载波会被削掉3.2 电流采样场景里的RC滤波实践说到采样滤波我顺带提一个相关领域经常踩的坑电机驱动、开关电源这类设备里的电流采样。很多人直接拿一个RC低通接在采样电阻后面以为滤个高频毛刺就行。但电流采样信号往往本身就包含陡峭的开关沿RC的时间常数稍大采样窗口内信号还没稳定ADC采出来的值就会偏差甚至整体滞后一拍。正确的做法是先想清楚ADC的采样保持窗口有多长RC时间常数必须设计在采样窗口的十分之一以下同时串联的滤波电阻要选低温漂的电容选C0G或X7R介质避免温度变化导致滤波转折点漂移。如果是差分采样两根线上的RC参数必须严格对称否则共模干扰会被转成差模误差这才是电流采样电路输入滤波最容易翻车的地方。回到通信接收机采样滤波也是同一个道理——真正要保证的是ADC采样窗口内的信号稳定度而不仅仅是频域上滤波器有多干净。很多模拟滤波器设计得看起来频响很漂亮但时域响应拖尾太长反而在采样时刻引入残余电压误差。3.3 采样、抗混叠滤波与信号重建是一条链路的三个环节采样、抗混叠滤波和信号重建这三个词经常被割裂开来看这是我特别想纠正的一点。信号重建对应DAC输出端要求模拟低通滤波器把基带信号之外的镜像滤掉信号采样对应ADC输入端要求抗混叠滤波器把带外信号挡在折叠频带之外。这两个模拟滤波器看起来对称但约束完全不一样。发射端的重建滤波器可以设计得相对平缓因为带外镜像顶多造成频谱模板超标不会直接叠加到信号上构成干扰而接收端的抗混叠滤波器一旦滤不干净混叠成分会直接叠加在有用信号上是加性干扰危害要大得多。所以在系统设计时我通常把抗混叠滤波器的预算放得比重建滤波器更严苛多留10到15dB的抑制余量宁可通带纹波稍微大一点也要保证阻带够硬。这个取舍在成本上其实很划算——模拟滤波器多一阶的成本很低但通信性能的收益很明显。4. 采样链路和频域均衡的耦合为什么滤波器瑕疵会变成误码4.1 群延迟失真对均衡器的影响频域均衡器的工作原理是假设信道响应在每个子载波上是相对平坦的用一个复数系数去补偿幅度和相位。但模拟滤波器的群延迟变化会破坏这个假设。虽然滤波器的响应在理论上可以被均衡器一并补偿但前提是均衡器有足够的自由度而且信道估计用的导频信号也要经历同样的失真。实际工程里遇到的问题是这样的如果ADC前的抗混叠滤波器在通带边缘处群延迟突变得很厉害位于信号带宽边缘的子载波会感受到明显的相位畸变。这种畸变如果还随温度漂移信道估计更新不及时均衡后就会残留相位误差星座点绕着原点转圈。低速率的星座可能看不出来256QAM这种高阶调制下转个几度就是一片误码。解决思路有三个方向一是把抗混叠滤波器的通带设计得比信号带宽宽出10%到20%让信号完全落在滤波器响应平坦的区域这是最省事的做法二是提高采样率把信号放在奈奎斯特带宽的中段远离滤波器响应的边缘三是在信道估计里显式补偿滤波器的幅相响应比如生产校准时把滤波器响应实测出来存成查找表均衡的时候直接乘上去。4.2 残余混叠的伤害方式它不是噪声是信号自己残余混叠最可怕的地方在于它不是加性白噪声而是信号自身的折叠复制品。折叠后的分量和原信号强相关任何线性均衡器都无法完全消除它——因为均衡器不知道哪个分量是“真的信号”哪个是“混叠进来的复制品”。如果折叠分量落到导频子载波上信道估计值都会被污染均衡器输出的星座点会出现成对错误也就是所谓的error floor不管怎么加大SNR都降不下去。我实测过一组数据抗混叠滤波器阻带抑制只有20dB的时候SC-FDE系统的误码平台出现在约23dB SNR的位置把阻带抑制做到35dB之后同样的SNR下误码率下降了一个数量级以上。这个差距就是在模拟滤波器上多花了一点成本换来的性价比极高。4.3 过采样作为缓解手段和它的代价一个有效的缓解混叠问题的方法是提高接收端采样率。采样率提高之后奈奎斯特带宽变大带外干扰折叠进来的频带离信号更远抗混叠滤波器就可以做得更宽松。这就是为什么很多高性能接收机采用4倍甚至8倍过采样的原因——不是为了更好的时域分辨率而是为了把模拟滤波器的设计难度降下来。过采样的代价是数字域的吞吐量变大FFT运算、均衡器的处理带宽都跟着翻倍。在SC-FDE系统里FFT长度如果固定过采样意味着每个符号对应的采样点数变多FFT窗口要相应调整块同步的算法也要重新适配。另外下采样器decimator本身的防混叠要求也不低等于把模拟滤波的问题变成了数字滤波的问题只是数字滤波器更容易控制、更容易校准。5. 实测踩坑记录采样率、滚降因子和模拟滤波器容差5.1 采样率不是“2倍带宽”就够用我在做第一版SC-FDE原型的时候天真地按奈奎斯特极限选了采样率结果EVM始终在5%附近上不去。排查了很久最后发现是抗混叠滤波器的过渡带太窄高阶模拟滤波器的相位特性在通带边缘产生了严重的非线性。后来把采样率从2.2倍带宽提高到3倍模拟滤波器过渡带宽裕量一下子就充足了用三阶椭圆滤波器就达到了设计指标阶数反而降下来了。这个教训我记到现在采样率的选择一定要给模拟滤波器留出过渡带的余量不能只看频谱不重叠还要看滤波器在物理上能不能实现。数字仿真的理想滤波器阶数可以随便给但模拟滤波器每提高一个阶数元件数量、面积、调试成本都在涨。5.2 滚降因子和插值滤波器的配合问题SC-FDE里常见的错误是把脉冲成形的滚降因子定得很小比如α0.15想省频谱。但α越小信号频谱越陡对插值滤波器的过渡带要求越苛刻。有一次我把α从0.25调到0.15在接收端看到带外频谱泄漏明显增加查下来是发射端的插值滤波器阶数不够无法在这么窄的过渡带内做到60dB抑制。这个问题的本质是频谱效率和滤波器可实现性之间的张力。工程上最稳妥的做法是先把发射频谱模板当成硬约束把滚降因子和插值滤波器的阶数、过渡带设计做联合优化而不是各自为政。如果非要小滚降因子就得接受更高阶的插值滤波器和更长的时延。5.3 模拟滤波器元件的容差批量生产时会咬人最后一个坑是温度和老化的影响。模拟滤波器的电容电感元件容差常见±5%甚至±10%这会导致实际滤波器的转折频率出现明显漂移。如果设计的时候没留够裕量批量生产时同一设计在不同板卡上表现差异会很大——有些板子过测有些板子EVM超标查来查去就是滤波器转折点偏了几兆赫兹。应对方法是在设计阶段就跑蒙特卡洛仿真把电容、电感的容差按最坏情况组合全部跑一遍看滤波器响应的包络是否还能满足系统指标。我在量产项目里吃过亏之后养成了所有模拟滤波设计必跑容差仿真的习惯。这个习惯看着多花了半天时间实际上省掉了后面整批报废的麻烦。6. 从仿真到板级联调的完整验证路径6.1 第一步纯数字仿真验证上采样和插值滤波器先用MATLAB或Python搭一条全数字链路仿真确认上采样N倍、插值滤波器阶数、滚降因子的组合能把发射频谱压到模板以内。这一步的关键检查项有三个发射信号的邻道功率比是否达标插值滤波器的阻带抑制是否满足要求接收端下采样之前信号的等效EVM是否足够好。这个阶段发现问题改起来成本最低只是改几个滤波器系数而已。6.2 第二步加入模拟滤波器模型把抗混叠滤波器和重建滤波器的S参数或SPICE模型放进系统仿真里验证它们对EVM和误码率的影响。这一步最容易提前暴露群延迟、通带纹波的问题。我之前在纯数字仿真里一切正常加上模拟模型的瞬间EVM掉了好几个dB一查就是模拟滤波器在信号边缘产生了1dB的纹波。如果没有这一步验证问题会一直藏到硬件联调时才暴露排错成本翻好几倍。6.3 第三步硬件在环验证上板之后用频谱仪测发射频谱看镜像抑制是否达到设计值用示波器观察ADC输入端的信号质量再把解调端的星座图打开。这里有两个快速定位问题的技巧如果星座图出现有规律的旋转或压扁优先怀疑模拟滤波器的相位特性如果噪底整体抬升优先怀疑抗混叠滤波器的阻带抑制不足。还有一个我常用的做法在接收链路里插入一个已知频响的滤波器对比有它和没有它时的解调结果差异。这个“已知扰动”能快速定位是哪一级引入了失真比盲调参数高效得多。整套验证跑下来上采样、采样滤波这两个环节到底有没有做对基本就心里有数了。