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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最新精品文档,知识共享! 信号与信息综合处理 实 验 报 告 学院:信息与通信工程学院 班级:2013211124 姓名:王丹頔 学号:2013210659 实验三 FIR滤波器实现 实验目的 进一步熟悉CCS v5的开发环境,掌握调试的要素,并理解FIR的过程。 实验原理 AIC23 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滤波器介绍 滤波器就是在时间域或频域内,对已知激励产生规定响应的网络,使其能够从信号中提取有用的信号,抑制并衰减不需要的信号。 FIR滤波器滤波过程: , 如果输入信号长度为M,滤波器系数长度为N,线性卷积后输出数据长度为L=M+N-1。即为: , 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关键字是为了确保其限定的指针在声明的范围内,是指向一个特定对象的唯一指针,即这个指针不会和其它指针指向存储器的同一地址; 使用restrict关键字可以使使编译器更容易确定是否有别名信息,从而更好地优化代码。 _nassert语句 C6416可以在每个时钟周期加载两个64位比特数,对于short类型数据则可以实现一个周期加载两对short数据并行进行运算; 为了能够使两个short数据并行运算,数据的存储地址必须按字地址对齐,这样存取时才不会出错; _nassert可以告诉编译器数据的对齐信息,编译器便可进行数据优化。 程序功能 FIR滤波器 设计64阶滤波器,通过设置不同的滤波系数,产生低通,带通,和高通三种不同类型滤波器,利用对已知信号进行卷积运算,获得滤波结果,具体说明如下: 各滤波系数h[FILTER_SIZE]由MATLAB的FDA工具箱产生,其中FILTER_SIZE为滤波器阶数加1; x[N]为原始序列,由 函数抽样产生,其中f1=1KHz, h1[M]为低通滤波器系数,y1[N]为低通滤波结果; h2[M]为带通滤波器系数,y2[N]为带通滤波结果; h3[M]为高通滤波器系数,y3[N]为高通滤波结果。 音频播放 设置48k的采样率,使用AIC2

文档评论(0)

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

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

1亿VIP精品文档

相关文档