基于Verilog实现一维数字信号处理算法(FIR滤波器).docx
《基于Verilog实现一维数字信号处理算法(FIR滤波器).docx》由会员分享,可在线阅读,更多相关《基于Verilog实现一维数字信号处理算法(FIR滤波器).docx(5页珍藏版)》请在优知文库上搜索。
1、广东工业大学研究生课程考试试卷封面学院:专业:姓名:学号:考试科目:学生类别:考试时间:第_周星期(年月日)题号分数12345678合计平时成绩总评成绩开课单位:开课学期:年秋季任课教师:说明:L以上左栏学生填写,右栏老师填写;2 .学位课考试的答题均写在答题纸上,考查课假设无课堂考试可不用答题纸,但仍应填写此页封面;3 .平时成绩根据任课教师所写的课程教学大纲规定评定:.任课教师评完分后从网上录入成绩,再打印成绩单一式两份连同试卷、答题纸交教务员保管(保管四年)。1.设计内容本设计是一个基于FPGA的一维数字信号处理算法的FIR的设计,设计使用Verilog语言编写FIR滤波器的模块,通过编
2、译和综合,并通过MATLAB和modelsim仿真比照验证设计结果。2.设计原理有限冲击响应(FlR)滤波器和无限冲击响应(IIR)滤波器广泛应用于数字信号处理系统中。IIR数字涯波器方便简单,但它相位的线性,要采用全通网络进行相位校正。图象处理以及数据传输,都要求信道具有线性相位特性,而有限冲击响应(FIR)滤波器既具有严格的线性相位,又具有任意的幅度。与此同时FIR滤波器还具有以下优点:(I)FIR滤波器的单位抽样响应是有限长的,在有限Z平面上不存在极点,其运算结构中不存在反应支路,即没有环路,因而滤波器性能稳定。(2)只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而
3、能用因果系统来实现。(3)F1R滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率,因此越来越受到广泛的重视。如果人()的长度为N,那么它的系统函数和差分方程-般具有如下形式:根据差分方程直接画出FlR滤波器的结构,称为直接型结构。如下图:图2.1FIR滤波器直接结构FIR滤波器的特点:(1)系统的单位冲击响应h(n)在有限个n值处不为零。(2)系统函数H(Z)在z10处收敛,极点全部在Z=O处(稳定系统)。(3)结构上主要是非递归结构,没有输出到输入的反应,但有些结构中(例如频率抽样结构)也包含有反应的递归局部。对线性时不变系统保持线性相
4、位的条件是:单位脉冲响应为偶对称或奇对称。即:为设计线性滤波器,应保证h(n)为对称的。1)假设N为偶数,其线性相位FIR滤波器的对称结构流图:图2.2假设N为偶数线性相位FIR滤波器的对称结构流图图中:+1对应偶对称情况,-1对应奇对称情况。当n为奇数时,最后一个支路断开。2)假设N为奇数,其线性相位FIR滤波器的对称结构流图:图2.3N为奇数线性相位FIR滤波器的对称结构流图在本设计中,我们采用线性FIR低通滤波器,所采用的阶数28,所以是偶对称的,估采取图2.2的结构,其中1取+1。3 .设计思路由上面的FlR滤波器的对称结构流图,可知要在FPGA上实现FIR灌波器,首先要确定滤波器的抽
5、头系数h(n)。其系数确实定,我们可以通过两种方法来实现:第一种就是通过MATLAB编写FIR滤波器程序,然后直接导出抽头系数“h(n);另外一种方法就是使用MATLAB自带的FDATOOL简便地设计一个FIR滤波器,然后导出系数。考虑到要更直观地描述FlR滤波器的设计,我采用了第种方法,用编写MATLAB代码的方式设计-个FIR低通滤波器。设计好滤波器后,接着就是准备维数字信号(语音信号),通过滤波器的滤波,看能把语音信号中的高频的信号滤除,只剩下低频的信号,从而验证滤波器的性能。然后再把语音信号保存起来,以供后面验证用VeriIog设计的FIR滤波器模块使用。这里面涉及到怎样读取音频文件的
6、问题,这就需要了解音频文件的格式(wav),每个音频文件都有文件头,这个文件头就包含了音频文件的很多像类似采样率这样的信息。文件头后就是具体的语音信号。做好准备工作后,就可以在QUARTUSn里面编写Verilog代码了。由于是硬件描述语言,所以设计的思路很简单,就是通过把输入序列移位,然后首位对称相加再乘以抽头系数,然后把相乘结果再相加最后给输出。其中涉及的难点是FPGA对有符号小数的乘法处理局部。在QUARTUSII编写好模块之后,就要用到Hiodelsim来对设计进行仿真。对于仿真信号的输入,我们可以添加一个altera的romIP核来存放之前用MATLAB读取的语音信号,然后通过时钟的
7、驱动-个一-个输入到FIR滤波器模块,最后在Hiodelsim中显示源波器的输出结果,同时把滤波器的输出结果保存起来,以备最后用来跟用MATLAB设计的滤波器的结果作比照。验证的最后一步,就是要把modelsi输出的仿真结果用MATLAB进行绘图,和之前MATLAB的仿真输出结果进行比拟,从而验证滤波器的设计是否成功。4 .设计过程1)用MATLAB仿真FIR滤波器用MATLAB仿真设计线性FlR灌波器,首先要确定其指标,在本设计里,我们规定滤波器的指标如下:阶数N=8,截止频率为12.5Hz。用加汉明窗函数的方法设计FIR滤波器。根据此可以编得MATLAB代码如下:据此可以求得滤波器抽头系数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Verilog 实现 数字信号 处理 算法 FIR 滤波器