1.2 国内外研究现状
1.3 本文的主要工作及结构安排
本文主要学习和研究了采用FPGA和MATLAB实现FIR数字滤波器的设计方法。首先学习了FIR滤波器的理论和结构,在MATLAB中采用fir1函数以及FDATOOL工具分别设计了FIR数字滤波器(低通、高通、带通)。利用MATLAB生成的参数和FPGA自带的IP核,设计并实现所需的各类FIR滤波器。对基于FPGA实现的各类FIR滤波器仿真结果与MATLAB仿真结果进行比较和分析。最后研究了分布式算法,尝试在FPGA内部实现基于LUT的FIR数字滤波器。
本文主要分为五章,章节安排如下:
第1章为绪论部分。主要介绍了课题的背景和研究意义,以及FIR数字滤波器的国内外研究现状。
第2章为FPGA技术简介。主要介绍了FPGA的基本概念和发展历程,根据课题要求重点介绍Xilinx公司FPGA的基本结构以及IP核的概念。最后讲了FPGA的设计流程。
第3章为FIR数字滤波器的设计。主要介绍了FIR数字滤波器的理论,特性,结构形式以及分布式算法原理。
第4章讲的是FIR数字滤波器的MATLAB设计。主要有量化滤波器系数以及采用fir1函数和FDATOOL工具分别设计的方法,并通过输入高斯白噪声信号进行验证,对结果进行记录。
第5章主要介绍FIR数字滤波器的FPGA实现。采用IP核实现,通过Modelsim软件进行仿真并将结果与MATLAB设计结果进行比较分析。最后介绍了分布式原理中查找表的设计。
2 FPGA技术简介
2.1 FPGA的基本概念及发展历程
2.1.1 基本概念
随着数字集成电路的发展,越来越多的数字电路逐渐取代了模拟电路。同时数字集成电路自身也在进行着更新换代。它由早期的晶体管、中小规模集成电路发展到超大规模集成电路(VLSIC)以及具有特定功能的专用集成电路(ASIC)。但是,随着微电子技术的发展,设计与制造集成电路已不完全由半导体厂商来独立完成。电子工程设计师更希望由自己来设计专用集成电路芯片,且ASIC的设计周期尽可能短,最好是在实验室就能设计出合适的ASIC芯片。然后能立即投入实际应用之中。因此出现了可编程逻辑器件(PLD),其中应用最广泛的即为现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)[2]。
现场可编程门阵列FPGA是80年代末开始大规模使用的可编程数字IC器件。它利用了EDA技术进行器件的开发应用。采用标准化结构、集成度高、体积小、速度快、功耗低,可反复无限次编程。因此成为科研产品开发的首选器件,应用非常广泛。
2.1.2 发展历程
早期的可编程逻辑器件是在20世纪70年代初出现。这一时期只有可擦除可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM)和可编程只读存储器(PROM)三种。这类器件结构比较简单,只能完成简单的数字逻辑功能。但是也足以给数字电路设计带来巨大变化。源:自~751·论`文'网·www.751com.cn/
20世纪70年代中期出现了结构稍微复杂的可编程芯片,即可编程逻辑器件。它能够完成各种数字逻辑功能。这一阶段的产品主要有通用阵列逻辑(GAL)、可编程阵列逻辑(PAL)和可编程逻辑阵列(PLA)。其中PLA结构更为灵活。这些早期PLD器件的共同特点是可以实现速度特性较好的逻辑功能。但它们简单的结构使其只能实现规模较小的电路。
20世纪80年代中期,Xilinx和Altera两家公司分别推出了与标准门阵列类似的FPGA和类似于PAL结构的扩展型CPLD。它们都具有逻辑单元和体系结构灵活、集成度高、适用范围宽等特点。这两种器件兼容了PLD和GAL的优点,编程很灵活,可实现较大规模的电路。几乎所有能够应用于PLD、中小规模通用数字集成电路和门阵列的场合均可应用于FPGA和CPLD器件。