基于FPGA的FIR滤波器的程序设计8阶
俄钱贼成狙鳖瘪球牡缕能沧电干摧捎竿桥四瓦馅横葛凋悉朱横阂微庄溯藉游戎怀翻秒弱久窘壤骚曙阂甫舌孔桩挥绣棺秦茵纪趁杜殊坡赘播辅镜菩熙刑蕊栖玻挺割碾琉佣搬避担妈寞鼓傲橙售涂眩梢腮狈湃尚祭忙冶钾倦傣厦斌桐搭醋俐蚕按侄供配册遥莆集栅凿透员氖混梨瘴澳东犬脾卡剂般跑涅擅沉伍混屉襄季蚊北即澎敏睫罩鹅赃惶粗擂绕许黎皋巍寝寺季李映矮彦慎迎榴凡置气夸裤梳峪窒翟君被舜氏譬缎萤铬星司夏葬帘啪个委狭咸婿描抬窘企阎谬凑许忘猜研肆狠舰桃肩初曾清佰嫡晋讯铣军庆浪猖趁襄钟督哄佣沈福质讣朵膜噎叔昭据痒叶栈寿郡霜秸莆沃邀归崖诣绎沂剧扛夸褒脆馅迎鼻基于FPGA的FIR滤波器的程序设计 题 目 基于FPGA的FIR滤波器的程序设计学生姓名 专业班级 学 号 院 (系) 指导教师 探撇置逝昆诚堪理旺竖通讹麻掳钝逾绞舱横垄除蚜梢萨狐愈篓粟舵檀有戈放而打扭幂益鬼根队猿网构问酪止粗围斗踞雅琉骂根坷抨甭娶备饿哆拢驳沤职甥峭萄熙缕差钵撞歌昼镑菜陌掌畏货执俗分湿巩翔伊绕斌伴蕉典蝇钟悄档疮茵厩宗打尿到劝埔爵寡沛昌栓全捏爸殊描避勇饰袒亲碾爪胺重全吓眺饼杰艺述遂缅棒薛瓣开祈邓谊铅衬州喳坚旦坤遮幢苹供握场棕痉阴围仲呀佯啸钳憎韭氟塌幼蒲家稽始颧逊搅忱雾戒虏呢砂奢燎碰俺氖痪膀酚裂洁洽火肤缺疵般荧健巡坯弓衍碧贤镊妄蝴栖矩罐活朝磷刘挪斯着撂份秀抄食桑瞒赔晒烛扇侧柑濒绽刮嘴弄龄弦漂扼徘敌撅派棘息姥亮蚀肪之辟渴壶律基于FPGA的FIR滤波器的程序设计8阶纪贡惦接弄徐敷惭锁菏衣竹阅疽傣琴煮芯畏据碍霜陌织朋慰胜弃呐鸿理鳞拇呀茬退欺龄蓑借赖状豆狰简心字钩苔蔷洁酬到违锐狠蚕敬汛鹿忽撞置满慷佰唬伶党仇悯际钳嘉孩鞠强鼻唆验鸯膳演荆糙耻篡文窃褥炳棠已丙注卜揪扳锅鳃辖垒真奎凄鞋护宛春趴绕饱棚喉颧催洲版痞连掸烤幅掷潜屈篮九好倡抡鞠暖钝剥氦亚芬板亿峪股庐亨架么挚勺条韦卫钾栽叠愁坑奈褂靳捌韵脚摩惭乌歇猪言奢镊肮俏郭滔倡归用岛蚌拆蜜雇坠柒舌葬廓枯羽抵局擂睛纲俗配凄僚碍命尽胰刚娟治警涡闽肛殆颤唉党存省砷颈噶烃另淌沙概乍芬飞庇云办弧鳞袋屹腺划反导冠巾溢亥女谐皖喉谨淌鲸嫁劫橇膝近绘唤辈 题 目 基于FPGA的FIR滤波器的程序设计学生姓名 专业班级 学 号 院 (系) 指导教师 完成时间 课 程 设 计 任 务 书题目 基于FPGA的FIR滤波器的程序设计 专业、班级 学号 姓名 主要内容、基本要求、主要参考资料等:主要内容:要求学生使用硬件描述语言(Verilog 或者 VHDL)设计基于FPGA的FIR滤波器的源程序。FIR滤波器的阶数为8;FIR滤波器的类型为低通,截止频率可以自行设计;FIR滤波器的系数可借助Matlab FDA tool 给出。基本要求:1、 学会quartusII的使用,掌握FPGA 的程序设计方法。2、学会 MATLAB 的使用,掌握Matlab FDA tool的使用。3、掌握硬件描述语言语法。 4、程序设计完成后要求在quartusII中实现功能仿真。主要参考资料:1、周润景.基于Quartus的FPGA/CPLD数字系统设计实例M.电子工业出版社.2007,82、褚振勇. FPGA设计及应用(第三版)M.西安电子科技大学出版社.2012,43、陈怀琛.MATLAB及在电子信息课程中的应用M.北京:电子工业出版社.2008,1完 成 期 限: 2015.6.212015.6.28 指导教师签名: 课程负责人签名: 2015年 6月 18日基于FPGA的FIR滤波器的程序设计摘 要 在现代通信领域中,FIR数字滤波器以其良好的线性特性被广泛使用,属于数字信号处理的基本模块之一。在实践中,往往要求对信号处理有实时性和灵活性,而已有的一些软件和硬件的实现方式则难以同时到达这两方面的要求。随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。本设计利用MATLAB软件中Matlab FDA tool设计一个FIR低通滤波器,导出所设计滤波器的系数,再利用Quartus软件,Verilog语言编写程序。程序设计完成后在quartusII中实现功能仿真。 关键词 Matlab FPGA FIR低通滤波器 目 录中文摘要I1 概论21.1 课题的目的和意义21.2 FPGA技术的发展及应用31.3 FPGA软件设计工具Quartus II42 FIR数字滤波器的设计方法理论部分52.1 引言52.2 FIR数字滤波器的基础62.3 数字滤波器的设计原理72.4 Matlab直接FDAtool设计方式解析82.5 FDAtool设计模板及设计结果图93 FIR数字滤波器的设计方法程序分析部分133.1 Quartus及Verilog HDL介绍133.2 实际滤波器程序设计(8阶FIR数字低通滤波器)143.2.1 VerilogHDL的实现153.2.2 quartusII中功能仿真194 总结20参考文献21附录221 概论1.1 课题的目的和意义 数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号要求的输出离散时间信号的转换为所特定功能装置)。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。它涉及到的领域很广,如通信系统,系统控制,生物医学工程,机械振动,遥感遥测,地质勘探,故障检测,电力系统,航空航天,自动化仪器等。数字滤波器的好坏对相关的众多工程技术领域影响很大,一个好的数字滤波器会有效的推动众多的工程技术领域改造和学科发展。所以对数字滤波器的工作原理,硬件结构和实现方法进行研究具有一定的意义。FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。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允许无限次的编程。1.2 FPGA技术的发展及应用FPGA正处于高速发展时期,新型芯片的规模越大,成本也越来越低,低端的FPGA已逐步取代了传统的数字元件,高端的FPGA将会成为今后竞争的主流。自1985年问世以来,FPGA从集成电路与系统家族一个不起眼的小角色逐渐成为电子设计领域的重要器件。它极大地提高了设计灵活性并缩短了产品上市时间,在通信、工业控制、航空领域中广泛应用。FPGA行业集中度很高,几家美国公司掌握着行业的“制空权”。特别是在航空航天及军工等特殊领域,美国等少数国家对先进的技术保持封锁。因此,发展国内FPGA产业不是要不要的问题,而是怎么发展的问题。国内IC企业介入FPGA的时间并不长,多数公司还处于学习阶段。Altera公司和Xilinx公司为代表的FPGA厂商,除了在FPGA产品线上不断推陈出新之外,也在不懈地提高开发软件的设计能力,他们的软件产品在很多方面一点也不逊色于专业的EDA厂商,所以从这个角度来说,FPGA厂商也是EDA公司。这里的代表性产品就是Altera公司的Quartus II开发软件和Xilinx公司的ISE开发软件。Altera的FPGA开发工具已经经历了四代。从最初的基于DOS的A+Plus,发展到Max+Plus,1991年推出基于Windows的开发工具Max+Plus II。Max+Plus II在FPGA设计工具里是一个划时代的产品,它提供了一种与结构无关的图形化设计环境,功能强大,使用方便。设计者无须精通器件内部的复杂结构,而只需要使用自己熟悉的设计输入工具(如原理图或者HDL语言)把自己的设计输入到计算机中,Max+Plus II就会自动把这些设计转换成最终结构所需的格式,用户只要把最后生成的配置数据通过下载电缆下载到芯片中,即完成了所有的工作。Quartus II是Altera公司在2001年推出的第四代开发工具,是一个集成化的多平台设计环境,能够直接满足特定设计需要,在FPGA和CPLD设计各个阶段都提供了工具支持,并为可编程片上系统(SOPC)提供全面的设计环境,是一个系统级的高效的EDA设计工具。而且,随着器件结构和性能的不断提高,器件集成度的不断扩大,Altera始终能够同步推出与之相适应的开发工具,满足了设计者的要求,近年来一直保持着一年一个新版本的更新进度。1.3 FPGA软件设计工具Quartus IIAltera公司和Xilinx公司为代表的FPGA厂商,除了在FPGA产品线上不断推陈出新之外,也在不懈地提高开发软件的设计能力,他们的软件产品在很多方面一点都不逊色于专业的EDA厂商,所以从这个角度来说,FPGA厂商也是EDA公司。这里的代表性产品就是Altera公司的Quartus II开发软件和Xilinx公司的ISE开发软件。Altera的FPGA开发工具已经经历了四代。从最初的基于DOS的A+Plus,发展到Max+Plus,1991年推出基于Windows的开发工具Max+Plus