1、 北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计1 11.利用DSP进行实时信号滤波利用利用DSPDSP实现对模拟信号滤波的框图实现对模拟信号滤波的框图 北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计2 2 函数调用格式:oflag=short fir(DATA*x,DATA*h,DATA*r,DATA*dbuffer,ushort nh,ushort nx)功能功能 用用FIRFIR滤波器对信号滤波滤波器对信号滤波 调用参数说明:xnx 表示含有nx个实数的实输入信
2、号向量;hnh 表示含有nh个实数的系数向量,按自然顺序 排列,即滤波器的单位脉冲响应。rnx 表示含有nx个实数的输出向量;允许原位运算,即r=x。2.滤波器函数fir()说明:北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计3 3 dbuffernh 延迟缓冲区;对存储器的要求同hnh。nx 向量x中实数的个数;nh 向量h中系数的个数;oflag=1 有溢出;oflag=0 无溢出 对数组对数组h h和和dbufferdbuffer的特殊要求特殊要求:输入数组首地址最低log2(nx)位为必须为0。2.滤波器函数fir()说明
3、oflag=short fir(DATA*x,DATA*h,DATA*r,DATA*dbuffer,ushort nh,ushort nx)北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计4 4滤波器函数使用的例(a)一次调用处理一个数据一次调用处理一个数据#pragma DATA_SECTION(h,coe_buf)DATA hN;#pragma DATA_SECTION(db,delay_buf)DATA dbN;DATA dbN=0;DATA*dbp=&(db0);DATA x,y;fir(&x,h,&y,&dbp,N,1);
4、北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计5 5滤波器函数使用的例(b)一次调用处理一次调用处理L个数据个数据#pragma DATA_SECTION(h,coe_buf)DATA hN;#pragma DATA_SECTION(db,delay_buf)DATA dbN;DATA dbN=0;DATA*dbp=&(db0);DATA xL,yL;fir(x,h,y,&dbp,N,L);北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计6 6利用codec对信号实时i
5、=0;i=0;while(1)while(1)while(!MCBSP_XRDY(HANDSET_CODEC);while(!MCBSP_XRDY(HANDSET_CODEC);x=*(volatile u16*)DRR1_ADDR(HANDSET_CODEC);x=*(volatile u16*)DRR1_ADDR(HANDSET_CODEC);inp_datai=x;inp_datai=x;fir(&x,h,&y,&dbp,N,1);fir(&x,h,&y,&dbp,N,1);out_datai=y;out_datai=y;i=i+1;i=i+1;if(i=L)i=0;if(i=L)i=0
6、;*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=y;*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=y;北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计7 7利用Matlab进行滤波器设计滤波器设计工具箱fdatool工具箱(Filter Design and Analysis Tool)此工具箱提供常用的各种滤波器的设计,并将设计的滤波器参数提取出来。调用方法:在Matlab命令窗口键入fdatool3.滤波器设计 北京交通大学北京交通大学 国家工科电工电子教学
7、基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计8 84.直接存储器访问控制器(DMA)的使用 直接存储器访问(Direct Memory Access,简称DMA)是C54x DSP非常重要的片上外设。DMA特性:完成数据传输而不影响CPU,因此数据传输速度快。应用场合:在要求信号实时采集和处理的系统中常采用DMA方式进行信号采集与传输。北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计9 9DMADMA和和和和DSPDSP内核访问存储器的框图内核访问存储器的框图内核访问存储器的框图内核访问存储器的框图 北京交通大学
8、北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计1010信号采集和滤波的流程图 北京交通大学北京交通大学 国家工科电工电子教学基地国家工科电工电子教学基地DSPDSP应用课程设计应用课程设计1111利用DMA进行FIR滤波的中断服务程序interrupt void DMAC2ISR(void)int*p_inp,*p_out;int i;p_inp=inp_buffer+frame*0 x100;p_out=out_buffer+frame*0 x100;fir(p_inp,coeffs,p_out,&delayptr1,16,256);/for(i=0;i256;i+)/*(p_out+i)=*(p_inp+i);init_dma3();frame=1;