基于FPGA的CIC滤波器实现_朱国军
基于FPGA的CIC滤波器的设计与实现

设输 入序列 为 ( m) , 输 出序 列为 Y ( m) , 若输 入
采样 率为_ 厂 =1 / T , 输 出采 样率为_ 厂 = , / 。内插后 的序
列为
以单级 C I C抽 取 滤 波器 为例 , 积分 部 分 的积 分
程 为
I R滤波器 , 并且反 馈系数为 1 , 状态 方 y ( m ) : f ( 予 ) , , = 0 , ± , , ± 2 , , … ( ) 器是单 级点 的 I
符合设计 的要 求 。故 在 系统 中根据 需要 而设 计信 号 的速率非常重 要 , 而通 过 内插 和抽取 就可 以改变数 字 信号 的速率 , 故研 究 内插 和抽 取 对 于 软 件 无 线 电 的
设计 非常 有 必 要 。运 用 内插 和抽 取 的 就是 多 速 率 滤波 器 … , 这 种 常 用 的多 速 率 滤 波 器 有 C I C 滤 波 器、 H B滤 波 器 、 F I R滤 波器 。本 文设 计 的是 C I C滤
■
( G u i l i n U n i v e r s i t y o f E l e c t r o n i c T e c h n o l o g y , G u i l i n G u a n g x i 5 4 1 0 0 4, C h i n a )
【 A b s t r a c t 】 T h e d e s i g n a n d i m p l e m e n t ar a t o r c o m b( C I C ) i f l t e r a r e d e s c r i b e d . T h e v e i f l o g l a n g u a g e
2 内插 理论
基于FPGA的CIC抽取滤波器设计与实现

基于FPGA的CIC抽取滤波器设计与实现雷能芳【期刊名称】《计算机与数字工程》【年(卷),期】2012(040)001【摘要】现场可编程门阵列(FPGA)器件广泛应用于数字信号处理领域,而使用VHDL或Verilog HDL语言进行设计比较复杂.针对软件无线电中的多速率信号处理技术,提出了一种采用DSPBuilder实现级联积分梳状(CIC)抽取滤波器的FPGA 实现方案.软件仿真和硬件测试验证了设计的正确性和可行性.%Field Programmable Gate Array(FPGA) devices is widely used in the field of digital signal processing, but it is complicated to design using VHDL or Verilog HDL. For the multi-rate signal processing technology in software radio, this paper porposed a scheme for implementation of Cascade Integrator Comb decimation filter based on FPGA and DSP Builder. The correctness and feasibility of the design is verified by software simulation and hardware test.【总页数】3页(P137-139)【作者】雷能芳【作者单位】渭南师范学院物理与电气工程学院渭南714000【正文语种】中文【中图分类】TN713【相关文献】1.CIC抽取滤波器的改进及其FPGA的实现 [J], 郑瑾;葛临东;李冰2.FPGA中CIC抽取滤波器增益校正的实现 [J], 金燕;李松;冯晓东3.CIC抽取滤波器的MATLAB设计及FPGA实现 [J], 杨翠娥4.改进型CIC抽取滤波器的FPGA实现 [J], 谢海霞;赵欣5.改进型CIC抽取滤波器设计与FPGA实现 [J], 张杰;戴宇杰;张小兴;吕英杰因版权原因,仅展示原文概要,查看原文内容请购买。
CIC滤波器改进及其FPGA实现

CIC滤波器改进及其FPGA实现李凯勇【摘要】On the basis of analysis of the structure and characteristics of the multi-stage CIC filter, the paper elaborates an efficient FPGA implementation method which uses the Hogenauer "cut off" theory which can eliminate some of the less signifi-cant bits from the former class to improve the CIC filter performance, and realize a multi-stage CIC filter on FPGA. The timing simulation analysis of Quartus Ⅱ verifies the correctness and feasibility of the method and shows that the method can meet the re-quirements of modern mobile communication system and improve the system operation efficiency. The improvement of the inter-nal register bits wide saves great hardware resources and increases running speed.%在分析多级CIC滤波器结构和特性的基础上,阐述了一种利用Hogenau er“剪除”理论通过消除来自前级的一些较低有效位来提高CIC滤波器性能,并完成多级CIC滤波器的高效FPGA实现方法.通过Quartus Ⅱ时序仿真分析验证了该方法的正确性和可行性,能够满足现代移动通信系统要求,提高了系统运算效率.通过对内部寄存器的位宽进行改进,极大地节约了硬件资源,提高了系统运行速率.【期刊名称】《现代电子技术》【年(卷),期】2013(036)001【总页数】3页(P61-63)【关键词】CIC滤波器;混叠;剪除;FPGA【作者】李凯勇【作者单位】青海民族大学物理与电子信息工程学院,青海西宁810007【正文语种】中文【中图分类】TN713-34数字下变频(DDC)技术不仅是软件无线电核心技术之一,还是中频数字化接收系统重要组成部分。
基于FPGA的改进型中值滤波研究

基于FPGA的改进型中值滤波研究尉明靖;古军【期刊名称】《电子测试》【年(卷),期】2011(000)012【摘要】针对图像处理的实时性要求越来越高,本文研究了以FPGA为主要硬件平台,使用Verilog硬件描述语言来对采集的视频信号进行中值滤波预处理。
在传统中值滤波算法的基础上,充分利用了系统的硬件资源,提出了一种基于FPGA的新型流水线中值滤波设计方法。
与传统方法相比较,该方法极大地提高了系统的处理速度以及保证了实时性的要求,可以应用于实时性要求较高的场合。
最后还对整个系统的实现方法在QuartusII软件中进行了仿真,通过仿真结果验证了其可行性。
%As real time requirement on image settlement goes more and more precise, this paper aims to take PFGA as hardware desktop and make use of Verilog hardware description language to have a median filter on video signal. On the basis of the traditional median filtering algorithm, this paper makes the best of system hardware resource, so here comes a design method based on assembly line. Compared with traditional designs, such design has greatly accelerated processing speed and ensured real time requirement, hence it can be used in some place where needs more real time requirement. At last, such design has had an simulation to the whole system's implementation method with the environment of QuartusII , and according to such simulation its feasibility has been testified.【总页数】4页(P50-53)【作者】尉明靖;古军【作者单位】电子科技大学自动化工程学院,四川成都611731;电子科技大学自动化工程学院,四川成都611731【正文语种】中文【中图分类】TP399【相关文献】1.基于FPGA的快速中值滤波算法研究 [J], 秦立敏;陈玲;李金龙;高晓蓉;郭建强;王泽勇2.基于改进型中值滤波的高密度椒盐噪声图像去噪算法研究 [J], 刘杨3.基于FPGA的红外图像中值滤波算法研究与实现 [J], 孙少伟;杨粤涛;杨炳伟;钟海林4.基于FPGA的时序优化中值滤波算法研究 [J], 王正家;吕召锐;刘文超;钱峰5.基于FPGA的改进型中值滤波算法研究 [J], 沈学利;王肃国因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA的CIC滤波器的设计与仿真

基于FPGA的CIC滤波器的设计与仿真作者:欧阳丹李璋来源:《数字化用户》2014年第01期【摘要】基于积分级联梳状(CIC)滤波器的工作原理,应用verilog HDL语言及Quartus II软件,通过引入分频器可以分别实现多级CIC抽取滤波器和多级CIC插值滤波器的功能,且能改变CIC滤波器的抽取率和插值率。
并对仿真结果进行分析,验证了该设计方法的可靠性和可行性。
【关键词】CIC;分频器;FPGA;Quartus II在数字信号处理中,随着采样速率的不断提高,采样之后的数据流速率会变的很高,这就会导致在后面的信号处理中的速度跟不上数据流速率。
实现采样后速率的改变(抽取与内插)的关键问题是怎样实现一个满足抽取或内插(抗混叠)要求的数字滤波器。
该滤波器性能的好坏直接影响采样后速率变换的效果及实时处理能力。
积分级联梳状(CIC)滤波器就是一种被广泛应用于软件无线电中实现抽取或插值的滤波器。
由于它结构简单,没有乘法器,只有加法器、积分器和寄存器,因此在高速率不宜进行过多乘法运算的系统中,相对于普通的FIR滤波器来说具有较大的优势。
本文介绍的设计方法可以方便的实现CIC抽取滤波器与插值滤波器之间的转换,并能根据要求改变相应的抽取速率和插值速率。
一、 CIC滤波器的结构和工作原理CIC滤波器是一种基于零极点相抵消的FIR滤波器,由图可知它包括三个基本组成部分:积分器、抽取器和梳状滤波器,如图1-1和图1-2所示,积分部分的积分器是单极点的IIR滤波器,并且反馈系数为1,也可看成是累加器,根据Z变化,积分器的传输函数为,梳状滤波器是一个对称的FIR滤波器。
其传输函数为,式中,D是设计参数,称为微分延迟,则一个多级CIC滤波器的传递函数为。
二、 CIC滤波器的设计方案设计的CIC滤波器原理方框图,它包含分频器fre_div,CIC抽取滤波器cic_cq,CIC插值滤波器cic_cz三个部分,通过控制分频器的E端口,可控制CIC抽取滤波器和CIC插值滤波器的选取,当E=1’b1时,CIC抽取滤波器选通;当E=1’b0时,CIC插值滤波器选通。
基于FPGA的CIC滤波器设计

基于FPGA的CIC滤波器设计高红梅【摘要】CIC滤波器是一种结构简单、规整,占用存储量小的滤波器,是高速抽取和插值系统中非常有效的单元.本文在分析CIC滤波器原理的基础上,采用常规方法完成该四级滤波器的设计,在Quartus II软件上进行了仿真并在FPGA上进行了硬件实现.结果表明CIC内插滤波器可以在采点较少的输入信号中加入一系列的数可以使波形的输出更加的完善,提高了采样速率,适用于高速多速率信号处理系统.【期刊名称】《广东通信技术》【年(卷),期】2019(039)001【总页数】5页(P25-28,35)【关键词】软件无线电;CIC滤波器;数字下变频;现场可编程门阵列(FPGA)【作者】高红梅【作者单位】诺基亚上海贝尔软件有限公司【正文语种】中文1 引言在软件无线电中,数字线变频器接收经过高速采样的中频数字信号,将所需的频带下变到基带。
它一般位于信号处理链的前端,靠近A/D。
它主要由数字振荡器、数字乘法器、数字滤波器三部分组成[1-3]。
DDC( Digital Down Converter,数字下变频)中数字滤波器的主要作用是抽取、低通滤波,一般由FIR滤波器实现。
但FIR滤波器需要大量的乘法器,且一般DDC中的采样速率很高,因此FIR滤波器需要工作在很高的频率,使用资源多、功耗大。
鉴于此,当前的专用DDC芯片中,一般采用了一种高效的滤波器---CIC滤波器作为第一级滤波器,实现抽取、低通滤波;第二级则采用一般的FIR或FIR实现的特殊滤波器,此时它们工作在较低的频率下,且滤波器的参数得到了优化,因此更容易以较低的阶数实现,节省资源,降低功耗[4-6]。
CIC(Cascade Integrator Comb) Filter,即级联积分梳状滤波器,是一种在多速率信号处理中广泛应用的高效抽取或内插滤波器。
它具有只需加法器,不需要乘法器,运算速度快,易于工程实现等特点。
本文在研究CIC滤波器基本原理的基础上,重点研究CIC滤波器设计方法,分析CIC滤波器级联级数和滤波器阶数的选取对通带衰减和旁瓣抑制的影响,并通过QuartusII软件仿真CIC滤波器,在FPGA芯片中实现该功能。
FPGA的CIC滤波器的设计.

基于FPGA的CIC数字滤波器的设计摘要:级联积分梳状(Cascade Integrator Comb,CIC)滤波器是数字系统中实现大采样率变化的多速率滤波器,已经证明是在高速抽取和插值系统中非常有效的单元,在数字下变频(DDC)和数字上变频(DUC)系统中有广泛的应用。
它不包含乘法器,只是由加法器,减法器和寄存器组成,而且需要的加法器的数目也减少了许多,因此CIC滤波器比FIR和IIR滤波器更节省资源,并且实现简单而高速。
本文主要讨论了CIC滤波器的基本原理和基于FPGA的仿真实现方法,具体是采用Verilog HDL语言编程,将滤波器分为积分器模块和梳状器模块2个部分,对每个模块进行具体的功能分析和设计实现,最后通过Modelsim 仿真对滤波器的性能进行分析,验证了设计的正确性。
关键词:CIC滤波器;抽取;FPGA;Verilog HDLthe Design of Cascade Integrator Comb Filter Based on FPGAAbstract:CIC (Cascade Integrator Comb, CIC) filter is a digital system to achieve large changes in multi-rate sampling rate filter, which has been proven to be a very effective unit in the high-speed extraction and interpolation system. It is widely used in the digital down conversion (DDC ) and digital up conversion (DUC) systems. It does not contain the multiplier, but just composes by adders, subtractors and registers, and the number of needing adders is reduced a lot. So it takes fewer resources than FIR filter and IIR filter. And the speed of CIC filter is very high and it is also very convenient to realize.This article discusses the basic principles of CIC filter and the simulation way based on FPGA. The modules were described with Verilog HDL. Firstly, the filter was divided into two parts which were integration module and the comb module. Then the function of each module were analyzed and designed. Finally the performance of the filter was analyzed under ModelSim and the correctness of the design was verified. Keywords:CIC filter; Decimation; FPGA; Verilog HDL1. 引言:数字滤波是数字信号分析中最重要的组成部分之一,数字滤波与模拟滤波相比,具有精度和稳定性高,系统函数容易改变,灵活性高,不存在阻抗匹配问题,便于大规模集成,可实现多维滤波等优点。
基于FPGA的CIC滤波器实现

基于FPGA的CIC滤波器实现
朱国军;张浩;张志军
【期刊名称】《电子科技》
【年(卷),期】2006(000)011
【摘要】CIC滤波器已经被证明是在高速抽取和插值系统中非常有效的单元.针对软件无线电中的多速率信号处理,结合二进制补码表示法,介绍了积分梳状滤波器的基本组成原理,以及决定滤波器性能的参数选择.最后给出了基于FPGA的具体实现方法及仿真结果.
【总页数】4页(P19-22)
【作者】朱国军;张浩;张志军
【作者单位】西安电子科技大学,雷达信号处理国家重点实验室,陕西,西安,710071;西安电子科技大学,雷达信号处理国家重点实验室,陕西,西安,710071;西安电子科技大学,雷达信号处理国家重点实验室,陕西,西安,710071
【正文语种】中文
【中图分类】TN7
【相关文献】
1.基于FPGA的CIC滤波器的设计与实现 [J], 徐艳;田克纯
2.CIC滤波器改进及其FPGA实现 [J], 李凯勇
3.基于FPGA的CIC滤波器优化设计与实现 [J], 许彦辉;年夫顺;张超
4.基于FPGA实现高插入CIC滤波器 [J], 凌云志;陈向民
5.基于FPGA的多级CIC滤波器的设计与实现 [J], 王璞;张玉明;田野;张坤;杨军
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入信号 x[n] 输入信号 w[n] 输入信号 y[n]
n
n
n
图 2 4 位运算 CIC 滤波器的阶跃响应
2 多级 CIC 滤波器理论
N 级 CIC 滤波器实现的系统传递函数:
F(z)
=
⎛ ⎜ ⎝
1− z−DM 1− z−1
⎞N ⎟ ⎠
(2)
其中 M 是梳状部分中延迟的数量,D 是向下抽 取因子。为了得到 CIC 滤波器的幅频响应,将 z = eiw 代入上式,但是为了分析方便把 z = eiw 表示成
f1 处的通带衰减 Ap,抽取因子 D,输入采样率 fs, CIC 滤波器级数 N 之间的关系如下:
Ap
=
N i20 log
D sin(πb / D) sin(πb)
(5)
其中 b = f1 iD ,为带宽比例因子。由式(5) fs
可知,虽然多级级联能增大阻带衰减,减小混叠影
响,但是会增大通带内衰减,所以 CIC 滤波器的级
Keywords integrator comb filter; FPGA; two’s complement
在数字信号处理中,随着采样速率的提高,采 样后的数据流速率变得很高,导致后续的信号处理 速度跟不上,有必要对 A/D 后的数据流进行降速处 理。多速率信号处理技术为这种降速处理的实现提 供了理论依据。实现取样速率变换(抽取与内插) 的关键问题是如何实现抽取前或内插后的数字滤 波。无论是抽取还是内插,或者是取样率的分数倍 变换,都需要设计一个满足抽取或内插(抗混叠) 要求的数字滤波器。该滤波器性能的好坏直接影响 取样速率变换的效果及实时处理能力。针对这种情 况,本文中专门讨论了一种非常有效的高分解速率 滤波器——CIC 滤波器。
联数是有限的。
由以上分析可知,多级CIC滤波器的性能由3个
参数N,D,M决定。级数N可以用来控制阻带衰减,
N越大阻带衰减越大,通带内的混叠就越小,但是
由于N级CIC滤波器的带内容差是单级时的N倍,增
大阻带衰减的同时会增大带内容差,所以N不可太
大,一般不超过5级。延迟因子M决定零点位置,M
的增大可以有效的减少通带内的混叠,但是M太大
图3给出一个3级CIC滤波器,该滤波器包括3级
据溢出,必须相应的扩大数据的位数,以减少误差。
如果 Bin 为输入的位数,那么最大内部总位宽:
Bout = Bin + N log 2 (DM )
(7)
其中 N log2 (DM ) 为最大动态范围的增长。为防止
积分器和一个3级梳状部分,抽取因子为D。该滤波 器首先实现3级积分器,然后是抽取器,最后再实 现梳状部分。这种安排在梳状部分节省一个D的延 迟单元。
(4)
从式(4)中可得单级(N=1)CIC 滤波器的旁 瓣电平只比主瓣电平低 13.46dB[1],即阻带衰减很
差,很难满足要求,为了降低旁瓣电平采用多级 CIC
滤波器级联的方法来解决。当 N=5 时,主瓣较旁 瓣衰减 67.3Db[1],这基本能满足实际要求。
在 CIC 滤波器幅频特性中,通带内某一点频率
输入 +
+
+
输出
16
+
+
+
Z −1
Z −1
Z −1
Z −2
Z −2
Z −2
图3 3级CIC滤波器
输入信号 x[n] 输入信号 w[n]
输入信号 y[n]
n (a)
5×106 4×106 3×106 2×106 1×106
0 n
(b)
图4 3级CIC滤波器的仿真
n (c)
电子科技/2006 年 11 月 15 日 21
参考文献
1 杨小牛, 楼才义. 软件无线电原理与应用[M]. 北京: 电子 工业出版社, 2001.
2 宗志毅. 高效窄带 FIR 滤波器的设计与研究[D]. 哈尔滨 工业大学硕士论文, 2003: 25~27.
3 Uwe Meyer-Baese 著. 刘 凌译. 数字信号处理的 FPGA 实 现[M]. 北京: 清华大学出版社, 2002.
电子科技 2006 年第 11 期(总第 206 期)
基于 FPGA 的 CIC 滤波器实现
朱国军,张 浩,张志军
(西安电子科技大学 雷达信号处理国家重点实验室,陕西 西安 710071)
摘 要 CIC滤波器已经被证明是在高速抽取和插值系统中非常有效的单元。针对软件无线电中的多速率信 号处理,结合二进制补码表示法,介绍了积分梳状滤波器的基本组成原理,以及决定滤波器性能的参数选择。最 后给出了基于FPGA的具体实现方法及仿真结果。
w[n] 4 Z −1
+4
y[n]
-
Z −6
图 1 4 位运算的 CIC 滤波器
收稿日期:2006-05-09 作者简介:朱国军(1981—),男,硕士研究生,研究方向: 高频地波雷达接收机的研制。
从图 1 中可以看出该滤波器是递归的,从 CIC 滤波器的脉冲响应看是有限的,也就是说该滤波器 是一个递归 FIR 滤波器,而我们希望的 FIR 滤波器
存器位宽都扩展到 Bout 位。
3 多溢出是不可避免的,但是当
FPGA(Field Programmable Gate Array)是一种
设计CIC滤波器时满足下面两个条件时数据的溢出 门电路可以高达上百万,时钟频率可达几百兆的可
并不会影响滤波的正确性:
基于 FPGA 的 CIC 滤波器实现
图4(a)是幅值为127的阶跃信号经过3级CIC 抽取器的输出,图4(c)是将输出刻度成9位精度的 结果。
在设计与实现过程中,采用 VHDL 语言,运 用 Altera 公司的 Quartus II 进行仿真。设计 CIC 抽 取器时采用一个有限状态机来进行对积分的结果 16 抽取,符号扩展将输入的 8 位扩展成 23 位,两
而用 CIC 滤波器只需要 1 个加法器和一个减法器。
已知一个极点位置的递归滤波器,当输入是一
个极点与递归式滤波器极点直接重合的“本振频
率”信号时,该滤波器具有最大稳定状态的正弦输
出信号。对于 CIC 滤波器是极点为 1 的递归滤波器, 阶跃信号的极点也是 1,所以阶跃信号为 CIC 部分 的本振频率信号,图 2 给出的是图 1 滤波器的阶跃 响应。从图 2 中可以看出积分器 w[n]产生了溢出, 但是输出结果是正确的,这是因为积分部分和梳状 部分都采用了二进制补码算法。采用二进制补码形 式可以实现当输出从高端溢出时,数据返回到低 端,当从低端溢出时,数据返回到高端,相当于对 数据求模(即除后求余)。可以看出当输入阶跃信 号即“本振频率”信号时,y[n]具有最大稳态输出。
19
基于 FPGA 的 CIC 滤波器实现
一般都是非递归的。单级 CIC 滤波器在时域表示为:
M −1
y[n] = ∑ x[n − k] k =0
(1)
其中 M 为梳状部分的延迟,滤波器的响应是一
个定义在 M 个连续采样值上的位移平均值。如果用
非递归 FIR 滤波器来实现图 1 功能需要 5 个加法器,
4 Hogenauer E B. An economical class of digital filters for decimation and Interpolation[J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1981, 29(2): 155~162.
度增益为:
G = ( DM )N
(6)
由于DM的值很大,自然N级CIC滤波器级联的
( DM )N 的值也很大,所以在设计过程中为了防止数
编程逻辑器件。在数字信号处理领域中FPGA技术 得到了广泛应用。
这 里 以 设 计 一 个 8 位 输 入 字 宽 的 3 级 CIC 滤 波 器,M=2,D=16为例,由前面可以知道需要的内部 字宽为23位,正常的输出字宽一般都比23位小,这 里将输出结果字宽定为9位。前面已经提到阶跃信 号是CIC部分的“本振频率信号”,即给CIC滤波器 输入阶跃信号时为系统最坏增益情况,在仿真时我 们输入一个幅值为127的阶跃输入信号。一般情况 下,8位滤波器的宽度对典型应用而言太小了。例 如:美国Harris公司的 HSP43220有5级CIC滤波器, 使用了66位积分器宽度。
会导致通带内主瓣的衰减过大,一般M取1或2。抽
取因子D决定了抽取后信号的采样频率,它同延迟
20 IT Age/ Nov. 15, 2006
基于 FPGA 的 CIC 滤波器实现
因子M一起决定了主瓣和旁瓣的宽度。通常情况下, 数据溢出,设计中应该把积分部分和梳状部分的寄
根据工程要求来确定抽取因子D,然后对通带带宽、 通带衰减和混叠特性进行折衷考虑来确定延迟因 子M和滤波器级数N。
Abstract CIC filter has proven to be a very effective cell in high-speed decimation and interpolation systems. Using the Two’s Complement way, this paper introduces the principles of Cascade Integrator Comb filter, and discusses the choice of the parameters. A detailed implementation based on FPGA and its simulation results are given.
z = eiw = ei2πF / F1 = e = e i2πF(/ DF2) i2πf / D (3)