- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于vhdlfir数字滤波器设计说明书推荐
基于VHDL语言与MATLAB设计的
FIR数字滤波器的研究报告
报告人:马晓博 唐欢 插入语:因为要参加电赛,选的也是通信类的题目,需要用到数字滤波器,刚好老师也要求我们做一个关于数字电路的应用于研究,我们就对数电中关于VHDL语言的章节进行了研究,并借助网上的资料能使用quarters 2进行电路设计并下载到相应板子上进行实验。借助之前的一些对FPGA器件以及VHDL语言,quarters 2的研究,基本实现了FIR数字滤波器的设计。
摘要
本报告分两部分:
1 由matlab计算FIR数字滤波器的滤波系数;
2 用VHDL语言设计逻辑电路,再通过QUARTUS II 软件,将各个模块的电路封装成期间,在顶层设计中通过连线,完成整个系统。
第一部分:
FIR数字滤波器的系数计算
关于数字信号处理中的东西,我们尝试自学了,结果发现看不懂,就去网上查了一些简便的方法来计算滤波器的系数,通过MATLAB的工具箱来实现,这样即便不懂原理,也可以计算出滤波器的系数。
我们通过MATLAB的Fdatool软件实现。
输入数据S(n)为9位,输出y(n)为10位的低通滤波器
数据:各个参数如下:
Lilter Typer lowpass FIR Window kaiser
阶数:15,Beta=0.5,Fs=48kHz,Fc=10.8kHZ
滤波类型为:直接型FIR
FIR滤波器的幅频响应
相频响应
FIR滤波器的冲击响应
滤波器系数
对系数进行调整,整数化:
Num =
-0.0742 0.0234 0.1133 0.0117 -0.1758 -1.0977
0.3594 0.8281 0.8281 0.3594 0.0977 -0.1758
0.0117 0.1133 0.0234 -0.0742
Num*(2^8)
ans =
Columns 1 through 10
-18.9952 5.9904 29.0048 2.9952 -45.0048 -281.0112 92.0064 211.9936 211.9936 92.0064
Columns 11 through 16
25.0112 -45.0048 2.9952 29.0048 5.9904 -18.9952
第二部分
FIR数字滤波器的VHDL实现
由于我们之前就对VHDL语言有研究,所以在网上查了相关资料之后实现起来并不算困难,其实就是加法器以及乘法器的设计,采用原理图与VHDL语言相结合的方法,VHDL语言进行底层设计,原理图进行顶层连接。软件使用quarters 2 9.0,硬件使用EPM240最小系统板。不过由于这个板子便宜,40块,内部资源数目不多,而且是CPLD板子,更加资源紧缺,而要设计的加法器还好,乘法器相当占用资源,本次滤波器要用8个(16/2),所以最后并没有下载到板子上时失败的,不过仿真时正确的。基本达到我们的目标。具体过程如下:
根据上述要求,S(n)为9位,y(n)为10位的低通滤波器。数据:
-19,6,29,3,-45,-25,92,212,212,92,-25,-45,3,29,6,-19
阶数:15,Beta=0.5,Fs=48kHz,Fc=10.8kHZ
滤波类型为:直接型FIR
FIR滤波器的原理图设计如下:
设计原理:
一 概要
我们的原理说明是根据上面原理图的设计顺序逐步进行的。
1 寄存器(延时器)。
原理图上标有dff9的器件。输入9位数据,通过dff9的D触发寄存器,达到延时的作用。
2 第一级加法器
数据通过add9910,就是9位数字输入,10位数字输出加法器,完成第一级相加运算,因为本题是16阶FIR数字滤波器,它的滤波系数有对称的关系,所以采用上面的第一级加法器,达到简化运算的效果。
3 乘法器
乘法器用来将数据乘以由matlab计算得到的滤波系数,本题的系数分别为:-19,6,29,3,-45,-25,92,212。
在乘法器设计时暂时没有考虑符号,符号问题由下面的减法器实现。即:若系数符号为负,那么在下一级用减法器减去乘法器所得的数据。所有的乘法器为:mult19, mult mult 6, mult 29, mult 3, mult 45, mult 25, mult 92, mult
原创力文档


文档评论(0)