北邮信息工程信号与信息处理综合实验DSP实验三报告.docx

北邮信息工程信号与信息处理综合实验DSP实验三报告.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息与通信工程学院信号与信息处理综合实验报告(DSP部分)班级: 姓名: 学号: 序号: 日 期: 实验三 FIR滤波器实现一、实验目的进一步熟悉CCS v5的开发环境,掌握调试的要素,并理解FIR滤波的过程。程序功能1、基本功能本程序的基本要求是:实现信号的滤波过程,并对工程进行优化,提高运行速度,使用音频输入输出端口进行测试。2、拓展功能如改变滤波器的系数、改变信源数据等;如自定义不同带宽的滤波器系数等;三、程序基本信息(一)、程序模块描述:1、通过AIC23输出混频信号: short inputTable [TABLE_SIZE]:存储经采样后的输入信号,其中TABLE_SIZE是输入信号长度(本程序为48)。 void DSK6416_init():设置所有的CPLD寄存器到上电状态,初始化内部BSL数据结构。在使用任何BSL函数之前都必须调用。DSK6416_AIC23_CodecHandle DSK6416_AIC23_openCodec (int id, DSK6416_AIC23_Config *Config):打开AIC23编码器,并进行配置。参数说明:id:指定使用哪个编码器,DSK6416上为id=0;Config:指向包含编码器寄存器值的结构,该函数将以该结构中的值初始化寄存器。调用成功:返回编码器句柄;失败:返回INV常数(-1)。当McBSP在使用中,才会出现失败Int16 DSK6416_AIC23_write(DSK6416_AIC23_CodecHandle hCodec, Int32 val):向AIC23中写入要输出的信号值。参数说明:hCodec:编码器句柄;val:写入编码器的值。函数若返回TRUE:数据成功写入;返回FALSE:数据端口忙。 DSK6416_AIC23_closeCodec(DSK6416_AIC23_CodecHandle hCodec):关闭编码器,其中hCodec是要关闭的编码器句柄。2、混频信号通过FIR进行滤波:该程序是第一个程序的拓展,增加了以下函数或模块: short h[FILTER_SIZE]:存储FIR滤波器的系数,其中FILTER_SIZE为滤波器阶数加1。该FIR低通滤波器阶数为64。short input[113]:存储FIR滤波器的输入信号,是inputTable里存储的信号的拓展,为了消除滤波器边界效应的影响。 int output[177]:FIR滤波器的输出。输出声音信号时,截取output[64]到output[111]部分。 void Filter(short *input, short *h, int *output):FIR低通滤波函数。参数说明:input:输入,h:滤波器系数,output:输出。该FIR低通滤波器通过MATLAB的FDATOOL设计,其系数存储在h数组中,FIR滤波器可用如下方程描述:3、优化后的FIR滤波器:该程序仅保留第2个程序中的FIR部分,去掉了原程序中的通过AIC23发声的代码,并对相关模块进行了修改和优化,以下只对修改和优化部分进行说明。output数组长度被精简,去掉了受边界效应影响的数据。Filter函数作了如下改动:a.使用restrict关键字,让编译器知道在input,h和output之间没有相关性,更好的优化程序; b.声明input和h都是字对齐的,意味着编译器能在存储器访问时用一条指令加载64位数据,减少读取数据的时间。 c.重新设计FIR滤波算法。由于h[FILTER_SIZE]偶对称,FIR滤波公式可以变换为这样每个输出一个数据,都节省N次减法运算。4、功能拓展:本次实验我做了两个功能拓展:构造新信号并采样:该信号从原来信号修改而来,信号形式,其中,采样率为48KHz,在MATLAB中输入信号并采样、转化成16bit数组如下:short inputTable[TABLE_SIZE] ={28987, 20687, 3982, -4740, 2723, 18191, 25296, 15864, -1890,-11561, -4930, 9837, 16384, 6547, -11454, -21207, -14493, 520, 7472, -1807, -19106, -28028, -20366, -4303, 3781, -4303, -20366, -28028, -19106, -1807, 7472, 520, -14493, -21207, -11454, 6547,16384, 983

文档评论(0)

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

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

1亿VIP精品文档

相关文档