CIC滤波器的设计与仿真
CIC滤波器已经被证明是在高速抽取和插值系统中非常有效的单元,具有结构简单,易于工程实现的特点。CIC滤波器是数据通讯中的常用模块,一般用于数字下变频(DDC)和数字上变频(DUC)系统,随着数据传输率的增加,级联梳状滤波器(CIC)的应用变得尤为重要。.CIC滤波器的主要特点是,仅利用加法器、减法器和寄存器(无需乘法器),适合工作在高采样率。在数字下变频(DDC)中,CIC(级联积分梳状)滤波器起着重要的作用.它主要用于采样速率的抽取,同时具有低通滤波的作用。针对软件无线电中的多速率信号处理,结合二进制补码表示法,介绍了积分梳状滤波器的基本组成原理,以及决定滤波器性能的参数选择。本文在研究CIC滤波器基本原理的基础上,对其进行了FPGA仿真、综合,并最终应用在工程中,达到了设计要求。
CIC(Cascaded Integral Comb)抽取滤波器,最初由Hogenauer提出,因为它结构简单,而且实现时无需乘法器和系数的存储,所以作为一种简单有效的抽样率转换方法,CIC已被广泛应用于通信和信号处理领域。CIC抽取滤波器通常是由一个积分梳状滤波器和一个抽取滤波器级联组合而成,其中,级联的积分梳状滤波器又分为积分部分和梳状部分,其传输函数表达式分别为
整个滤波器的传输函数为
(1-3)
其中,M为抽取器的抽取倍数,R为梳状部分的差分延迟,一般取值为1或2,N为级联的级数,尺度因子1/MR用来归一化滤波器的直流增益。在实现时,通常将后M倍抽取器提到梳状滤波器之前,此时只有积分器工作在输入的高采样率上,而滤波器则工作在抽取之后的低采样率上,这样就大大减少了计算量。图1.1给出了CIC抽取滤波器的框图(R
图1.2 低通滤波器极-零图
图1.3 低通滤波器幅频特性
=1)。
该滤波器的幅频和相频响应如图1.5所示。可以看出单级CIC滤波器的旁瓣电平是比较大的,只比主瓣低13.46dB,这意味着阻带衰减很差,难以满足一般的应用需求。为了降低旁瓣电平,可以采用多级CIC滤波器级联的办法解决,M级CIC滤波器级联,其阻带衰减将变为Q*13.46dB。在数字下变频芯片HSP50214中使用5级CIC滤波器,用来实现整数倍抽取。
图1.5 CIC滤波器的幅频和相频响应
5级CIC滤波器级联后的频率响应如图1.6所示,可见旁瓣衰减已经大于60dB。
图1.6 5级CIC级联滤波器频率响应
参数要求:
fp:通带截止频率;(1500HZ)
fs:阻带起始频率;(2000HZ)
Rp:通带内波动,即通带内容许的最大衰减;(3dB)
Rs:阻带内最小衰减;(50dB)
fN:采样频率;(8000HZ)
wp:通带截止角频率;(1500/4000)
ws:阻带起始角频率;(2000/4000)
本例中,首先在Filter Type中选择Lowpass(低通滤波器);在Design Method选项中选择FIR Equiripple,接着在Frequency Specifications选项中选取Units为Hz;指定Fs为8000Hz,Fpass为1500Hz,Fstop为2000Hz,Wpass为0.375dB,Wstop为0.5dB。设置完以后点击Design Filter即可得到所设计的FIR滤波器。通过菜单选项Analysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计完成后将
在MATLAB中,对各种滤波器的设计都有相应的计算振幅响应的函数也可以用来做滤波器的程序设计。
%积分梳状滤波器的设计
clear;
clc;
%积分滤波器的响应
b1=1;
a1=[1 -1];
% freqz(b1,a1,'whole');
hold on;
%梳状滤波器的响应
D=9;
b2=[1 zeros(1,D-1) -1];
a2=1;
% freqz(b2,a2,'whole');
%积分梳状滤波器响应
b3=b2;
a3=a1;
% freqz(b3/D,a3,'whole');
%两只内插因子为9的CIC级联响应
b4=conv(b3,b3);
a4=conv(a3,a3);
% freqz(b4/D^2,a4,'whole');
%三只内插因子为9的CIC级联响应
b5=conv(b4,b3);
a5=conv(a4,a3);
% freqz(b5/D^3,a5,'whole');
%四只内插因子为9的CIC级联响应
b6=conv(b4,b4);
a6=conv(a4,a4);
freqz(b6/D^4,a6,'whole');
%五只内插因子为9的CIC级联响应
b7=conv(b6,b3);
a7=conv(a6,a3);
freqz(b7/D^5,a7,'whole');
在下面的程序代码中,实现了两路(I和Q)宽度为9位的数据的16倍内插,内插滤波器采用5级级联CIC滤波器,最后输出宽度截取[28..0]中的[28..21]共8位数据。消耗的资源为771个LC,速度可达30MHz以上。
CIC滤波器的设计与仿真相关推荐
- m基于FPGA的积分梳状CIC滤波器verilog设计
目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA 1.算法描述 积分梳状滤波器,是指该滤波器的冲激响应具有如下形式: 其物理框图如图所示: 可见,CIC滤波器是由两部 ...
- 【CIC滤波器】基于MATLAB/FPGA的数字CIC滤波器的设计
FPGA代码: module down(i_clk,//输入时钟i_rst,//输入复位信号i_M, //抽取值i_data,//输入信号o_data,//输出信号r_clk);input i_clk ...
- FPGA数字信号处理(十六)单级CIC滤波器Verilog设计
该篇是FPGA数字信号处理的第16篇,选题为多速率信号处理系统中常用的CIC滤波器.本文将详细介绍使用Verilog HDL设计单级CIC滤波器的方法.接下来几篇会介绍多级CIC滤波器的Verilog ...
- QA:CIC滤波器参数设计-当采样速率与符号速率不成整数倍关系时如何处理
Q: 杜老师: 你好! 我是一个刚接触滤波器和卫星信号解调的工程人员,前一段时间购买了由你主笔出版的<数字滤波器的Matlab与FPGA实现>一书,对我有很大的 ...
- 如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器
设计了采样频率为640 MHz.过采样率为64的高频数字抽取滤波器.该数字抽取滤波器由CIC(Cascaded Integrator Comb)滤波器(降16倍).CIC补偿滤波器(降2倍)和半带滤波 ...
- matlab滤波器设计双陷滤波,基于MATLAB 双线性变换法IIR 滤波器的设计
摘要:滤波是信号处理的基础,因此滤波器的设计也就成为数字信号处理的基本问题之一.数字滤波是对数字信号处理不可或缺的环节,其好处远远大于模拟滤波器.本文应用MATLAB,实现了用双线性变换法设计IIR滤 ...
- 基于MATLAB FDATOOL的CIC滤波器设计
级联积分梳状(CIC)滤波器是一种被广泛应用于软件无线电中,可以实现抽取或者插值的高效滤波器.它主要用于降低或提高采样率.CIC滤波器的主要特点是,仅利用加法器.减法器和寄存器,占用资源少,实现简单且 ...
- 基于Δ-Σ模数转换器的梳状滤波器的设计与matlab仿真
欢迎订阅<FPGA学习入门100例教程>.<MATLAB学习入门100例教程> 目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 Δ-Σ模数转换器是一种低速,高精度 ...
- m基于FPGA和MATLAB的数字CIC滤波器设计和实现
目录 1.算法概述 2.仿真效果预览 3.MATLAB/FPGA部分代码预览 4.完整MATLAB/FPGA程序 1.算法概述 CIC滤波器由一对或多对积分-梳状滤波器组成,在抽取CIC中,输入信号依 ...
- 基于FPGA的CIC滤波器设计(2)——以数字上下变频为例讲解
多级CIC滤波器理论与设计 项目简述 多级CIC滤波器 多级CIC滤波器的抽取操作 多级CIC滤波器的内插操作 多级CIC滤波器的抽取的MATLAB实现 多级CIC滤波器的抽取的MATLAB结果 多级 ...
最新文章
- 一个MySQL锁和面试官大战三十回合,我霸中霸!
- BLE简介及连接过程
- 周昌印:忘记技术 从用户与市场考虑问题
- 检验开发团队好不好的12个问题
- ASP.NET MVC 实现二级域名(泛域名)
- 五指棋,贪吃蛇,中国银行ATM源码链接
- 解决audio自动播放无效问题
- mapreduce与spark的区别--内容详细
- Linux修改后保存与不保存,强制退出vi与vi下查找命令关键步骤!
- DotNetOpenAuth实践之Webform资源服务器配置
- ECSHOP商品描述和文章里不加水印,只在商品图片和商品相册加水印
- groovy-实现接口
- IDEA中自动导包设置及自动导包快捷键
- matlab 菲涅尔衍射,基于Matlab及菲涅尔衍射仿真.doc
- 电脑开机计算机配置,电脑开机显示配置更新怎么办
- uni-app 和H5页面视频播放flv格式视频监控
- openwrt 认证收费_在OpenWrt中安装Wiwiz实现portal认证
- SPARK-SQL - group分组聚合api,agg()
- echart自定义动画_ECharts使用—折线图动态加载
- 高斯模糊磨皮——ps