北邮信号与信息处理DSP实验三.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北邮信号与信息处理DSP实验三

信号与信息综合处理 班级:2013211124 姓名:王丹頔 学号:2013210659 实验三 FIR滤波器实现 实验目的 开发环境,掌握调试要素,并理解过程 实验原理 AIC23 图1 AIC23结构图 图2 AIC23编码器控制寄存器 图3 AIC23寄存器集合 图4 采样速率设置 图5 采样率可配参数 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); 关闭编码器。FIR滤波器实现 介绍 FIR滤波器滤波过程: , 如果输入信号长度为M,滤波器系数长度为N,线性卷积后输出数据长度为L=M+N-1。即为: , DSP程序优化 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关键字是为了确保其限定的指针在声明的范围内,是指向一个特定对象的唯一指针,即这个指针不会和其它指针指向存储器的同一地址; 使用restrict关键字可以使使编译器更容易确定是否有别名信息,从而更好地优化代码。 _nassert语句 C6416可以在每个时钟周期加载两个64位比特数,对于short类型数据则可以实现一个周期加载两对short数据并行进行运算; 为了能够使两个short数据并行运算,数据的存储地址必须按字地址对齐,这样存取时才不会出错; _nassert可以告诉编译器数据的对齐信息,编译器便可进行数据优化。 程序功能 FIR滤波器 设计64阶滤波器,对已知信号进行卷积运算,滤波,说明如下:滤波系数由 x[N]为原序列, 函数抽样产生,其中; h1[M]为低通滤波器系数,y1N]为低通滤波结果; 2[M]为带通滤波器系数,y2N]为带通滤波结果; 3[M]为高通滤波器系数,y3N]为高通滤波结果。 指定音频信号,具体如下 播放原始信号N],持续时间 播放低通滤波的结果y1[N]持续时间暂停 播放带通滤波的结果y2[N]持续时间暂停 播放高通滤波的结果y3[N]持续时间结束播放 程序优化 通过o2编译选项,程序结构优化以及使用关键词和语句,可进行程序优化,优化后结果可。信息 模块 FIR: :进行不同截止频率的滤波,获得低通、带、高通后的滤波信号,以供后续播放 输入接口: 输出接口:播放: :,按照指定播放音频信号 输入接口: 输出接口:AIC23,输出播放的音频信号 #include stdio.h #include math.h #include string.h #include dsk6416.h #i

文档评论(0)

000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档