- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP实验报告FIR和IIR滤波器设计
DSP实验报告
实验一 FIR滤波器的设计
1.实验目的
利用所学DSP知识,在CCS3.3平台上,对TMS320VC5416DSP设计,编程实现FIR滤波器。从而学会使用CCS软件和TMS320VC5416实验板。
2.实验要求
设计一个10阶的FIR滤波器,要求fc=2.5kHZ,定点实现。并对Fs=8kHZ的多正弦波合成文件进行滤波测试,显示出输入和输出信号。
3.实验原理
一个截止频率为ωc的理想数字低通滤波器,其传递函数的表达式为:
这个滤波器是物理不可实现的。为了产生有限长度的冲激响应函数,我们取样响应为,长度为N。表示截取后的冲激响应,即,其中即为窗函数,窗长为N。一般的FIR滤波器差分方程如下:
进行Z变换得到FIR的系统函数为:
N阶滤波器通常采用N个延迟单元、N个加法器与N+1个乘法器组成。因此可以得到FIR滤波器的结构图如图1所示。
图1 FIR滤波器直接结构图
4.设计思路
对于FIR滤波器的设计,其系数是关键。由于matlab自带滤波器设计工具箱和滤波器设计函数,故借用matlab工具,设计满足条件的滤波器并导出系数以备编写滤波器程序时使用。实验需要用到的输入数据是多正弦波合成文件,对于输入信号的设计,这里也借助matlab编程生成dat文件。然后用C语言编写FIR滤波器的主程序,输入文件在程序运行后导入。
5.实验内容
(1)滤波器系数的设计
由于实验只给出滤波器条件为N=10,fc=2.5kHZ,并没有给出fp和fs,所以这里调用matlab工具箱函数fir1实现窗函数法设计滤波器。
fir1的调用格式为hn=fir1(N,ωc),返回值为6dB截止频率为ωc的N阶(单位脉冲响应h(n)长度N=N+1)的FIR低通滤波器的系数向量(ωc为标量),默认选用哈明窗。其中ωc为对π归一化的数字频率,其计算公式为ωc=2πfcπFs,这里计算得出ωc=0.625。因为得到的系数向量要用于DSP的FIR程序中,需要对其进行进行转换并取整。最后系数结果如下图2所示。
图2 10阶FIR滤波器系数
对于10阶滤波器得到11个系数,将该系数保存,以备后面编写程序时使用。
该滤波的幅频图和相频图分别对应图3和图4。
图3 10阶FIR滤波器幅频图
图4 10阶FIR滤波器相频图
(2)输入信号的生成
根据老师给的两个.wav语音文件,这里用matlab的wavread函数将其读进去,并编写程序查看其部分信号时域和频域图,并生成两个语音文件的.dat文件,供作为DSP设计滤波器验证时所用的输入文件。
两个语音信号部分时域和频域图分别对应图5(a)(b)和图6(a)(b)。
(a) 语音文件1时域图
(b) 语音文件1频谱图
图5 语音文件1时域和频域图
(a)语音文件2时域图
(b)语音文件2频谱图
图6 语音文件2时域和频域图
(3)CCS中FIR程序编写
首先打开CCS setup选择对应5416型号的处理器,保存后打开CCS软件,project-new建立fir滤波工程。新建一个input.h文件,并将matlab产生的input文件里面的数据放入其中,然后project-add files to project..将input.h添加至工程。同理,编写FIR滤波主程序并将其加入工程。最后将链接文件fir.cmd加入工程。如图7所示。
图7 CCS3.3程序窗口
编译生成fir.out文件,然后file-load program..-fir.out,运行程序。然后view-graph-time/frequency,显示如图8所示。然后选择对应的single time、FFT magnitude分别对应时域和频域图形。start address分别填input和output对应输入和输出的数据。通过改变acquisition buffer size和display data size数值来调整显示框的结果。对应的显示结果如图9-图12所示。
图8
时域图
(b) 频域图
图9 输入信号1波形图
滤波结果时域图
滤波结果频域图
图10 信号1滤波结果图
(a) 时域图
(b)频域图
图11 输入信号2波形图
滤波结果时域图
滤波结果频域图
图12 信号2滤波结果图
(4)程序下载到DSP实验板
点击file-new-DSP/BIOS configuration,选择DSK5416.cdb,保存至文件的工程目录下。将刚生成的.cdb文件和编写的加入到工程中。将前面的程序文件分别加入工程中,进行编译。
链接实验板和电脑。点击debug-connect,连接测试板,file-load program..,从工程文件下的debug文件夹中导入fir.out文件,再点击debug-run运行
文档评论(0)