北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx

上传人:b****2 文档编号:612262 上传时间:2023-04-29 格式:DOCX 页数:12 大小:355.05KB
下载 相关 举报
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第1页
第1页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第2页
第2页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第3页
第3页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第4页
第4页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第5页
第5页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第6页
第6页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第7页
第7页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第8页
第8页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第9页
第9页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第10页
第10页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第11页
第11页 / 共12页
北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx

《北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。

北邮信息工程信号与信息处理综合实验DSP实验三报告FIR滤波器实现Word文档下载推荐.docx

实验三FIR滤波器实现

一、实验目的

进一步熟悉CCSv5的开发环境,掌握调试的要素,并理解FIR滤波的过程。

二、程序功能

1、基本功能

本程序的基本要求是:

实现信号的滤波过程,并对工程进行优化,提高运行速度,使用音频输入输出端口进行测试。

2、拓展功能

●如改变滤波器的系数、改变信源数据等;

●如自定义不同带宽的滤波器系数等;

三、程序基本信息

(一)、程序模块描述:

1、通过AIC23输出混频信号:

shortinputTable[TABLE_SIZE]:

存储经采样后的输入信号,其中TABLE_SIZE是输入信号长度(本程序为48)。

voidDSK6416_init():

设置所有的CPLD寄存器到上电状态,初始化内部BSL数据结构。

在使用任何BSL函数之前都必须调用。

DSK6416_AIC23_CodecHandleDSK6416_AIC23_openCodec(intid,DSK6416_AIC23_Config*Config):

打开AIC23编码器,并进行配置。

参数说明:

id:

指定使用哪个编码器,DSK6416上为id=0;

Config:

指向包含编码器寄存器值的结构,该函数将以该结构中的值初始化寄存器。

调用成功:

返回编码器句柄;

失败:

返回INV常数(-1)。

当McBSP在使用中,才会出现失败

Int16DSK6416_AIC23_write(DSK6416_AIC23_CodecHandlehCodec,Int32val):

向AIC23中写入要输出的信号值。

hCodec:

编码器句柄;

val:

写入编码器的值。

函数若返回TRUE:

数据成功写入;

返回FALSE:

数据端口忙。

DSK6416_AIC23_closeCodec(DSK6416_AIC23_CodecHandlehCodec):

关闭编码器,其中hCodec是要关闭的编码器句柄。

2、混频信号通过FIR进行滤波:

该程序是第一个程序的拓展,增加了以下函数或模块:

shorth[FILTER_SIZE]:

存储FIR滤波器的系数,其中FILTER_SIZE为滤波器阶数加1。

该FIR低通滤波器阶数为64。

shortinput[113]:

存储FIR滤波器的输入信号,是inputTable里存储的信号的拓展,为了消除滤波器边界效应的影响。

intoutput[177]:

FIR滤波器的输出。

输出声音信号时,截取output[64]到output[111]部分。

voidFilter(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、功能拓展:

本次实验我做了两个功能拓展:

(1)构造新信号并采样:

该信号从原来信号修改而来,信号形式

,其中

,采样率为48KHz,在MATLAB中输入信号并采样、转化成16bit数组如下:

shortinputTable[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,9837,-4930,-11561,-1890,15864,25296,18191,2723,

-4740,3982,20687,

};

信号波形图:

(2)设计新的滤波器:

使用MATLAB的FDATOOL可以很方便的设计一个新的滤波器。

以下是采用FDATOOL设计滤波器的截图,里面包含了新滤波器的信息。

设计的新滤波器仍为FIR低通型(曾尝试过设计IIR型,但生成的系数数组较为复杂),采用汉明窗进行设计。

FIR滤波器的阻带边缘频率为2kHz,的阶数由下式确定:

6.2π是汉明窗的精确过度带宽。

0.2π是数字频率过渡带宽,它由过渡带宽(

)转换成数字频率(

)而得。

为设计方便,取N=64。

设计完成后可以利用FDATOOL生成如下的数组:

shorth[65]=

23,27,31,35,37,37,32,20,0,

-29,-67,-113,-164,-215,-260,-293,-304,-287,

-234,-140,0,185,414,680,975,1286,1600,

1901,2175,2405,2579,2688,2725,2688,2579,2405,

2175,1901,1600,1286,975,680,414,185,0,

-140,-234,-287,-304,-293,-260,-215,-164,-113,

-67,-29,0,20,32,37,37,35,31,

27,23

利用该数组作为FIR的系数即可使用设计的新滤波器。

2、程序流程:

三个程序中,因为原始的发声程序和优化程序都是混频信号通过FIR滤波的一部分,所以以下只给出该程序的流程图。

四、功能测试记录

1、通过AIC23输出混频信号:

略。

2、混频信号通过FIR进行滤波:

输入信号(滤波前信号):

滤波后信号:

由于边界效应的问题,所以输出有失真。

3、优化程序:

未优化之前需要9万多个周期,优化后只需要1258个。

4、功能拓展:

(1)输入信号在CCS中的显示波形:

(2)输入信号通过原FIR滤波器后的输出波形:

(3)输入信号通过新FIR滤波器后的输出波形:

五、调试过程中的主要问题及难点

输入信号通过原FIR滤波器和新FIR滤波器后的输出波形相比较而言,后者失真较大。

这是新FIR滤波器的特性图:

由该图可见,滤波器的旁瓣功率比较大,可能是造成失真大的原因,由于时间所限,未能作进一步优化。

六、实验总结

最后一次DSP实验,做起来并不难,但是包含的内容非常多,不仅实验的主要内容FIR滤波器是数字信号处理课程的重要内容,而且还认识了DSK6416的AIC23发声模块,学习了MATLAB的滤波器设计功能,更重要的是这次实验认识了许多代码优化的内容,让我树立了一种观念,可以用的程序不一定是好的,好的程序一定是又快又好用的。

这三次DSP实验让我学到了很多,实践了很多,确实是受益匪浅。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2