CIC滤波器设计原理总结

  • 一、CIC滤波器应用概述
  • 二、基本原理理解
    • 1、模拟与数字信号关于频率的理解
    • 2、变采样对信号频率搬移变化的理解
    • 3、升采样(内插)与降采样(抽取)方法
  • 三、CIC滤波器幅频响应直观认识
  • 四、CIC滤波器设计级联框图

一、CIC滤波器应用概述

在通信数字信号上下变频时,经常会用到对数字信号的升采样和降采样,即通过CIC数字速率器实现变采样率,下面将总结CIC滤波器设计原理,便于FPGA实现参考。

二、基本原理理解

在研究CIC滤波器前,需要真正弄明白并理解一些基本概念,具体整理如下。

1、模拟与数字信号关于频率的理解

模拟信号的频率:1秒内信号周期变化或重复了多少次,在日常生活中,以电风扇为例,频率指风扇1秒钟转了多少圈,模拟信号频率一般用f表示
模拟信号角频率:用弧度表示1秒内信号变化多少弧度,即Ω=2πf=2π/T(其中f为模拟信号的频率,T为模拟信号的周期),可以理解1秒钟旋转了多少个2π,或者1秒内经历了多少个信号周期T。
数字信号频率(数字角频率,或数字频率):数字信号是模拟信号的采样,为了建立模拟信号与数字信号的联系,以及与采样频率的关系,引入了数字频率,w=2πf/fs(其中f为模拟信号的频率,fs为采样频率),由于那奎斯特采样定律,f≤fs/2,因此数字频率的范围一般为(0,π),可以理解数字频率是模拟信号角频率相当于fs的归一化处理,基于按照2π归一化,可以表示的归一化频率为(0,0.5),在matlab或滤波器设计软件中设计数字滤波器起始或截止频率门限时,经常用归一化频率表示。

2、变采样对信号频率搬移变化的理解

首先采样率的变化对信号基带模拟频谱(物理频率)是没有影响的。
下面以3倍升采样为例,原数字频率的w1=2πf/fs,其数字频谱如下图:

3倍升采样后w2=2πf/3fs,即w2=w1/3,w2在w1三分之一处的数字频谱与w1的数字频谱是一致的,w2相当于w1的频谱在频率上压缩了三分之一,w2的数字频谱如下图所示:

3、升采样(内插)与降采样(抽取)方法

升采样(内插)的方法是在原两个采样点之间插入零,然后进行抗镜像低通滤波。在上面数字频谱中,可以看出在-π~π内出现了镜像信号,同样在对应的模拟信号频谱中,采样率的增加信号频谱周期性延拓的周期将增加,期间出现了多余的镜像信号,低通滤波器的作用是滤除镜像信号。

降采样(抽取)的方法是先进行抗混叠滤波器,然后再进行抽取。在模拟信号频谱中,抽取后信号频谱的周期延拓的周期将减少,如果过渡抽取将导致无法满足奈奎斯特采样定律,出现频谱混叠,或者干扰进入带内,同样在数字频谱中,抽取相当于信号扩展,抗混叠滤波器都是为了避免出现频谱混叠及干扰。

三、CIC滤波器幅频响应直观认识

CIC(Cascade Intergrator Comb):级联积分梳妆滤波器,是由积分器和梳妆滤波器级联而得。由于滤波器系数为1,无需对系数进行存储,无需乘法器,在设置抽取/插值因子时候不改变滤波器整体结构。
CIC的幅频响应函数如下,其中D为抽取倍数,M为延迟因子(一般为1)。

在CIC的幅频响应如下图所示:

matlab仿真参考代码如下:

%CIC frequence analyze
close all;
clear all;
clc;resampleRate=16;%升采样倍数
cicFilerOrder=3;%阶数或级联数
sampleNum=400;%采样点数
n=0:sampleNum-1;
w=n.*(pi/sampleNum);%在0~pi间频率采样,pi对应fs/2
Hz=((sin(resampleRate*w/2))./(sin(w/2))).^(cicFilerOrder);
H_gui=abs(Hz)./max(abs(Hz));
plot(w/pi,20*log10(H_gui));
axis([0,1,-150,0]);%横轴显示0~1,纵轴显示-150到0.

四、CIC滤波器设计级联框图

下面是3阶升采样(内插)CIC滤波器级联框图:

下面是3阶降采样(抽取)CIC滤波器级联框图,将梳妆滤波器与积分滤波器对调即可。

CIC滤波器设计原理总结相关推荐

  1. 基于FPGA的CIC滤波器设计(2)——以数字上下变频为例讲解

    多级CIC滤波器理论与设计 项目简述 多级CIC滤波器 多级CIC滤波器的抽取操作 多级CIC滤波器的内插操作 多级CIC滤波器的抽取的MATLAB实现 多级CIC滤波器的抽取的MATLAB结果 多级 ...

  2. 基于MATLAB FDATOOL的CIC滤波器设计

    级联积分梳状(CIC)滤波器是一种被广泛应用于软件无线电中,可以实现抽取或者插值的高效滤波器.它主要用于降低或提高采样率.CIC滤波器的主要特点是,仅利用加法器.减法器和寄存器,占用资源少,实现简单且 ...

  3. m基于FPGA和MATLAB的数字CIC滤波器设计和实现

    目录 1.算法概述 2.仿真效果预览 3.MATLAB/FPGA部分代码预览 4.完整MATLAB/FPGA程序 1.算法概述 CIC滤波器由一对或多对积分-梳状滤波器组成,在抽取CIC中,输入信号依 ...

  4. 如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器

    设计了采样频率为640 MHz.过采样率为64的高频数字抽取滤波器.该数字抽取滤波器由CIC(Cascaded Integrator Comb)滤波器(降16倍).CIC补偿滤波器(降2倍)和半带滤波 ...

  5. 【CIC滤波器】基于MATLAB/FPGA的数字CIC滤波器的设计

    FPGA代码: module down(i_clk,//输入时钟i_rst,//输入复位信号i_M, //抽取值i_data,//输入信号o_data,//输出信号r_clk);input i_clk ...

  6. m基于FPGA的积分梳状CIC滤波器verilog设计

    目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA 1.算法描述 积分梳状滤波器,是指该滤波器的冲激响应具有如下形式: 其物理框图如图所示: 可见,CIC滤波器是由两部 ...

  7. FPGA数字信号处理(十六)单级CIC滤波器Verilog设计

    该篇是FPGA数字信号处理的第16篇,选题为多速率信号处理系统中常用的CIC滤波器.本文将详细介绍使用Verilog HDL设计单级CIC滤波器的方法.接下来几篇会介绍多级CIC滤波器的Verilog ...

  8. RC滤波器与LC滤波器详解(RC滤波器与LC滤波器区别,RC滤波器和LC滤波器工作原理和经典设计)

    RC滤波器与LC滤波器详解(RC滤波器与LC滤波器区别,RC滤波器和LC滤波器工作原理和经典设计) [导读] LC滤波器应用的频率范围为1kHz-1.5GHz.由于受限于其中电感的Q值,频率响应的截至 ...

  9. matlab滤波器fdatool,各种类型滤波器设计(fdatool,原理,matlab代码)

    数据处理 对于一组数据,只有时间戳和加速度,怎么样进行傅立叶变换分析? 参考信号处理内容,首先模拟一组数据进行分析. 以下数据两个频率为1Hz与100Hz,经过采样和傅立叶变化之后,捕捉到信号对应的频 ...

  10. 经典滤波器的设计原理

    前言 想写一篇文章,包含经典滤波器的万象. 1.滤波器基础知识 总的来说,滤波器可分为经典滤波器和现代滤波器两大类.经典滤波器是假定输入信号x(n)中的有用成分和希望去除的成分各自占有不同的频带.这样 ...

最新文章

  1. 工厂用抽象类比接口_用简单的现实类比解释硬编码概念
  2. 在线作图|在线做扩增子抽平
  3. linux显卡驱动mxm,linux下我的FX5200显卡驱动安装
  4. 区块链BaaS云服务(14)华大BGI区块链“安全多方计算“
  5. 最短路径问题(dijkstra)
  6. 经典C语言程序100例之三六
  7. 为什么大公司一定要使用DevOps
  8. Exchange 2016 之删除与恢复用户邮箱
  9. 幼儿-综合素质【1】
  10. AutoCAD DWG格式文件去除教育版戳记方法
  11. 百度知道1000指数的关键词留链接排名到第一的实战案例
  12. CAD图纸转换成高质量的彩色PDF格式如何操作?
  13. 计算机网络实验水晶头,计算机网络实验报告制作网线
  14. (二)外显子组数据分析之原始数据sra数据下载
  15. 力扣刷题:求树的最大高度,树的最小高度,与判断平衡二叉树
  16. python re正则提取ip地址_Python正则表达式匹配和提取IP地址
  17. java zip加密压缩_Java解压和压缩带密码的zip文件过程详解
  18. iOS 如何连接打印机
  19. 如何解决国产TongWeb中间件启动之后无法访问网站管理后台界面
  20. 大文件上传组件webupload插件

热门文章

  1. 转载-史密斯(smith)圆图讲解-基础内容
  2. echarts地图随机点生成
  3. 软件及其公司篇--项目管理(七)
  4. 产品需求分析工具和方法
  5. navicat激活已过期
  6. Java之常见异常 整理集合
  7. 杰理AD14N/AD15N---外置Flash烧录音乐文件
  8. java创建http接口
  9. linux命令行弹窗浏览器,linux命令行下使用linux打开浏览器命令
  10. 数据库左连接、右连接、内连接、全连接笔记