- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京信息科技大学DSP实验二
实 验 报 告
课程名称 DSP原理与应用
实验项目 FIR算法的DSP实现实验 FIR算法的DSP实现
一、实验目的
掌握汇编语言的编程方法。
掌握C语言和汇编语言的混合编程。
利用MATLAB设计FIR滤波器。
编写以浮点和Q15格式产生混合波形数据的函数。
编写C语言浮点实现FIR滤波算法函数。
编写C可调用汇编语言定点实现FIR滤波器算法函数。
使用CCS图形显示窗口观察和分析信号波形及其频谱。
进行代码性能测评。
二、实验仪器及工具
计算机,安装Windows XP 操作系统、MATLAB 7.0.1、TI 的TMS320C5000 DSP 的开发软件 CCS2.21;ICETEK-VC5509教学实验箱。
三、实验内容
利用MATLAB设计FIR滤波器,以浮点和Q15格式导出滤波器系数。
FIR算法的TMS320C55x DSP的C语言浮点及汇编语言定点实现。
编写MATLAB程序,利用MATLAB设计FIR低通或高通滤波器,以浮点和Q15格式导出滤波器系数。例:利用kaiser窗设计一个低通FIR数字滤波器,通带的范围是0Hz到1100Hz, 阻带的范围是1600 Hz到4000 Hz,通带的波纹最大为0.03,阻带的波纹最大为0.03 。信号的抽样频率为8000 Hz。可根据信号的频率更改滤波器的频率。
设置CCS为“C55x Cycle Accurate Simulator”软件仿真模式,打开CCS,创建工程,编写.cmd文件,编写主程序文件。编写以浮点和Q15格式产生混合波形数据的函数。如产生抽样频率为8000 Hz,600Hz、2000 Hz、2800 Hz的三种频率的混合波形数据,其中混合频率可以自行确定。添加文件到工程中。编译、调试、链接、加载、运行程序,使用观测窗查看波形数据;选择菜单View→Graph→Time/Frequency,在弹出的“Graph Property Dialog”对话框中进行相应的配置显示产生波形的时域和频域图。
编写C语言浮点实现FIR滤波算法函数。在主程序文件中增添C语言浮点实现FIR滤波算法的模块,这其中包括导入MATLAB设计的滤波器浮点系数。编译、调试、链接、加载、运行程序,选择菜单View→Graph→Time/Frequency,在弹出的“Graph Property Dialog”对话框中进行相应的配置显示滤波系数和输出信号的时域图和频域的幅度和相位图。并利用Profiler工具测试函数大小及滤波时间。
编写C可调用汇编语言定点实现FIR滤波器算法函数。利用单乘法单元(MAC)定点实现块FIR滤波器算法。编译、链接、加载、运行程序,选择菜单View→Graph→Time/Frequency,在弹出的“Graph Property Dialog”对话框中进行相应的配置显示滤波系数和输出信号的时域图和频域的幅度和相位图。利用Profiler工具测试函数大小及滤波时间,并与C语言的浮点实现进行比较。
设置CCS为“C5510 Device Simulator”,利用Profiler工具测试函数大小及滤波时间。观察程序运行状况,与以上结果对比分析。
再次将设置CCS为“C55x Cycle Accurate Simulator”软件仿真模式,并保存退出,打开CCS 2(’C5000)集成开发环境,打开工程,将滤波系数替换为高通滤波,运行程序,选择菜单View→Graph→Time/Frequency,在弹出的“Graph Property Dialog”对话框中进行相应的配置显示滤波系数、输出信号的时域图和频域的幅度和相位图。
混合波形Profiler工具测试函数大小及滤波时间
、实验
本次实验考察了fir滤波器在DSP中的实现算法,通过MATLAB导出滤波器的系数,然后再利用DSP中的C语言算法或汇编算法可以实现对于混合信号的滤波作用。通过这样的一次实验,我掌握了一些DSP软件调试中的方法,如利用观测窗验证部分变量的值的变化,就可以判断算法中运行情况,还有就是断点和探针的应用。实验中还用到了波形发生函数,将几个不同的频率的正弦波混合到一起,相信通过这样的一次编程,以后遇到相同的问题就可以顺利解决了。在实验中设计了一个低通滤波器,相类似的可以设计出高通、带通和带阻的。
附:程序代码
1、MATLAB设计低通滤波器
clc,close all
fsamp=8000; %采样率
fcuts=[1100 1600 ]; %截止频率
mags=[1 0]; %低通滤波
devs=[0.03 0.03]; %波纹
文档评论(0)