tag 标签: cic补偿滤波器

相关博文
  • 热度 30
    2014-2-10 17:36
    6100 次阅读|
    2 个评论
    基于 FPGA 的 CIC 以及补偿滤波器的设计 KevinWan   CIC 滤波器 CIC 滤波器最早是由 Hogenauer 提出的,后来出现了不少改进的结构形式。 CIC 滤波器的特点: 只需要加法器,无需乘法器 无需存储滤波器系数 结构易于拓展 无需外部控制 窗口长度控制截止频率方便 CIC 也被称为无乘法运算的滤波器,概念上,滤波器计算可以理解为:一个输入数据到达后,寄存器中的数据向右平移以便接纳新的数据,然后滤波器将所有的存储器的数据相加,最后输出求和结果,可以通过下式描述:   可以采用递归的方式实现:     图 1 : CIC 原理结构图 最基本的 CIC 抽取滤波器是指该滤波器的冲激响应具有如下形式: 以 WCDMA 中 CIC 为例, CIC 抽取滤波器在 f=0 处的幅度值为 R ,单阶 CIC 滤波器如图所示。称频率区间 0 ~ fs / M 为 CIC 滤波器的主瓣,而其他区间为旁瓣。由图可以看见随着频率的增大,旁瓣电平不断减小,单阶 CIC 滤波器的频率响应特**: 图 2 :单阶 CIC 的频率响应图 上图为单阶 CIC 的频率响应图,旁瓣衰减了 12DB 左右,说明阻带衰减很差,一般很难满足实用要求。为了降低旁瓣电平,可以采用多级 CIC 滤波器级联的办法来解决, 4 阶相同窗口长度的 CIC 的频率特性如下: 图 3 : 4 阶相同窗口长度的 CIC 的频率响应图 上图为 4 阶相同窗口长度 CIC 的频率响应图,旁瓣衰减了 50DB 左右,明显比单阶 CIC 旁瓣衰减的要多,但还是不够理想,一般采用各个窗口长度不相等的 CIC 串联,采用 4 阶窗口不相同的 CIC 频率响应图: 图 4 : 4 阶不同窗口长度的 CIC 的频率响应图 上图为 4 阶不同窗口长度 CIC 的频率响应图,旁瓣衰减了 70DB 左右,明显比单阶 CIC 和相同窗口的 CIC 旁瓣衰减的要多,由此可见 4 级级联的 CIC 滤波器具有 70 dB 左右的阻带衰减,基本能满足实际要求。比较理想,本系统采用这种方式设计多级 CIC 。 图 5 :前端 CIC 的频率响应图 图 6 :后端 CIC 的频率响应图   CIC 补偿 FIR 滤波器 FIR 滤波器 FIR 滤波器具有线性相位和稳定两大优点,他的突出特点是单位取样响应 h(n) 仅有有限个非零值。对于一个 N 阶的 FIR 滤波器,其具体形式如下:   FIR 滤波器的实现方法按照结构主要可以分为三种: 直接结构实现的 FIR 滤波器 转置结构实现的 FIR 滤波器 分布式算法实现的 FIR 滤波器 FIR 补偿滤波器 当 CIC 的 M 值 ( 即 states) 很大时,他很难有一个平坦的通带,在数字下变频中,补偿滤波器放在 CIC 之后,而在数字上变频中,补偿滤波器作为预处理放在 CIC 之前,总之, CIC 补偿滤波器是应用在多采样率的系统中,是在牺牲采样率的基础上,获得高效的硬件性能。 CIC 的频率响应特性为:   当 R 很大时,上式公式就可以转换为 sinc 公式。而补偿滤波器要达到补偿效果,其频率响应就应该是 CIC 滤波器频率响应的倒数,即:   所以, CIC 补偿滤波器也可以成为“ inverse sinc filter ”,在多采样率的系统中, CIC 补偿滤波器作为多采样率滤波器,可以是插值或者抽取滤波器,但采样率变化最少是 2 。 CIC 补偿滤波器 Matlab 代码如下: %CIC 顶部补偿滤波器 slen=floor(2.2/FS*FLEN); zv(1:FLEN/SEG_LEN)=1; for m=1:slen     zv(m)=(F_tf(slen)/F_tf(m)); end 采用 8 倍抽取的方式设计 FIR 补偿滤波器,采用 IQ 复用的方式,节省硬件乘法器和逻辑资源。 图 7 : CIC 补偿 FIR 的频率响应图 源代码: