泉州师范学院毕业论文(设计)题目基于FPGA的数字低通滤波器物理与信息工程学院电子信息科学与技术专业07级学生姓名周志凯学号*********指导教师吴志伟职称讲师完成日期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等格式的文件作为设计输入,并支持这些文件的任意形式混合设计。
它具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。
在适配之后,Quartus II生成供时序仿真用的EDIF、VHDL和Verilog这三种不同格式的网表文件[3]。
它使用便捷,是最易学易用的EDA 软件,并支持主流的第三方EDA工具,支持除APEX20K系列之外所有的Altera公司的FPGA/CPLD大规模逻辑器件[4]。
2.4实验开发系统提供芯片下载电路及EDA实验/开发的外围资源,供硬件验证用。
一般有以下几个:①在实验中或者开发所需要的各种类型的基本信号发生模块;②CPLDFPGA输出信息显示模块,例如发光管的显示、数码的显示还有声响指示;③监控的程序模块,提供电路重构软配置;④目标芯片适配座。
3 FPGA简介FPGA(Field-Programmable Gate Array)是现场可编程门阵列的简称,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。
FPGA的基本特点一般有以下几个方面:①采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片;②FPGA可做其它全定制或半定制ASIC电路的中试样片;③FPGA内部有丰富的触发器和I/O引脚;④FPGA是ASIC电路中设计周期最短、风险最小、开发费用最低的器件之一;⑤FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
一般来说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一[5]。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA 功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
4 MATLAB简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和Simulink 两大部分。
MATLAB 一般可以用来做数值分析、数值和符号计算、控制系统的设计与仿真、工程与科学绘图、财务与金融工程、通讯系统设计与仿真、数字图像处理技术等。
5 数字滤波器的工作原理数字滤波器一般包括无限冲激响应(IIR )系统和有限冲激响应(FIR)系统。
假设输入序列是x(n),离散或者数字滤波器对单位的抽样序列()n δ的响应为h(n)。
()n δ在时域离散信号里面和系统中起的作用是和单位冲激函数在时域连续信号和系统中所起的作用是一样的。
如下图1所示。
数字滤波器的序列y(n)是这两个序列的离散卷积,即()()()k y n h k x n k ∞=∞=-∑两个序列卷积的z 变换等于个自z 变换的乘积,即Y(z)=H(z)X(z)用j T e ω代入上式,T 为抽样周期,可得Y(j T eω)=H(j T e ω)X(j T e ω) 式中X(j T e ω)和Y(j T e ω)分别为数字滤波器输入序列和输出序列的频谱,H(j T eω)是单位抽样序列响应h(n)的频谱。
因此输入序列的频谱X(j T eω)经过滤波后,变为H(j T e ω)X(j T eω),按照X(j T e ω)的特点和处理信号的目的,选取适当的H(j T e ω)使得滤波后的H(j T e ω)X(j T e ω)符合所需要的要求。
6低通滤波器的基本特性数字滤波器的差分方程表示为:10()()()N M k k i k y n b y n i a x n k ===-+-∑∑系统函数为01()()()1M k k K N ik I a z Y z H z X z b z -=-===-∑∑数字滤波器的特性通常用频率响应函数()j H e ω来描述的。
本次设计用的是低通数字滤波器如下图2所示。
图2 低通滤波器的频谱7用MATLTAB 设计低通滤波器当前数字滤波器有很多现成的高级语言设计程序,但是因为运用MATLAB 可以使得数字滤波的研究和应用更直观便捷还有高效率。
它具有融合计算、可视化、程序设计的一个交互式的环境,可以使得我们更直观而且更方便的进行研究和应用。
7.1在MATLAB 中进行仿真设计在利用MATLAB 设计低通滤波器时,通过利用FDAFOOL 工具可以非常方便的设计出数字低通滤波器,设计过程比较简单,编写的程序也不会很长,是很容易设计出来的。
FDAFOOL 是MATLAB 中的一种图形用户工具,可以为设计提供一个综合简便的图形用户界面。
本次设计的低通滤波器的指标为:模拟信号采样频率FS=3.1kHz,通带截止频率Fpass=0.8kHz,阻带截止频率Fstop=1.2kHz ,在图3界面中设置好各项参数,选择FIR 的Equiripple 滤波器,然后点击Design Filter ,就可以得到所设计滤波器的模型。
从图中可以观察其幅度响应、相位响应,也可以观察到脉冲响应、阶跃响应、滤波器的零极点绘制图和系统函数的各个系数等指标。
然后点击Targets 选项中的GenerateHDL,会出现如图4的界面。
将Filter target language设置为Verilog。
点击OK就生成对位的文件,可以用quartusⅡ软件打开以上文件进行编译、综合,最后将其下载到FPGA中即可实现低通滤波器的功能。
图3 FDATool界面图4 Genetate HDL界面7.2运用QuatusⅡ检验滤波效果用quartusⅡ打开设计好的文件如图5所示。
图5 fire原理图各个引脚锁定如图6所示。
图6 各引脚锁定图图5中运用的A/D转换模块是TLC549,D/A转换模块为TLC5615图7 TLC549的引脚图TLC各引脚功能如下【6】:REF+:正基准电压输入端,2.5V≤REF+≤Vcc+0.1。
REF-:负基准电压输入端,-0.1V≤REF-≤2.5V,且要求REF+-REF-≥1V。
ANALOG IN:模拟信号输入端,0≤ANALOG IN≤Vcc,当ANALOG IN≥REF+电压时,转换结果为全“1”(FFH),ANALOG IN≤REF-电压时,转换结果为全“0”(00H)。