发布时间 : 星期日 文章FFT更新完毕开始阅读7febcd3987c24028915fc374

第1章 绪论

1.1 课题的背景及意义

随着数字技术与计算机技术的发展,数字信号处理(Digital Signal Processing,DSP)技术已深入到各个学科领域,其应用又是多种多样,但数字信号处理基本上从两个方面来解决信号的处理问题:一个是时域方法,即数字滤波;另一个是频域方法,即频谱分析。处理的任务大致分为三类:卷积——用于各种滤波器,对给定频率范围的原始信号进行加工(通过或滤出)来提高信噪比;相关——用于信号比较,分析随机信号的功率谱密度;变换——用于分析信号的频率组成,对信号进行识别。其中,离散傅立叶变换(Discrete-time Fourier Transform,DFT)和卷积是信号处理中两个最基本也是最常用的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。由数字信号处理的基本理论可知,卷积可以转化为DFT来实现,实际上其他许多算法,如相关、谱分析等也都可以转化为DFT来实现;此外,各种系统的分析、设计和实现中都会用到DFT的计算问题。所以,DFT在各种数字信号处理中起着核心作用,而DFT的快速算法快速傅立叶变换(Fast Fourier Transform,FFT)就成为了数字信号处理的最基本技术之一,对FFT算法及其实现方式的研究是很有意义的。

目前,FFT广泛应用在频谱分析、匹配滤波、数字通信、图像处理、语音识别、雷达处理、遥感遥测、地质勘探和无线保密通讯等众多领域。在不同应用场合,需要不同性能要求的FFT处理器。在很多应用领域都要求FFT处理器具有高速度、高精度、大容量和实时处理的性能。因此,如何更快速、更灵活地实现FFT变得越来越重要。

此外,数字滤波在图像处理、语音识别和模式识别等数字信号处理中占有重要地位。与模拟滤波器相比,数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器可以保证严格的线性相位。同时由于其实现结构主要是非递归的,因此FIR滤波器可以稳定工作。FIR滤波器被广泛用于各类数字信号处理系统中实现卷积、相关、自适应滤波、正交插值等处理。

随着数字信号处理技术的发展,在消费电子领域要求处理速度更快、功耗更低、集成度更高和产品开发周期更短,因此许多数字信号处理的实现方法被不断提出,其中基于FPGA的数字信号处理实现技术就是其中的重要技术之一。

近几年,随着现场可编程门阵列FPGA技术的迅速发展,采用并行度更大、速度更快的FPGA芯片来实现FFT和FIR数字滤波器己成为必然趋势。FPGA技术的关键就是利用强有力的设计工具来缩短开发周期,提供元器件的优质利用

性,降低设计成本,并能够并行处理数据,容易实现流水线结构,且升级简便,提高设计的灵活性,这些都非常适合实现FFT算法和FIR数字滤波器。

因此,自主研发基于FPGA芯片的FFT和FIR数字滤波器,把FFT和FIR数字滤波器实时性的要求和FPGA芯片设计的灵活性结合起来,实现并行算法与硬件结构的优化配置,提高FFT和FIR数字滤波器处理速度,满足现代信号处理的高速度、高可靠性要求,成为了现今我国数字信号处理的一个研究点。鉴于此种趋势,作者将基于FPGA的FFT和FIR数字滤波器设计与实现作为了研究课题。

1.2 国内外在该方向的分析和研究现状

针对FFT和FIR数字滤波器的硬件实现方案主要有三种途径:DSP处理器、专用集成电路ASIC、可编程逻辑器件,其中可编程逻辑器件以FPGA为代表。

1.2.1 通用数字信号处理芯片

通用数字信号处理芯片即DSP处理器,按照DSP的用途,可分为通用型DSP芯片和专用型DSP芯片。

通用型DSP芯片适合普通的DSP应用,通用DSP芯片具有接口灵活、编程方便、稳定性好、运算精度高等特点,同时也更适应于大规模集成电路如TI公司的一系列DSP芯片属于通用型DSP芯片。

专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片[错误!未找到引用源。

针对一般数字信号处理算法的实现,采用通用可编程硬件处理器技术来实现FFT和FIR数字滤波器。这种实现方法具有软件设计多用性的优点,能够适用于各种需要FFT运算和FIR数字滤波器进行信号处理的应用场合,灵活方便。但是,通用DSP处理器构成的FFT处理器和FIR数字滤波器采用循环编码算法,程序量小,但存在大量的冗余运算,需要许多跳转操作,处理速度较慢,难以满足现代数字信号处理高速、大规模、实时性的要求。在进行大点数FFT计算和FIR数字滤波时,并行算法与DSP处理器的寻址能力不相适应,不能有效利用数据传输的带宽和运算能力,造成硬件资源的浪费。

1.2.2 专用集成电路芯片ASIC

在集成电路界ASIC被认为是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC在一些特殊功能的表现上相当好,这种方案运算速度快,可靠性高,非常适合实时

和对可靠性要求较高的信号处理系统,在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点,但是专用芯片不能重新组态,可编程能力有限,在产品发展过程中,它的功能无法任意修改或改进。因此,任何的线路改版都需要重新设计并且重新制造,这不仅增加开发成本,而且造成产品快速上市的障碍,不太适合处理算法和参数经常改变的场合。

1.2.3 可编程逻辑器件

可编程逻辑器件以其独特的优越性能,一出现就受到大家的青睐。它不仅速度快、集成度高,并且几乎能随心所欲的完成定义的逻辑功能,还可以加密和重新编程,其编程次数可以达到1万次以上。使用可编程逻辑器件可以大大简化硬件系统,降低成本,提高系统的可靠性、灵活性和保密性。因此,可编程逻辑器件是设计数字系统的理想器件。现在已广泛用于计算机硬件、工业控制、智能仪表、通信设备和医疗电子仪器等多个领域。可编程逻辑器件的应用不仅使电子产品性能有了很大改善,而且也使数字系统设计方法发生了根本性变革。

其中,现场可编程门列阵(FPGA)是最近几年发展起来的新型高密度可编程逻辑器件。现场可编程门阵列(FPGA)是20世纪80年代中期由美国Xilinx公司首先推出的大规模可编程逻辑器件。由于FPGA器件采用标准化结构,并且具有体积小、集成度高、功耗低、速度快、可无限次反复编程等特点,已成为开发电子产品的首选器件。

FPGA的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的SRAM或者熔丝图上。使用无SRAM的FPGA,在工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的EPROM或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场编程[错误!未找到引用源。。

世界上第一片FPGA由美国Xilinx公司于1985年发明,因而FPGA技术在国外发展较早,随着FPGA技术的普及,使用FPGA芯片设计正在世界范围内兴起。国内外已积极地开展了基于FPGA的数字信号处理算法应用与研究,并且也取得了长足的进步。

目前在国际上,两大FPGA巨头Xilinx和Altera除了FPGA的生产外还与其第三方合作伙伴致力于IP核的开发。这些IP核中包含了基本的数字信号处理模块,如FFT、FIR等。由于FPGA芯片厂商对自己公司生产的芯片的性能非常了解,因此设计的模块能最大限度的发挥芯片的性能。目前Altera公司提供的FFT模块采用4引擎结构,在实现1024点FFT时所需时间己经降至很低。使用IP核构建数字信号处理系统具有诸多优点,如开发周期短、性能稳定、可靠、

维护方便等。但也存在以下的缺点:IP核价格昂贵(Altera公司的FFT IP核售价为7995美元),且IP核源代码不对外开放,不利于二次开发;IP核针对通用的设计,在某些特殊的应用场合不一定最优因此还难以在我国基层应用领域普及[错误!未找到引用源。。

国内方面,我国的FPGA技术起步较晚,但是进入21世纪后,发展非常迅速。目前不少大学及研究所都使用FPGA芯片设计开发具有自主知识产权的FFT和FIR数字滤波器,但是由于起步较晚,基础薄弱,所设计的FFT和FIR数字滤波器无论是速度,还是可扩展性上都与国外有一定差距。

2002年罗雪苟、詹阳分析了使用FPGA实现FFT的几种方法,对这几种方法的优缺点进行了讨论。

2003年韩颖等采用Xilinx公司的FPGA设计了FFT处理器。采用流水方式对复数数据实现了加窗、FFT、求模平方三种运算,整个设计使用双基2蝶形运算单元,采用流水线方式尽量避免瓶颈的出现,提高了系统时钟频率。

2004年刘国栋等也使用基2算法设计了FFT单元,他使用了ALTERA高性能的Stratix器件对512点、1024点、2048点、4096点和8192点都进行了分析。

2004年鲁欣等也设计了4096点FFT,但是他使用了1024点的FFT IP核进行了扩展设计,如果系统输入时钟为50MHz,计算时间为0.577ms。

2008年刘在爽、卢莹莹对FPGA实现FIR数字滤波器也进行研究,讨论了乘累加和基于CSD(Canonic signed Digital,标准有符号数)编码的数字滤波器的设计[错误!未找到引用源。。

1.3 研究的主要内容和技术要求

1.3.1 课题的主要内容

本文主要针对基—2顺序处理的FFT处理器和FIR数字滤波器的FPGA实现进行了研究,涉及算法选取、处理器结构设计、系统仿真、FPGA实现和系统测试。本论文共5章,各章的具体内容如下:

第1章阐述了硬件实现的国内外现状及选题的意义和论文内容。

第2章主要讨论了FPGA的基本结构和性能特点,以及FPGA技术及硬件描述语言VerilogHDL的相关内容。详细介绍了Altera公司的Cyclone系列产品的主要电路结构。

第3章探讨了FFT算法原理、FFT处理器的硬件实现结构以及FFT在实际应用中的一些问题,并且详细阐述了应用FPGA实现FFT处理器系统的具体设计,包括蝶形运算单元模块设计、地址产生单元模块设计、双口RAM单元模块设计、ROM模块设计、时序控制单元模块设计、旋转因子计算,最后设计出1024点数的FFT处理系统。

第4章探讨了FIR数字滤波器的基本原理,用FPGA实现FIR数字滤波器的几种方案,并且详细阐述了应用FPGA实现FIR数字滤波器系统的具体设计,包括FIR滤波单元模块设计、双口RAM单元模块设计、ROM模块设计、时序控制单元模块设计,最后设计出4阶的FIR数字滤波器系统。

第5章介绍了在Cycclne平台,通过平台载入程序完成对FFT和FIR数字滤波器系统的仿真测试,给出了有关测试结果的具体报告。

最后对整篇论文进行了总结和讨论。

1.3.2 本课题所要达到的技术要求

本课题主要针对基—2顺序处理的FFT处理器和FIR数字滤波器的FPGA实现进行了研究,所要达到的技术指标如下:

第1条利用设计FFT处理器和FIR数字滤波器等数字信号处理方案。 第2条编制FFT、数字滤波器等算法Verilog HDL逻辑。 第3条利用Quartus II工具对系统进行仿真。 第4条分析仿真结果,验证逻辑的正确性