第六篇:多速率信号处理——抽取、插值与半带滤波器

1. 为什么需要多速率信号处理?

在直接射频采样SDR中,ADC以数GSps的速率采样,而基带信号带宽可能仅为数十MHz。若在整个处理链路中保持GSps级采样率,后续的滤波、解调等模块将承受巨大的计算负担,功耗和资源消耗难以接受。

多速率信号处理通过在链路中适时降低(抽取)或提高(插值)采样率,使各模块工作在最优速率下,实现计算效率的最大化。

2. 抽取:降低采样率

2.1 抽取的数学模型

抽取因子为M的降采样操作定义为:y[n] = x[Mn],即每M个样本保留一个,丢弃其余M-1个。

从频域看,抽取会使频谱在频率轴上扩展M倍。原始信号中高于f_s/(2M)的频率分量会混叠到基带(0 ~ f_s/(2M)),产生不可恢复的失真。因此,抽取前必须使用抗混叠滤波器滤除这些高频分量。

2.2 多相分解------高效抽取的实现

直接实现抽取(先滤波、后降采样)是计算浪费的------滤波器计算出的M-1个样本随后被丢弃。多相分解将滤波器系数按相位分为M组,每组对应一个降采样相位,每次只计算被保留的那个相位的输出。

数学上,将滤波器H(z)分解为M个子滤波器:

H(z) = E0(z^M) + z^(-1)·E1(z^M) + ... + z^(-(M-1))·E(M-1)(z^M)

其中Ek(z)为第k相子滤波器。抽取时,只需计算与降采样相位k对应的子滤波器输出,计算量降为原来的1/M。

3. 插值:提高采样率

3.1 插值的数学模型

插值因子为L的上采样操作定义为:在每两个样本之间插入L-1个零值,即y[n] = x[n/L](当n为L的整数倍),否则y[n]=0。

上采样会在频谱中产生L-1个镜像,位于f_s/L、2f_s/L、...、(L-1)f_s/L处。这些镜像需要通过镜像抑制滤波器(低通)滤除,以恢复平滑波形。

3.2 多相分解在插值中的应用

与抽取类似,插值也可用多相分解实现高效计算。将滤波器系数按相位分组,每个输出样本仅需与一个子滤波器卷积,计算量降为原来的1/L。

4. 半带滤波器------多速率处理的主力

4.1 半带滤波器的特性

半带滤波器是抽取/插值系统中应用最广泛的滤波器类型,具有以下特性:

  • 通带与阻带对称:通带边缘f_p与阻带边缘f_s满足f_p + f_s = f_s/2

  • 约一半系数为零:除中心系数外,每隔一个系数为零,大幅降低乘法器需求

  • 系数对称:线性相位,群延迟恒定

  • 幅度响应在f_s/4处为-6dB:这是半带滤波器的定义性特征

4.2 半带滤波器的幅频响应分析

半带滤波器的幅频响应具有如下对称性:|H(e^(j(π-ω)))| = 1 - |H(e^(jω))|。这意味着在通带边缘f_p处,阻带衰减恰好等于通带纹波(以线性刻度计)。

设计半带滤波器时,需在以下参数间权衡:

  • 过渡带宽度:越窄所需的滤波器阶数越高

  • 通带纹波:越小所需的阶数越高

  • 阻带衰减:越大所需的阶数越高

对于2倍抽取/插值,半带滤波器是最优选择。对于4倍、8倍等更高的抽取/插值因子,可采用半带滤波器级联实现。

4.3 多级半带级联的频响累积效应

当多级半带滤波器级联时,总通带纹波是各级纹波之和(以dB计),总群延迟是各级群延迟之和。例如,三级半带级联(8倍抽取),若每级通带纹波为0.1dB,总纹波可达0.3dB;若信号带宽接近通带边缘,这一累积效应可能导致带内平坦度超标。因此,在多级设计中需将各级指标分配得更严格,或适当放宽总指标。

5. CIC滤波器------大倍数抽取/插值的低成本方案

5.1 CIC滤波器结构

级联积分梳状(CIC)滤波器由积分器级和梳状器级级联而成,其传递函数为:

H(z) = [(1 - z^(-RM)) / (1 - z^(-1))]^N

其中R为抽取/插值因子,M为差分延迟(通常为1或2),N为级联级数。

CIC滤波器的核心优势是无需乘法器------积分器和梳状器仅由加法器和寄存器构成。这使得CIC非常适合在采样率最高的位置(DDC的第一级或DUC的最后一级)实现大倍数(如40倍)速率变化。

5.2 CIC的幅频响应与补偿

CIC滤波器的幅频响应呈sinc^N形状,在通带内存在明显的"下垂"。以N=4、R=40为例,在通带边缘(f = f_s/(2R))处,衰减可达3~5dB。对于宽带信号,这种下垂会严重恶化带内平坦度。

补偿方法:在CIC后级联一个FIR补偿滤波器,其频率响应为CIC响应的倒数。补偿滤波器的阶数通常较低(10~20阶),资源开销小。

6. 抽取/插值链的设计实例

以100MHz带宽信号、ADC采样率5GSps、目标基带采样率250MHz为例(总抽取因子20):

方案A:单级抽取

  • 滤波器阶数:约300阶

  • 计算量:300 × 250MHz = 75GMAC/s

方案B:三级级联(4×5)

  • 第一级:4倍抽取,采样率5GSps→1.25GSps,滤波器阶数80阶,计算量80×1.25G=100GMAC/s

  • 第二级:5倍抽取,采样率1.25GSps→250MHz,滤波器阶数120阶,计算量120×250M=30GMAC/s

  • 总计算量:130GMAC/s(高于单级?需要优化)

方案C:四级级联(2×2×5)

  • 第一级:2倍抽取,半带滤波器,阶数20阶,计算量20×2.5G=50GMAC/s

  • 第二级:2倍抽取,半带滤波器,阶数20阶,计算量20×1.25G=25GMAC/s

  • 第三级:5倍抽取,可采用CIC+补偿FIR,CIC无乘法器,补偿FIR约30阶,计算量30×250M=7.5GMAC/s

  • 总计算量:约82.5GMAC/s,优于单级方案

结论:通过合理的级联分解和CIC使用,可将计算量降低30%以上,同时减少DSP切片占用。

7. 多速率处理在多通道系统中的应用

在数字阵列系统中,多速率处理面临额外的挑战:所有通道的抽取/插值滤波器需保持相同的群延迟,否则会引入通道间相位误差。对于级联滤波器结构,各级的群延迟是累加的,需精确计算并确保各通道一致。

同步策略:所有通道的抽取/插值滤波器在同一SYSREF边沿复位,确保滤波器状态从同一初始值开始累积。对于无限长冲激响应(IIR)类滤波器(如CIC),需额外关注状态初始化。

8. 小结

多速率信号处理是连接高速ADC/DAC与低速基带处理的桥梁。理解抽取与插值的频域特性、多相分解的高效实现、半带滤波器的对称优势、以及CIC滤波器的无乘法器结构,有助于设计高计算效率的DDC/DUC链路。下一篇文章将深入讲解数字滤波器的FPGA实现,包括FIR/IIR的选择、定点数量化、以及DSP48E2的高效映射。

相关推荐
ALINX技术博客2 小时前
【黑金云课堂】VMware Ubuntu 开发环境安装教程
linux·fpga开发·fpga
LCMICRO-133108477462 小时前
国产长芯微LDC4048完全P2P替代DAC128S085,是一款 8 通道、带输出放大器的数模转换器 (DAC)
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·数模转换器dac
硅农深芯2 小时前
解析RF信号的调制方式
人工智能·语音识别·信号处理·rf·射频·调制
雅斯驰2 小时前
逐周期限流+频率折返+热关断:TPS54360DDAR的全套保护机制解析
fpga开发
雅斯驰3 小时前
电流模式控制+快速瞬态响应:LTM4650AY的FPGA供电技术解析
stm32·单片机·嵌入式硬件·物联网·fpga开发·汽车
北京青翼科技16 小时前
青翼科技PCIe总线架构的2路10G光纤通道适配器丨数据采集卡丨PCIe接口板卡 2 路 SFP+光纤收发器
fpga开发·采集卡·fpga板卡·pcie接口·多功能板卡
9527华安18 小时前
2026年FPGA就业培训,临时抱佛脚版本
fpga开发
水云桐程序员18 小时前
Quartus II集成开发环境 |FPGA
笔记·fpga开发·硬件工程·创业创新
电磁脑机18 小时前
无总线场同步:意识本质、AGI困境与脑机革命的核心理论重构
分布式·神经网络·架构·信号处理·agi