欢迎来到天天文库
浏览记录
ID:6781422
大小:436.50 KB
页数:19页
时间:2018-01-25
《fir数字滤波器的dsp课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、DSP原理课程设计报告题目:FIR数字滤波器专业电子信息工程姓名xxx班级2012级电工本1班学号xxxxxxxxx指导教师xxx时间2015.09—2015.10教师评分目录一、课程设计的任务和目的1二、课程设计相关知识12.1SEED-DEC2812嵌入式DSP开发板1三、设计思路13.1大致过程13.2FIR滤波器的设计方法2四、设计总框图和程序流程图及程序源代码34.1FIR滤波器设计总框图34.2程序流程图44.3程序源代码5五、系统仿真95.1仿真设置95.2仿真图11六、参考文献15七、总结
2、15题目:FIR数字滤波器一、课程设计的任务和目的课程设计的任务:本课程设计主要是利用C语言在CCS环境中编写一个FIR滤波器程序,并能利用已设计好的滤波器对常用信号进行滤波处理。选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR滤波器。通过课程设计环节来加强对所学知识的理解和应用。二、课程设计相关知识2.1SEED-DEC2812嵌入式DSP开发板SEED-DEC2812嵌入式DSP开发板原理框图如图2.1所示:图2.1SEED-DEC2812嵌入式DSP开发板原理框图三、设计思路3.
3、1大致过程在TMS320C54x系统开发环境CCS(CodeComposer15Studio)下对FIR滤波器的DSP实现原理进行讨论。利用C语言设计相应的滤波器,通过实验仿真,从输入信号和输出信号的时域和频域曲线可看出在DSP上实现的FIR滤波器能完成预定的滤波任务。3.2FIR滤波器的设计方法循环缓冲算法:对于N级的FIR滤波器,在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本。每次输入新的样本时,一新样本改写滑窗中的最老的数据,而滑窗中的其他数据不需要移动。利用片内B
4、K(循环缓冲区长度)寄存器对滑窗进行间接寻址,环缓冲区地址首位相邻。下面,以N=5的FIR滤波器循环缓冲区为例,说明循环缓冲区中数据是如何寻址的5级循环缓冲区的结构如图3.1所示,顶部为低地址。图3.1循环缓冲区的结构当第一次执行完之后,间接寻址的辅助寄存器指向x(n-4)。然后,从I/O口输入数据x(n+1),将原来存放x(n-4)的数据存储单元改写为x(n+1)。接着,进行第二次乘法累加运算,,最后指向x(n-3)。然后从I/O口输入数据x(n+2),将原来存放x(n-4)的数据存储器单元改写为x(n
5、+2)。15四、设计总框图和程序流程图及程序源代码4.1FIR滤波器设计总框图FIR滤波器设计总框图如图4.1所示图4.1FIR滤波器设计总框图154.2程序流程图程序流程图如图4.2所示图4.2程序流程图154.3程序源代码FILTER.c代码:#include"DSP28_Device.h"#include"filter.h"#include"ext_inf.h"unsignedintDataLong=1024;unsignedinti,j;unsignedintk=0;unsignedshortAd
6、_data[2048];shortAd_data_signed[2048];shortfilter_result[1024];unsignedintconvcount=0;volatileunsignedintadconvover=0;interruptvoidISRTimer2(void);interruptvoidad(void);voidmain(void){/*初始化系统*/InitSysCtrl();/*关中断*/15DINT;IER=0x0000;IFR=0x0000;/*初始化PIE中断*/
7、InitPieCtrl();/*初始化PIE中断矢量表*/InitPieVectTable();//初始化cputimerInitCpuTimers();/*设置中断服务程序入口地址*/EALLOW;PieVectTable.TINT2=&ISRTimer2;PieVectTable.ADCINT=&ad;EDIS;/*开中断*/IER
8、=M_INT1;//ADC中断EINT;ERTM;/*设置CPU*/DINT;ConfigCpuTimer(&CpuTimer2,150,22);15StartCpuTi
9、mer2();/*开中断*/IER
10、=M_INT14;EINT;InitAdc();for(;;){if(adconvover==1){/*fir滤波处理*/for(i=0;i
此文档下载收益归作者所有