当前位置:文档之家› FPGA_ASIC-一种改进的2D-DCT的FPGA实现

FPGA_ASIC-一种改进的2D-DCT的FPGA实现

FPGA_ASIC-一种改进的2D-DCT的FPGA实现
FPGA_ASIC-一种改进的2D-DCT的FPGA实现

基于FPGA的FIR数字滤波器设计

1、F PGA技术简介 现场可编程门阵列FPGA是80年代末开始使用的大规模可编程数字IC器件,它充分利用EDA技术进行器件的开发与应用。用户借助于计算机不仅能自行设计自己的专用集成电路芯片,还可在计算机上进行功能仿真和时序仿真,及时发现问题,调整电路,改进设计方案。这样,设计者不必动手搭接电路、调试验证,只需短时间内在计算机上操作即可设计出与实际系统相差无几的理想电路。而且,FPGA器件采用标准化结构,体积小、集成度高、功耗低、速度快,可无限次反复编程,因此成为科研产品开发及其小型化的首选器件,其应用极为广泛。 3.1 FPGA工作原理 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。 3.2 FIR滤波器特点 1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。同时,FPGA还存在以下五大优势。 1)性能:利用硬件并行的优势,FPGA打破了顺序执行的模式,在每个时钟周 期内完成更多的处理任务,超越了数字信号处理器(DSP)的运算能力。著名 的分析与基准测试公司BDTI,发布基准表明在某些应用方面,FPGA每美元的 处理能力是DSP解决方案的多倍。2在硬件层面控制输入和输出(I/ O)为满足应用需求提供了更快速的响应时间和专业化的功能。 2)上市时间:尽管上市的限制条件越来越多,FPGA技术仍提供了灵活性和快 速原型的能力。用户可以测试一个想法或概念,并在硬件中完成验证,而无需

【开题报告】基于FPGA的CIC滤波器的设计与仿真

开题报告 电子信息工程 基于FPGA的CIC滤波器的设计与仿真 一、综述本课题国内外研究动态,说明选题的依据和意义 基于多速率信号处理原理,设计了用于下变频的CIC抽取滤波器,由于CIC滤波器结构只用到加法器和延迟器,没有乘法器,很适合用FPGA来实现。滤波器的结构简单, 需要的存储量小, 是被证明在高速抽取和插值系统中非常有效的单元。 随着数字信号处理算法的不断优化,数字信号处理器(Digital Signal Processors, DSPs)性能的不断提高,数字信号处理技术越来越被广泛地应用在各个领域。数字信号处理技术正朝着高速高性能方向发展,因此这对数字信号处理的手段和工具也提出了更高的要求。 随着现场可编程门阵列(Field Programmable Gate Array, FPGA)制造工艺的不断改进,其集成度和性能的不断提高,采用FPGA对数字信号进行处理越来越受到重视。与DSP相比,FPGA有着不可比拟的优势。一方面,与DSP靠程序指针来运行程序相比,FPGA执行算法的本质是靠电路并行执行的,因此在同样的时钟频率下,使用FPGA完成数字信号处理算法要比使用DSP快得多。另一方面,由于FPGA编程灵活,资源可重新配置,使得在实现数字信号处理时更加灵活,成本更低。因此,FPGA性能的不断提高,能够满足未来复杂数字信号高速实时处理的要求。 用FPGA设计滤波器,无非是是设计一些乘累加单元,其滤波器的各种特性即滤波参数可以通过MATLAB仿真获得。所以首先要做的是确定你滤波器的设计要求,在MATLAB中仿真设计出该滤波器,从而导出滤波器系数,才能在FPGA中使用。 CIC滤波器由于其无需乘法器以及结构特殊,在移动电视直放站的数字信号处理中,可以高效地胜任抽取滤波的任务。然而C1C滤波器也有缺陷,一者通带下垂严重,二者信号折叠带衰减不充分,而且此两者难以兼顾。RS修正法和Kaiser—Hamming补偿法联合使用于CIC滤波器的改进技术中,有效地解决了该问题。 在移动通信系统中,软件无线电的概念已显得越来越重要。众所周知SRC滤波部分的一个重点就是抑制潜在的混叠部分,有一种时变CIC滤波器,他同样是通过先A倍内插再B倍抽样来实现采样率的转换。因此,改进的CIC滤波器在软件无线电中有大的重

基于FPGA的滤波器的设计

摘要 自适应滤波器是统计信号处理的一个重要组成部分。在现代滤波处理技术中,自适应滤波器的处理效果尤为突出。在众多滤波器中,特别是在一些对信号处理的实时性要求比较高,体积功耗有严格限制的场合,使用FPGA硬件实现的数字滤波器更为广泛。 本论文从自适应滤波器研究的重要意义入手,介绍了线性自适应滤波器的算法,对几种基于最小均方误差准则或最小平方误差准则的自适应滤波器算法进行研究,就滤波器的基本原理及设计方法做了简单的介绍,最终设计基于FPGA的LMS算法设计复数自适应滤波器,对设计方法进行叙述,并以VHDL语言编写程序进行仿真测试。 关键词:自适应滤波器;FPGA;自适应算法LMS;有限冲激响应滤波器

FPGA-based design of adaptive filter Student:TAN xx Teacher:CHEN xx Abstract:Adaptive filter is a statistical signal processing as an important component. Processing technology in the modern filter, the adaptive filter, particularly in the treatment effect. Among the filters, especially in some of the real-time signal processing requirements of higher power, there are strict restrictions on the size of the occasion, the use of FPGA hardware to achieve a wider range of digital filters. In this paper, adaptive filter from the importance of research to start to introduce the linear adaptive filter algorithm, based on several criteria MMSE or least square error criteria for the study of adaptive filter algorithm, it filters The basic principle and design method of a brief introduction, the final design of FPGA-based design of complex LMS adaptive filter algorithm, the design methods described, and VHDL languages in maxplus simulation test platform. Keywords: adaptive filter;FPGA;LMS adaptive algorithm;finite impulse response filter

FPGA实现FIR抽取滤波器的设计

FPGA实现FIR抽取滤波器的设计FIR(fini te impulse response)滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,系统稳定。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。在工程实践中,往往要求对信号处理要有实时性和灵活性,而已有的一些软件和硬件实现方式则难以同时达到这两方面的要求。随着可编程逻辑器件的发展,使用FPG A来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。 1 FIR滤波器工作原理 在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,使之成为8bit的数字信号,一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。

2 16阶滤波器结构 在滤波过程中实现抽取,对于抽取率为N的抽取滤波器而言,当进来N个数据时滤波器完成1次滤波运算,输出1次滤波结果。抽取滤波器的结果和先滤波后抽取的结果是一致的,只是对于同样的数据,进行滤波运算的次数大大减少。在数字系统中采用拙取滤波器的最大优点是增加了每次滤波的可处理时间,从而达到实现高速输入数据的目的。采样数据与滤波器系数在控制电路的作用下,分别对应相乘并与前一个乘积累加,经过多次(有多少阶就要多少次)反复的乘累加最后输出滤波结果,将相同系数归类,16阶滤波器公式: 乘法器的数量减少一半,但加法器的数量增多了,但相对乘法运算来说,加法运算所占用的资源少的多,运算的速度也快得多。 3 滤波器系数的求取 使用Matlab集成的滤波器设计工具FDAtool,可以完成多种滤波器的数值设计、分析与评估,设计16阶低通滤波器参数如下:

cic滤波器的fpga实现

cic滤波器的FPGA实现 发布时间:2016-01-26 15:07:21 技术类别:CPLD/FPGA 一、关于多采样率数字滤波器 很明显从字面意思上可以理解,多采样率嘛,就是有多个采样率呗。前面所说的FIR,IIR滤波器都是只有一个采样频率,是固定不变的采样率,然而有些情况下需要不同采样频率下的信号,具体例子我也不解释了,我们大学课本上多速率数字信号处理这一章也都举了不少的例子。 按照传统的速率转换理论,我们要实现采样速率的转换,可以这样做,假如有一个有用的正弦波模拟信号,AD采样速率是f1,现在我需要用到的是采样频率是f2的信号,传统做法是将这个经过f1采样后的信号进行DA转换,再将转换后的模拟信号进行以f2采样频率的抽样,得到采样率为f2的数字信号,至此完成采样频率的转换 但是这样的做法不仅麻烦,而且处理不好的话会使信号受到损伤,所以这种思想就被淘汰了,现在我们用到的采样率转换的方法就是抽取与内插的思想。 二、抽取 先来总体来解释一下抽取的含义:前面不是说,一个有用的正弦波模拟信号经采样频率为f1的抽样信号抽样后得到了数字信号,很明显这个数字信号序列是在f1频率下得到的,现在,假如我隔几个点抽取一个信号,比如就是5吧,我隔5个点抽取一个信号,是不是就是相当于我采用了1/5倍f1的采样频率对模拟信号进行采样了?所以,抽取的过程就是降低抽样率的过程,但是我们知道,这是在时域的抽样,时域的抽样等于信号在频域波形的周期延拓,周期就是采样频率,所以,为了避免在频域发生频谱混叠,抽样定理也是我们要考虑的因素 下面来具体来介绍 如上图所示,假如上面就是某一有用信号经采样频率f1抽样得到的频谱,假设这时候的采样频率为8 Khz ,可以通过数格子得到,从0到F1处有8个空格,每个空格代表1Khz,有些朋友可能会问,这不是在数字频域吗,单位不是π吗,哪来的hz?是的,这里是数字频域,采样频率F1处对应的是2π,这里只是为了好解释,我们用模拟频率来对应数字频率。 上面是采样频率为8K的数字信号频域图,现在我要对这个数字信号进行时域抽取,从而来降低信号的采样率,我们知道,一旦我们对数字信号进行时域抽取,那么采样率下降,而采样率就是数字信号频域的波形周期,那么也就是周期下降,所以,我们对信号进行抽取要有个度,要在满足抽样定理的条件下对信号进行抽取,否则就会发生频谱混叠。

基于FPGA的数字滤波器的设计

基于FPGA的数字滤波器的设计Graduation Design(Thesis) of Chongqing University Design of Digital Filter Based on FPGA Undergraduate: Huang Jianhua Supervisor: Yang Lisheng Major:ElectronicInformation Engineering

College of Communication Engineering Chongqing University June 2013

摘要 数字信号处理在通信、雷达、声纳等中有着广泛的应用。数字滤波器的设计是数字信号处理的关键技术之一,有着十分重要的理论和实际意义。随着数字技术的不断发展,在许多场合,数字滤波器正在快速取代模拟滤波器。FPGA(现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。从设计简单的接口电路到设计复杂的状态机,FPGA所扮演的角色已经不容忽视。 本论文完成了基于FPGA的FIR和IIR数字滤波器的设计与实现。本论文首先理论分析讨论了数字滤波器的设计方法,并使用MATLAB工具验证采用哪种窗函数来设计FIR数字滤波器,使用哪种模拟滤波器原型映射IIR数字滤波器。然后根据模拟滤波器的技术指标来确定数字滤波器的技术指标,在MATLAB环境下按照数字滤波器的技术指标设计数字滤波器,并得到滤波器系数,编程实现系数量化,并且比较分析量化前后系统响应的差异,由此得到合适的量化等级。然后在ISE软件平台下根据MATLAB工具得到的量化系数,使用VHDL语言进行FIR和IIR滤波器算法模块编程,同时对AMP电路(可编程预放大器)模块、AD电路(模拟到数字转换器)模块和DA电路(数字到模拟转换器)模块分别进行编程配置,并且对各模块进行严格的软件仿真验证,其中AMP电路模块、AD电路模块和DA电路模块必须进行硬件验证。最后将所有软件和硬件验证无误的模块整合,下载到FPGA硬件中,进行功能验证。验证结果符合设计要求。 关键词:FIR滤波器,IIR滤波器,MATLAB,FPGA,VHDL

基于FPGA的FIR滤波器设计与实现

目录 引言 (4) 第一章FPGA的设计流程 (5) 1.1 FPGA概述 (5) 1.2 FPGA设计流程 (9) 1.3硬件描述语言HDL(Hardware Description Language) (10) 1.4 FPGA开发工具Quartus Ⅱ软件设计流程 (13) 第二章有限冲激响应(FIR)滤波器的原理及设计 (16) 2.1数字信号处理基础原理 (16) 2.2 FIR滤波器背影知识 (19) 2.3 FIR数字滤波器原理 (21) 2.4 利用窗函数法设计FIR滤波器 (26) 第三章FIR 数字滤波器的FPGA实现 (31) 3.1串行FIR滤波器原理 (31) 3.2分布式算法基础 (32) 3.3直接型FIR滤波器的原理结构图 (34) 3.4具有转置结构的FIR滤波器 (36) 第四章结论与总结 (40) 谢辞 (42) 参考文献 (43)

摘要:本论文课题是《基于FPGA的FIR滤波器设计与实现》。数字滤波器是语音与图象处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和线性相位的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。因此在许多应用领域都显示了强大的生命力,具有重要应用意义。本文介绍了用VHDL实现线性相位FIR(有限长单位冲激响应)滤波器。提出了一种基于FPGA的FIR滤波器设计方案。介绍了基于FPGA的FIR滤波器的数字信号处理的算法设计,采用直接型和转置型的基本结构来设计,其运算效率明显提高,并结合先进的EDA软件进行高效的设计和实现,并给出了用Quartus Ⅱ运行的仿真结果。该设计对FPGA硬件资源的利用高效合理,用VHDL编程,在PFGA中实现了高采样率的FIR滤波器。关键字:FIR滤波器;FPGA;VHDL;MATLAB;Quartus Ⅱ

FPGA的CIC滤波器的设计要点

基于FPGA的CIC数字滤波器的设计 摘要:级联积分梳状(Cascade Integrator Comb,CIC)滤波器是数字系统中实现大采样率变化的多速率滤波器,已经证明是在高速抽取和插值系统中非常有效的单元,在数字下变频(DDC)和数字上变频(DUC)系统中有广泛的应用。它不包含乘法器,只是由加法器,减法器和寄存器组成,而且需要的加法器的数目也减少了许多,因此CIC滤波器比FIR和IIR滤波器更节省资源,并且实现简单而高速。本文主要讨论了CIC滤波器的基本原理和基于FPGA的仿真实现方法,具体是采用Verilog HDL语言编程,将滤波器分为积分器模块和梳状器模块2个部分,对每个模块进行具体的功能分析和设计实现,最后通过Modelsim 仿真对滤波器的性能进行分析,验证了设计的正确性。 关键词:CIC滤波器;抽取;FPGA;Verilog HDL the Design of Cascade Integrator Comb Filter Based on FPGA Abstract: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 HDL 1. 引言: 数字滤波是数字信号分析中最重要的组成部分之一,数字滤波与模拟滤波相比,具

FIR带通滤波器的FPGA实现

FIR带通滤波器的FPGA实现 时间:2009-11-11 09:14:40 来源:现代电子技术作者:石兴华,吴光敏引言 在FPGA应用中,比较广泛而基础的就是数字滤波器。根据其单位冲激响应函数的时域特性可分为无限冲击响应(Infinite Impulse Response,IIR)滤波器和有限冲击响应(Finite Impulse Response,FIR)滤波器。DSP Builder集成了Altera和Matlab/Simulink基于FPGA的信号处理的建模和设计。该工具可以将数字信号处理算法(DSP)系统表示成为一个高度抽象的模块,在不降低硬件性能的前提下,自动将系统映射为一个基于FPGA的硬件设计方案。即支持设计者在Matlab中完成算法设计,在Simulink软件中完成系统集成,然后通过SignalCompiler(模块名)生成在QuartusⅡ软件中可以使用的硬件描述语言,最终实现硬件系统的设计。FIR滤波器是DSPBuilder应用中最为常用的模块之一,在此基于上述基础,设计实现了基于模块的FIR数字带通滤波器。 1 基于DSP Builder的滤波系统设计 1.1 FIR滤波器原理 有限冲激响应(Finite Impulse Response,FIR)滤波器是由有限个采样值组成,实现的方式是非递归、稳定的,在满足幅频响应要求的同时,可以获得严格的线性相位特性,因此在高保真的信号处理等领域得到广泛应用。 对于一个FIR滤波器系统,它的冲击相应总是有限长的,其系统函数可记为: 最基本的FIR滤波器可表示为: 式中:z(n)是输入采样序列;h(n)是滤波器系数;L是滤波器阶数;y(n)表示滤波器输出序列,为x(n)和h(n)的卷积。FIR滤波器基本结构如图1所示。 对于一个4阶滤波器子系统其输出可表示为: 可见在这个子系统中共需要4个延时器,4个乘法单元和一个4输入的加法器,并可以根据实际需要选择调用子系统构成多阶滤波器。 1.2 滤波的总体要求及实现

基于FPGA的数字滤波器

学士学位论文论文题目: 基于FPGA的数字滤波器设计 院 (部)名称:电气信息工程学院 学生姓名: 专业:测控技术与仪器学号: 指导教师姓名:

摘要 本论文设计了一个基于FPGA(现场可编程逻辑门阵列)FIR(有限脉冲响应)31阶低通滤波器,通带截止频率为0.1MHz,通带波纹最大1dB,阻带最小衰减-50dB,数据的输入输出宽度为8位,采样频率5MHz。 滤波器分为模拟滤波器和数字滤波器,在信号系统邻域中,一般除了A/D 转换前期的滤波和D/A转换后的滤波使用模拟滤波器,基本上其他的滤波一般优先考虑数字滤波器。数字滤波器与模拟滤波器相比有许多的优点:频域易控制,性能指标好;容易实现线性相位的系统,而且稳定,基本上不受外界影响;可重用性和灵活性比较高,只需编程就可以修改其特性,设计周期短。 数字滤波是推动数字信号处理与相关芯片快速发展的一个要素。本论文的FPGA芯片选用Altera公司Cyclone2系列的EP2C8Q208C8N芯片,模数转换使用ADC9280,数模转换使用DAC9708,来实现数字滤波器,FPGA与ASIC、DSP相比,具有明显的优势,在功耗,体积,成本都优于ASIC、DSP,并且处理效率高,可编程性好,并行处理能力非常强,能完成DSP很难完成的许多功能。 本论文首先简单的介绍数字滤波器、FIR滤波器、FIR的窗口函数选择以及FPGA分布式算法的实现,并对系统硬件各功能模块进行了说明;然后根据系统总体设计的要求指标,使用MATLAB来设计确定系数,因为FPGA不能表示浮点数,所以对系数进行了量化,使用verilog HDL硬件语言编程,Modelsim进行功能仿真;最后使用实物来验证结果,并达到预期的目的。 关键词:FPGA,FIR滤波器,MATLAB,分布式算法

CIC插值滤波器的FPGA设计与实现

CIC插值滤波器的FPGA设计与实现 摘要:基于多速率信号处理原理,设计了用于下变频的CIC插值滤波器,由于CIC 滤波器结构只用到加法器和延迟器,没有乘法器,很适合用FPGA来实现,所以本文分析了CIC滤波器的原理,性能及影响参数,借助MATLAB设计符合系统要求CIC 滤波器,并利用Modelsim软件建模仿真,验证CIC滤波器性能是否达到要求。(一)CIC滤波器基本原理 A.CIC滤波器的基本单元 CIC滤波器主要由积分滤波Integrator和梳状滤波Comb两个基本单元部分构成。 典型的CIC滤波器的结构,它由两个基本单元I(积分滤波器)和C(梳状滤波器)级联构成。本设计主要针对插值滤波器,所以插值滤波器的结构示意图如图1-1所示: 图 1-1 3级级联的CIC插值滤波器结构示意图 积分器和梳状滤波器之间是一个采样率转换器,对于CIC插值器而言,它完成在每一个样值后补上R-1个0值的工作,,对于CIC抽取器来说,它完成在实际的抽取工作,每R个样值中取样一个。 R(插值倍数),M(延迟因子,一般取1或者2)以及N(级联级数)是影响CIC 滤波器的三个参数,它们的值需根据通带性能的需求而设定。 (二)CIC插值滤波器的设计流程 根据CIC滤波器的原理,本设计的流程如图2-1所示:

图2-1 CIC 插值滤波器的设计流程图 (三)模型的建立和测试 A .位宽策略 对于数字滤波器,一个不得不考虑的问题是为防止溢出每一级所需的位宽。对于抽取器来说,CIC 滤波器的输出增益为 (*)N G R M = (3-1) 所以,在全精度的情况下,最后一级输出的位宽为 2log (*)out in B B N R M =+ (3-2) 其中in B 表示输入数据的宽度,为了保证精度,每一个积分器和梳状滤波器的输入输出位宽都为out B 。 对于插值器而言,输出增益为 212,1,2,....2(*)/,1, 2......2i i N i N i N G R M R i N N N --?? == ? ? =++?? (3-3) 因此,第i 级为避免溢出所需要的位宽为 2log ()i in i W B G =+ (3-4) 最后一级输出位宽为 22log (*)log out in B B N R M R =+- (3-5) 在实际当中,当差分延时M=1时,为保证稳定,所有积分器的位宽在理论值的基础上加一。 max B 不仅是滤波器输出的最大可能的位数,也是每一级滤波器的最大可能位

基于FPGA的FIR滤波器设计

长春理工大学毕业设计 摘要 在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用, 随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR 滤波器。 本论文对基于FPGA的FIR数字滤波器实现进行了研究,以FIR数字滤波器的基本理论为依据,并且采用查找表以及线性FIR波器的对称性特点使得硬件规模极大的减小。为了验证仿真结果的正确性,文中应用了MATLAB和VHDL联合仿真方法对设计的电路进行仿真测试,结果达到设计指标。并用MATLAB对仿真结果进行了分析,证明了所设计的FIR数字滤波器功能正确。 关键词: 有限脉冲响应现场可编程门阵列查找表窗函数仿真 ABSTRACT In the modern electrical system, the FIR digital filter is used for many practical applications for its good linear phase character, Along with the development of PLD device and EDA technology, more and more electrical engineers use FPGA to implement FlR filter, as it not only meet the real-time requirement, but also has some flexibility. In this paper, a method to implement the FIR filter using FPGA is proposed. According to the basic theory of FIR filters, the thesis reduces it with the use of multiple coefficient memory banks and the symmetry characteristic of linear FIR filter. In order to make the verification more available, the complex simulation with Matlab and VHDL is used to testify the design whether fulfills the requirement. And also the result of the simulation is analyzed with the use of MATLAB, and it proved that the function of the design is correct. KEYWORDS: FIR FPGA Windows Function Simulation

基于FPGA的数字低通滤波器

泉州师范学院 毕业论文(设计) 题目基于FPGA的数字低通滤波器 物理与信息工程学院电子信息科学与技术专业07级学生姓名周志凯学号070303025 指导教师吴志伟职称讲师 完成日期2011年4月 教务处制

基于FPGA的数字低通滤波器 物理信息工程学院电子信息科学与技术专业 070303025 周志凯 指导老师:吴志伟讲师 【摘要】:低通滤波器是让某一频率以下的信号分量通过,而对该频率以上的信号分量大大抑制的电容、电感与电阻等器件的组合装置。数字滤波器能够满足对于相位特性跟幅度的严格要求,能够改善模拟滤波器无法解决的电压和温度漂移还有噪声等问题。利用FPGA,在QUARTUSⅡ平台上使用VHDL银剑描述语言改变滤波器的系数和阶数,通过结合MATLAB工具软件的辅助设计,使低通滤波器具有快速、灵活硬件资源损耗少。 【关键词】:FPGA;MATLAB;数字滤波器;QUARTUSⅡ

目录 1引言 (4) 2 EDA技术的主要内容 (4) 2.1大规模可编程器件 (4) 2.2硬件描述语言 (4) 2.3软件开发工具 (4) 2.4实验开发系统 (5) 3 FPGA简介 (5) 4 MATLAB简介 (5) 5 数字滤波器的工作原理 (6) 6低通滤波器的基本特性 (6) 7用MATLTAB设计低通滤波器 (7) 7.1在MATLAB中进行仿真设计 (7) 7.2运用QuatusⅡ检验滤波效果 (9) 7.3结果记录 (12) 8结束语 (12) 致谢 (13) 参考文献: (13) 附录: (15)

1引言 随着现在科学技术的高速发展,高精度集成电路的使用,生产力有了大幅度的发展,快捷的EDA工具,使用集成化设计环境,需要更快的速度来开发出质量一流性能优良的电子产品,这对于EDA技术有了更高的要求了。未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷电路板设计及开发操作平台等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展[1]。 本次设计的基于FPGA的数字低通滤波器是围绕EP2C8Q208C8芯片添加输入和输出电路而成的。用户通过QuartusⅡ进行编程、仿真、下载到芯片实现相应的功能,简单方便,具有很高的实用价值。 2 EDA技术的主要内容 EDA (Electronic Design Automation)是指利用计算机完成电子系统的设计,以计算机和微电子技术为先导,汇集了计算机图形学、逻辑学、微电子工艺和结构学以及计算数学等多种计算机应用学科最新成果的先进技术。 EDA技术一般包括以下四个方面:1.大规模可编程逻辑器件;2硬件描述语言;3软件开发工具;4实验开发系统。 2.1大规模可编程器件 可编程逻辑器件(PLD)是一种由用户变成以实现某种逻辑功能的新型逻辑器件。FPGA 和CPLD器件的应用广泛,随着EDA技术的发展成为电子设计领域的重要角色。FPGA包括可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分;而CPLD则包括可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。他们的最明显特点是高集成度、高速度和高可靠性[2]。 2.2硬件描述语言 VHDL:在电子科技工程领域里,作为IEEE的工业标准硬件描述语言,已成为通用的硬件描述语言。 Verilog:比较使用RTL级和门电路级的描述,综合过程比VHDL简单一点,在高级描述语言方面没有VHDL好。 2.3软件开发工具 当前比较流行的EDA软件工具有Altera公司的quartusⅡ、Lattice 公司的ispexpert、Xilinx公司的foundation Series。本次设计所用的软件是quartusⅡ。 Quartus II:支持原理图、VHDL和Verilog 语言文本文件以及波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意形式混合设计。它具有门级仿真器,可以进行功能

FIR滤波器的FPGA实现方法

FIR滤波器的FPGA实现方法 关键字::FIR FFT FPGA 关键字 在数字信号处理系统中,有限脉冲响应(finite impulse response,FIR)数字滤波器是一个非常重要的基本单元。近年来,由于FPGA具有高速度、高集成度和高可靠性的特点而得到快速发展。随着现代数字通信系统对于高精度、高处理速度的需求,越来越多的研究转向采用FPGA来实现FIR滤波器。而对于FIR滤波器要充分考虑其资源与运行速度的合理优化,各种不同的FIR滤波结构各具优缺点,在了解各种结构优缺点后才能更好地选择合适结构来实现FIR滤波。 1FIR数字滤波器 FIR数字滤波器由有限个采样值组成,设计中在满足幅值特性时,还能保证精确、严格的相位特性,因此在信号处理等领域得到广泛的应用。 对于FIR滤波器,其输出y(n)表示为如下形式: 式中:N为滤波器的阶数(或抽头数);x(i)表示第i时刻的输入样本;h(i)为FIR滤波器的第i级抽头系数。 由于FIR滤波器的冲击响应为一个有限序列,其系统函数可表示为: FIR滤波器的基本结构如图1所示。FIR滤波器只在原点处存在极点,所以这使得FIR 滤波器具有全局稳定性。同时FIR滤波器满足线性相位条件,其冲击响应序列为实数且满足奇对称或偶对称条件,即: 2实现方法 运用FPGA来实现FIR数字滤波器的结构多种多样,但是主要有以下几类:串行结构、并行结构、转置型结构、基于FFT算法结构、分布式结构。其他类型的FIR滤波器结构都可以由以上几种结构衍生而来。 2.1串行结构

由表达式(1)可知,FIR滤波器实质是做一个乘累加运算,其滤波器的阶数决定了一次乘累加的次数,其串行结构如图2所示。 串行结构的FIR滤波器结构简单,硬件资源占用少,只需要复用1个乘法器和1个加法器,所以成本较低。但是,这种结构的FIR滤波器要经过多个时钟周期才有输出,同时,内部时钟周期还受到乘法器运算速度的影响,所以该结构的FIR滤波器处理速度慢,只适用于滤波阶数较低且处理速度要求低的系统。 2.2并行结构 将串行结构的FIR滤波器展开就可以得到并行结构的FIR滤波器,并行FIR滤波器结构又称作直接型FIR滤波器结构,这种结构是直接根据图1的滤波器结构,用多个乘法器和加法器并行实现。通常考虑到其滤波器系数的对称性,先对输入值进行加法运算,再进行乘法运算,最后累加输出,以此来减少乘法器的个数,其结构如图3所示。 并行结构的FIR滤波器在1个周期内可以完成1次滤波,运行速度快,虽然利用滤波系数对称性,但仍要占用大量的乘法器和加法器,特别对于滤波阶数高的滤波器,其资源占用较多,如对于256阶的滤波器,其需要128个乘法器来实现。为提高滤波器速度,常引入流水线结构,即在每次加法或者乘法运算后加入1个寄存器存储数据,使得滤波器可以运行在更高的频率上。 2.3转置型结构 根据转置定理,如果将网络中所有的支路方向倒转,并将输入x(n)和输出y(n)相互交换,则其系统函数H(z)不变。通过转置定理,将并行结构的FIR滤波器变换就可以得到转置型FIR滤波器,其结构如图4所示。

基于FPGA的数字滤波器的设计与实现

文章编号:1002-8684(2008)05-0023-03 基于FPGA的数字滤波器的设计与实现 陆宇鹏,邱宏安,田多华,邵立群 (西北工业大学航海学院,陕西西安710072) 【摘要】提出了一种基于FPGA的FIR线性相位滤波器设计方案,充分利用FPGA四输入查找表LUT结构构成向量乘法器,给出了对应的VHDL源程序及仿真结果,并讨论了设计误差原因及改进措施。与普通滤波器相比,基于查找表的FIR滤波器具有速度快、占用资源少的特点。采用流水线技术对加法运算进行处理,速度进一步提高。 【关键词】FPGA;FIR滤波器;VHDL;四输入查找表 【中图分类号】TN713【文献标识码】A DesignofFIRFilterBasedonFPGA LUYu-peng,QIUHong-an,TIANDuo-hua,SHAOLi-qun (CollegeofMarine,NorthwestPolytechnicalUniversity,Xi′an710072,China)【Abstract】ThedesignschemeofFIRlinearityphasicdigitalfilterbasedonFPGAisintroduced.TheFPGAfourimportLUTconfigurationisusedtomakeupofvectormultiplication,andtheVHDLsourceprogramandsimulatingresultsaregiven.Thedesignerrorcauseandimprovingmeasurearediscussed.Comparedwithcommonfilter,thefilterbasedLUThastheadvantagesofquickspeedandlessresource.Theproductionlinetechnologyisemployedtocarryouttreatmentonadditionarithmetic,andtoimprovespeed. 【Keywords】FPGA;FIRfilter;VHDL;LUT ?实用设计? 1指标的确定和滤波器系数的提取根据工程实际需要,选定FIR的性能指标如下:采样频率f s =1000Hz;截止频率fc=100Hz;类型:低通;阶数:16阶;8bit输入和输出数据宽度。 FIR滤波器的系数可用窗函数的方法来获得,窗函数法的基本思想是使其具有最窄主瓣宽度和尽可能小的旁瓣[1]。笔者选择利用矩形窗进行设计,因为在编制LUT表的过程中运算量较小。若不选择矩形窗而选择其他窗函数进行设计也是可行的,因为ROM的容量很大,在编制查找表时,常常只用到它的一小部分空间,只是在编制查找表时计算量会变得很大。 2系数的量化 Matlab模拟得到的脉冲成形滤波器的系数都是浮点数,转换成定点系数需要进行量化。理论上使量化误差最小的定点系数在数轴上是均匀分布的,而CSD编码的系数在数轴上是非均匀分布的。存在空隙,即使无限增加字长也不能减小这个空隙,要减小这个空隙只有增加非零位个数。而非零位个数L非常重要,直接关系到硬件规模,L每加1,每个抽头就需要增加一个加法运算。 h(n)是通过窗函数求得的,在实际编写查找表时,由于数据全部采用二进制的补码形式,因此若不改变表中h(n)的形式直接编制,则得到的结果会因为个别数据产生溢出而发生错误,如当有2个同符号数相加时就可能产生溢出,溢出现象是由于得到运算结果超出了8bit补码所能表示的数据范围。 为了防止这种情况的产生,笔者采用了将h(n)数据右移一位,并增加一位符号位的方法。此种方法在保持数据位数不变的前提下,是通过牺牲数据精度来得出正确结果的。 3FIR滤波器的算法分解及查找表的实现原理 基于FPGA进行FIR滤波器设计,主要是通过乘法器、加法器和移位寄存器来实现,其核心是乘累加功能[2]。查找表的方式是将乘法器用查找表来代替,由此来提高运算速度,减少资源占用,如图1所示,以8bit输入为例,说明如何使用查找表来实现乘累加运算的。以一个2bit正整数的例子加以说明。

32阶FIR滤波器的FPGA实现

32阶FIR滤波器的FPGA实现 随着软件无线电的发展。对于滤波器的处理速度要求越来越高。传统的FIR滤波器一般采用通用DSP处理器,但是DSP处理器采用的是串行运算,而FPGA是现场可编程阵列,可以实现专用集成电路,另外还可以采用纯并行结构及考虑流水线结构,因此在处理速度上可以明显高于DSP处理器。本文采用并行分布式算法在FPGA上设计并实现了高速处理的32阶FIR 低通滤波器,在此过程中利用Matlab的数值计算与分析功能来提高设计效率。 1 FlR低通滤波器的窗函数实现 理想的滤波器频率响应中傅里叶反变换ha(n)一定是无限长的序列,而且是非因果的,而实际要设计的滤波器h(n)是有限长的,因此要用有限长来逼近无限长的,其方法就是用一个有限长度的窗口函数序列ω(n)来截取,即:常见的窗函数有矩形窗、巴特利特窗、汉宁窗、哈明窗、布莱克曼窗、凯泽窗。其中,凯泽窗提供了可变的过渡带宽。本文采用凯泽窗对FIR滤波器进行设计,其窗函数表达式为: I0[·]为第一类变形零阶贝赛尔函数,形状参数β为依赖于滤波器阶数M的参数,用来调整主瓣宽度与旁瓣衰减,选择M可产生各种过渡带宽和接近最优的阻带衰减。给定通带截止频率ωp,阻带起始频率ωs,阻带衰减As,凯泽窗设计中有经典公式可供使用,如下:过渡带宽:滤波器阶数:形状参数:假设低通数字滤波器设计指标如下: 采用上面介绍的凯泽窗,利用Matlab编程计算得到32阶FIR低通滤波器参数如下: 32阶FIR低通滤波器幅频特性图。 上述求得的系数是浮点型的,而在FPGA设计中使用的数据是定点型的,所以在设计滤波器之前要将系数转化为定点型,即系数的量化。在本文中采用数字信号处理(DSP)技术中的Q 值法对系数进行量化。为了兼顾精度和所占用的资源,本文的系数用12位二进制来量化,得到的整数系数结果如下: 2 并行分布式算法原理及FPGA设计 32阶FIR滤波器的差分方程表达式为: 式中:x(n)为输入;y(n)为输出;h(n)为滤波器系数。设x(n)用二进制可表示为: 其中,最高位为符号位。则式(7)可写为: 式(10)为并行分布式算法,由上可以看出并行分布式算法是将滤波器表达式重新排列,分别加权求和。与传统算法最大的不同之处是在FPGA设计过程中以查找表代替乘法器,即根据输入数据的不同,将对应的滤波器系数预先求和保存在ROM中,也就是将每一项的乘法求和通过并行结构查表寻值完成,提高运行速度。具体FPGA实现时,首先将12位的输人数据并行输入到12列32位移位寄存器分别寄存,然后以寄存器中的值为地址,对应于查找表的结果,按照式(10),每列进行相应二次幂加权,最后各列累加,在第32个数据完全输入之后得到正确的滤波器输出。由于输入数据的延迟,在此之前滤波器输出会延迟或者产生不正确的结果,可以在实现过程中加入控制信号进行输出控制。由于查找表的规模是随着地址的增加呈指数增加的,可以将32位的查找表划分为四个8位的查找表,从而降低对ROM的需求。在本设计中可采用多级流水线技术,也就是将在明显制约系统速度的长路径上插入几级寄存器,虽然流水线会影响器件资源的使用量,但它降低了寄存器间的传播时延,允许

相关主题
文本预览
相关文档 最新文档