学习笔记: CIC filter及其matlab实现

References:

[1] Understanding cascaded integrator-comb filters – By Richard Lyons, Courtesy of Embedded Systems Programming URL: http://www.us.design-reuse.com/articles/article10028.html

[2] Example of Cascaded Integrator Comb filter in Matlab http://www.dsplog.com/2007/07/01/example-of-cascaded-integrator-comb-filter-in-matlab/

[3] Digital Signal Processing – Principles, Algorithms and Applications , John G. Proakis, Dimitris G. Manolakis

CIC数字滤波器是窄带低通滤波器的高计算效率的实现形式,常常被嵌入到现代通信系统的抽取和插值模块的硬件实现中。

CIC filter 应用

CIC滤波器非常适合用作抽取之前的抗混迭滤波和插值之后的抗镜像滤波。这两种应用都跟very high-data-rate滤波有关,例如现代无线系统中硬件正交调制和解调,以及delta-sigma A/D 和 D/A 转换器。

clip_image001

Figure 1: CIC filter applications

因为CIC滤波器的幅频响应包络象sin(x)/x,通常在CIC滤波器之前或者之后都有一个high-performance linear-phase lowpass tapped-delay-line FIR filters, 用于补偿CIC滤波器不够平坦的通带。

CIC滤波器不需要乘法运算,易于硬件实现。

抽取CIC滤波器只不过是滑动平均滤波器的一个非常高效的迭代实现,有NR taps, 其输出再进行 R 抽取 . 同样,插值CIC滤波器在每两个输入采样之间插入R -1个0,然后通过一个NR -tap的工作在输出采样率ƒs ,out 的滑动平均滤波器。对于高采样率转换率的抽取和插值来说,Figure 1所示的级联形式的计算量大大低于单一FIR滤波器的计算量。

Recursive running-sum filter

clip_image003
Figure 2: D-point averaging filters

Figure 2a是标准的D-point moving-average 处理,需要D-1次加法运算和1次乘法运算。时域表达式:

clip_image004
Equation 1

z域表达式:

clip_image005
Equation 2

z域传递函数:

clip_image006
Equation 3

Figure 2b: 迭代running-sum filter,等价于figure 2a.

y(n) = 1/D * [x(n) + x(n-1) + … + x(n-D+1)]

y(n-1) = 1/D * [x(n-1) + x(n-2) + x(n-D+1) + x(n-D)]

y(n) – y(n-1) = 1/D * [x(n) – x(n-D)]

clip_image007
Equation 4

z域传递函数:

clip_image008
Equation 5

Equation 3 和 Equation 5 本质是一样的。Equation 3 是非递归表达

  • 12
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值