CIC滤波器是滑动平均滤波器的非常高效的迭代实现,只需要一个减法和一个加法,而滑动平均需要N-1个加法。

cic滤波器相当于一个梳状滤波器y(n)=x(n)-x(n-D),H(z)=1-z-D,和一个积分滤波器y(n)=x(n)+y(n-1),H(z)=(1-z-1)-1的级联,两个级联后y(n)=x(n)-x(n-D)+y(n-1),H(z)=(1-z-D)/(1-z-1),和求和表达式y(n)=x(n)+x(n-1)+x(n-2)...+x(n-D),H(z)=(1-z-D)/(1-z-1)一样.

通常将comb部分放在低采样率步骤,可以减少存储器用于延时的Size,此乃精巧模式;an N-sample delay after decimation by R is equivalent to a D-sample delay before decimation by R。

问题

抽取后和抽取前的频域公式怎么变换?

x(n)=X(w)*ejwn,抽取后y(n)=x(Rn)=X(w)ejwRn=Y(w1)ejw1n;令w1=Rw,得到Y(w1)=X(w/R)。

抽取因子,差分因子改变对频域公式的影响?他们不一样对实际应用的影响?

抽取因子变化,对滤波器形状影响很小?同样的FIR滤波器可以用于变抽取因子的系统?

以上两个问题,可以回答为:H(z)=(1-z-RM)/(1-z-1),R倍抽取后变为H(z)=(1-z-M)/(1-z-1/R),系统的零点由分子决定,与R无关,因此R的变化不会改变滤波器的带宽,

梳妆滤波器和降采样颠倒后,差分因子变为N=D/R?

    ->   

CIC怎么降低硬件要求的?减少存储器,减小时钟

运算过程中位数的变化?

积分器有可能不溢出,满足两个条件?

CIC滤波器的FPGA表达(精巧模式):

process(rst,clk)

begin

if rst=1 then

y(n-1)=0;

k=0;

x(n)=0;

if rising(clk) then

x(n)=x(n)+xin;

k=k+1;

if k=3 then

k=0;

endif;

if k=0 then

y(n-1)=x(n);

y(n)=y(n-1)

yout=y(n)-y(n-1)

endif;

end process

CIC滤波器的FPGA表达(粗犷模式):

process(rst,clk)

begin

if rst=1 then

y(n-1)=0;

k=0;

if rising(clk) then

x(n)="0000"+xin;

x(n-1)=x(n);

x(n-2)=x(n-1);

x(n-3)=x(n-2);

xd4=x(n)-x(n-3);

y(n)=xd4+y(n-1);

k=k+1;

if k=0 then

yout=y(n);

endif;

if k=3 then

k=0;

endif;

end process

CIC滤波器的更多相关文章

  1. CIC and Fir 滤波器的级联

    在FDATool中 CIC 和 Fir 级联滤波器的设计 1 设计CIC滤波器的幅频特性曲线如下 2.设计FIR 滤波器的幅频特性曲线如下 3.总的特性曲线如下 4.把通带部分放大后的图,比较平坦

  2. matlab 与 modelsim 联调 cic抽取滤波器

    注:本设计的参数为:D=2,R=5,N=3:时钟频率为50mhz,输入信号为有符号8位,根据公式bmax=bin+N*log(2,R*D):可以得到bmax=18: 1,cic抽取滤波器原理 网上资料 ...

  3. CIC仿真

    在调用CIC时发现的,明确告诉调用那些库. CIC的设置窗口. 该CIC滤波器有两个输入一个输出.与下面的相比,同样要输出两路信号,但输出速率要高. 修改成以下的设置 设置一个接口,两个通道. 该设置 ...

  4. FPGA与数字信号处理

    过去十几年,通信与多媒体技术的快速发展极大地扩展了数字信号处理(DSP)的应用范围.眼下正在发生的是,以更高的速度和更低的成本实现越来越复杂的算法,这是针对高级信息服更高带宽以及增强的多媒体处理能力等 ...

  5. 采用FPGA实现音频模数转换器

    http://www.21ic.com/app/eda/200905/42832.htm http://www.eefocus.com/article/09-10/84673s.html 摘 要 简要 ...

  6. i.MX RT600之DMIC外设介绍及应用

    恩智浦的i.MX RT600是跨界处理器产品,同样也是i.MX RTxxx系列的开山之作.不同于i.MX RT1xxx系列单片机,i.MX RT600 采用了双核架构,将新一代Cortex-M33内核 ...

  7. CIC 抽取滤波器 Verilog Code

    采用流水线结构的CIC 抽取滤波器结构如下: // 三级CIC抽取器实例:cic3_decimator.V module cic3_decimator(clk, x_in, y_out); param ...

  8. Matlab 高斯_拉普拉斯滤波器处理医学图像

    前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...

  9. QMF滤波器组 理论

    QMF滤波器组  经常被用来子带信号分解,降低信号带宽,使各个子带可顺利由通道处理.    2^M个通道,等宽 QMF   正交镜像滤波器 正交滤波器 A(W)  与  A(W+pi)  之间的关系 ...

  10. IIR滤波器和FIR滤波器的区别与联系zz

      -------------------------------------------------------------------------------------------------- ...

随机推荐

  1. 学习笔记-Java流程控制

    学习来源: [狂神说Java]Java零基础学习视频通俗易懂_哔哩哔哩_bilibili Java流程控制 用户交互Scanner 获取用户的输入 基本语法 Scanner s = new Scann ...

  2. 负载均衡集群ipvsadm常见参数以及基本用法

    ---- 固定调度 rr:论调 wrr:加权论调 weight,加权 sh:source hash ,源地址hash 动态调度lc:最少链接 active*256+inactivewlc:加权最少链接 ...

  3. CCF 201909-1 小明种苹果

    #include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...

  4. jdbc(工具类和配置文件)

    原始的jdbc要操作7步 导入jar包 加载驱动 获取连接 获取执行者对象 编写sql语句 处理结果 释放对象资源 当我们每次都要注册驱动,获取连接的时候,都感觉很烦,这时候怎么才能懒呢? 把driv ...

  5. Python的入门复习一 Day 8——from“夜曲编程”

    Day 8 time: 2021.8.5. 原来P课程已经安排好了专题复习呢.所以,今天的重心就落在了角落知识点于相关课程实践上了.这次总结,也是一如既往地兵分两路呢. 注意事项: 格式化时,在前,引 ...

  6. (已解决)MYSQL怎么实现表的id在插入删除的前提下连续递增?

    其实就是用了sql语句. 思路是重置所有id和auto_increment. SET @i=0; UPDATE records SET id=(@i:=@i+1); ALTER TABLE recor ...

  7. 12.java链表栈和数组栈

    栈是一个先入后出的有序列表,栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,一端为变化的一端,称为栈顶,另一端是固定的,称为栈底.先入的元素在栈底,最后放入的元素在栈顶,删除 ...

  8. ubuntu亲测安装opencv和成功解决Makefile:160: recipe for target 'all' failed make: *** [all] Error 2

    1.因为项目需要,我安装的是opencv3.0.0,从github上面下载的opencv包 git clone https://github.com/Itseez/opencv.git git clo ...

  9. ASP.NET中maxRequestLength和maxAllowedContentLength的区别;上传大文件设置IIS7文件上传的最大大小

    https://blog.csdn.net/qq_23663693/article/details/89920039 maxRequestLength表示ASP支持的最大请求大小,而maxAllowe ...

  10. Unity 关于可寻址资源系统Addressables的使用和理解(一) 准备工作

    一.打开Unity的PackageManager,安装Addressables包 二.打开分组面板,对未来要分类的资源包进行分组,并对组进行设置. 1.菜单栏选择Window/AssetManagen ...