- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 3
信号与信息综合处理
综合实验报告
题目三 滤波器设计和声音信号的滤波实验
学院: 信息与通信工程
专业: 信息工程
班级:
姓名:
学号:
目录
TOC \o 1-3 \h \z \u 一、实验目的 3
二、实验原理 3
2.1 AIC23相关介绍 3
2.2 FIR滤波器实现 4
2.3 相关函数介绍 5
2.4 DSP程序优化 5
三、程序功能 6
3.1 音频播放 7
四、程序模块描述 7
4.1 滤波模块 7
4.2 音频播放模块 7
五、程序流程图 8
5.1 总流程图 8
5.2 AIC23编码器流程图 8
六、功能测试、结果及说明 9
6.1 原始混频信号波形 9
6.2 低通信号波形 9
6.3 带通信号波形 9
6.4 高通信号波形 10
6.5 程序优化 10
6.6 查看流水信息 10
七、调试过程中的主要问题及难点 11
八、心得体会 11
九、源代码 12
一、实验目的
进一步熟悉CCS v5的开发环境,掌握调试的要素,并理解滤波器的运作过程和开发板代码优化的步骤。
实现滤波器滤波前后数据的比较,对所给工程进行优化,提高运行速度,输出结果。
二、实验原理
2.1 AIC23相关介绍
图1 AIC23结构图
图2 AIC23编码器控制寄存器
图3 AIC23寄存器集合
图4 采样速率设置
图5 采样率可配参数
2.2 FIR滤波器实现
FIR滤波器介绍
滤波器就是在时间域或频域内,对已知激励产生规定响应的网络,使其能够从信号中提取有用的信号,抑制并衰减不需要的信号。
FIR滤波器滤波过程:
,
如果输入信号长度为M,滤波器系数长度为N,线性卷积后输出数据长度为L=M+N-1。即为:
,
2.3 相关函数介绍
void DSK6416_init()
设置所有的CPLD寄存器到上电状态,初始化内部BSL数据结构;
在使用任何BSL函数之前都必须调用。
DSK6416_AIC23_openCodec函数
DSK6416_AIC23_CodecHandle DSK6416_AIC23_openCodec (int id, DSK6416_AIC23_Config *Config);
id:指定使用哪个编码器,DSK6416上为id=0;
Config:指向包含编码器寄存器值的结构,以该结构中的值初始化寄存器;
调用成功:返回编码器句柄;失败:返回INV常数(-1)。
DSK6416_AIC23_write函数
Int16 DSK6416_AIC23_write(DSK6416_AIC23_CodecHandle hCodec, Int32 val);
hCodec, Val:编码器句柄,写入编码器的值;
返回TRUE:数据成功写入;
返回FALSE:数据端口忙。
DSK6416_AIC23_closeCodec函数
DSK6416_AIC23_closeCodec(DSK6416_AIC23_CodecHandle hCodec);
关闭编码器。
2.4 DSP程序优化
优化原理
DSP的C6000系列CPU中的8个功能单元可以并行操作,并且其中两个功能单元为硬件乘法运算单元,大大地提高了乘法速度;
DSP 采用了具有独立程序总线和数据总线的哈佛总线结构,仅片内程序总线宽度就可达到256 位,即每周期可并行执行8 条32位指令;
片内两套数据总线的宽度分别为32 位;
除了多功能单元外,流水技术是提高DSP 程序执行效率的另一主要手段。
优化入门
优化过程大致分为三个阶段:
第一阶段主要通过选定C 编译器的选项来实现优化。在这个阶段可实现程序级优化,从而部分消除多余代码。
第二阶段主要针对C 源程序,进行优化。在运算中,循环经常占用大量的时钟周期, 对循环的优化成为代码优化的重点。
如经过前两阶段仍未达到所需要求,就要进行第三阶段的优,对重点段直接线性汇编。
编译选项:
-mv6400:使所产生的代码能利用C64x增加的硬件资源和指令集。此选项编译器默认执行。
-on:其中n可以取值为0、1、2和3,编译器将根据n的不同,执行不同等级的优化
-k:生成编译器输出的.asm汇编文件.
-mw:生成详细的软件流水报告。使用-mw后,系统会默认使用-k选项,生成.asm汇编文件并且在其中加入软件流水报告。
关键字restrict
关键字restrict是对指针、引用或数组的一种限定。
使用restrict关键字是为了确保其限定的指针在
原创力文档


文档评论(0)