基于DSP的FIR滤波器设计_第1页
基于DSP的FIR滤波器设计_第2页
基于DSP的FIR滤波器设计_第3页
基于DSP的FIR滤波器设计_第4页
基于DSP的FIR滤波器设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP课程设计选题名称:基于DSP的FIR滤波器的设计与仿真摘要:DSP作为一门新兴学科,越来越引起人们的关注,目前已广泛应用在各个领域。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。本文主要介绍基于DSP数字滤波器设计,使用CCS实现FTSK数据输入,使用FIR滤波器对FTSK调制信号进行处理,输出需要波形与频谱。文中采用线性缓冲区和带移位双操作寻址方法实现FIR滤波器。以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现,实现时,先在CCS仿真开发,然后加载。利用DSP来快速设计F

2、IR数字滤波器的方法,寻找系数的快速传递,MATLAB中调试仿真DSP程序。关键词:数字滤波器,Matlab,FIR,CCS1 .设计目的和要求本文主要介绍基于DSP数字滤波器设计,使用CCS5000Simulator实现FTSK数据输入,使用FIR滤波器对FTSK调制信号进行处理,输出需要波形与频谱。文中采用线性缓冲区和带移位双操作寻址方法实现FIR滤波器。通过课程设计,加深对DSP芯片TMS320C54X的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇

3、编语言讲法规则。学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。2系统功能介绍一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,字滤波器也是使用最为广泛的信号处理算法之一。在本设计中,使用MATLAB莫拟产生合成信号,然后利用CCS行滤波。设定模拟信号的采样频率为32000Hz,。设方f一个FIR低通滤波器,其参数为:滤波器名称:FIR低通滤波器采样频率:Fs=40000Hz通带:4000Hz4500Hz过渡带:2500Hz3000Hz,3500Hz4

4、000Hz带内波动:0.5dB阻带衰减:50dB滤波器级数:N=154滤波器系数:由MATLA眼据前述参数求得。3总体设计方案流程图查看程序运行后的输入输出波形并比较滤波效果二.设计原理及操作步骤1滤波器原理对于一个FIR滤波器系统,它的冲击响应总是又限长的,其系统函数可记为:其中N-1是FIR的滤波器的阶数,?”为延时结,包为端口信号函数。最基本的FIR滤波器可用下式表示:一1其中工5.A)输入采样序列,为伏)是滤波器系数,N是滤波器的阶数Y(n)表示滤波器的输出序列,也可以用卷积来表示输出序列y(n)与x(n)、h(n)的关系,如下:y(n)=x(n)*h(n)2 DSP实现FIR滤波的关

5、键技术(1)用线性缓冲区实现FIR滤波器(2)用循环缓冲区实现FIR滤波器3 .操作步骤(1)打开matlab软件,根据滤波要求设置滤波器类型、通带截止频率、指定阶数、采样频率等设计相关的matlab语言。指定完设计参数后运行得出波形。(2)把生成的滤波器系数传到目标DSP编译CCS1序,如果有错误,按错误进行修改;没错误,则往下执行。(3)加载初始化DAT徵据。运行程序,查看输入输出波形,修改相应参数进行调试4程序流程在本实验中使用MATLAB拟产生信号,观察滤波前的时域波形和频域波形。MATLAB真后,使用得到的滤波器参数,进行DSPS?,在DS砰实现带通滤波,并使用CCS勺频谱分析功能,

6、查看DSP勺滤波效果。(1)MATLA程序流程图如图1所示2.CCSE编程序流程图如图2所示滤波结束三.设计结果及波形图MATLABf助DSP实现FIR,其总体过程为在DSP中编写处理程序,在MATLAB中利用滤波器设计、分析工具(FDATOOL)根据指定的滤波器性能快速设计一个FIR,然后把滤波器系数以头文件形式导入CCS中,头文件中MATLABffi助DSP实现FIR数字滤波器含滤波器阶数和系数数组,在MATLA冲调试、运行DSP程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLABt设计的滤波器系数改变时,相应头文件中系数也改变,方便了程序调试

7、、仿真。(一)在MATLA呻先编写程序,查看待滤波和已滤波的信号的时域和频域波形,如图1和图2所示。已滤波的信号的时域和频域波形,如图5和图6所示。)在CCS进行调试,实现带通滤波的功能。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,上图为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性修改相应设置,输出如下图所示滤波前信号频谱。outppnitwaveX通过本次课程设计,我进一步了解了数字滤波是信号处理技术,掌握了数字滤波器的基本理论知识以及它实现方法,学习了数字滤波器的结构、设计理论,还掌握了其他数字滤波器的原理和特性,并且复习了MATLAB的相关知识,掌握了CC

8、S环境下的程序开发方法、调试工具的使用及优化级别的选择等,利用MATLAB与CCS设计了低通滤波器以及高通滤波器。在设计中我们利用DSP来快速设计FIR数字滤波器的方法,寻找系数的快速传递,MATLAB中调试仿真DSP程序,并且解决了在实验设计中遇到的各种问题和错误,如采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。在CCS中未定义标号,程序运行错误等等,真的学到了很多东西,锻炼了动手能力。DSP是以众多学科为理论基础的,它所涉及的范围极其广泛。所以在今后的工作和学习生活中,我们要多多综合运用模拟电子、数字电子和DSP基本原理等课程中所学的理论知识去独立完成一个项目的设

9、计。参考文献1基于MATLAB的系统分析与设计西安电子科技大学出版社楼顺天,李博函著2基于MatLab与DSP的滤波器的快速设计方法.现代计算机王秀芳,关凌涛著3基于定点DSP的FIR数字滤波器的研究与设计.曲阜师范大学赵秀玲等著4MATLAB在数字信号处理中的应用M.北京:机械工业出版社罗军辉,罗勇江等著.附件:汇编程序清单:Fir.asm内容:.titlefir.asm.mmregs.global_c_int00ORDER.set154D_LEN.set1024xn.usectxn,(ORDER-1)a0.usecta0,(ORDER-1)input.usectinput,D_LENout

10、put.usectoutput,D_LEN.copyHM.h.text;为汇编源程序取名;定义存储器映像寄存器;TheLengthofInputData;Getcoefsfromcoef.h;定义文本代码段.asgAR0,FIR_INDEX.asgAR2,FIR_DATA.asgAR3,FIR_COEF.asgAR5,DATA_IN.asgAR6,DATA_OUTc_int00:SSBXFRCTSTM#a0,FIR_COEFRPT#ORDER-1MVPD#coeff,*FIR_COEF+STM#1,FIR_INDEXSTM#xn,FIR_DATARPTZA,#ORDER-1STLA,*FIR_

11、DATA+STM#(xn+ORDER-1),FIR_DATASTM#(a0+ORDER-1),FIR_COEFSTM#input,DATA_INSTM#output,DATA_OUTSTM#D_LEN-1,BRCRPTBDnext-1STM#ORDER,BKLD*DATA_IN+,AFIR:STLA,*FIR_DATA+%;Copya0(coefs)toFIR_COEF(AR3);从程序数据器到数据存储器;重复传送地址;Copyxn(data)toFIR_DATA(AR2);将A清零,重复执行下条指令155次;将A的低字内容送到数据存储里;Getdatafrominput;Writedatat

12、ooutput将A的低字内容放到程序存储里面RPTZA,(ORDER-1)MAC*FIR_DATA+0%,*FIR_COEF+0%,A;FIRS;执行乘法并累加,结果放在A中STHA,*DATA_OUT+;将A的高字内容放到输出的数据存储里面nextFIR_END:BFIR_END.endFIR.m的程序如下:fs=40000;%/采样HzN=1024磁据个数T=1/fs;嗾样周期n=0:N-1;df=n*(fs/N)%寺滤波信号波形xin=randn(1,1024)figure(1)plot(xin)%寺滤波信号频谱xinff=abs(fft(xin);figure(2)plot(df,xi

13、nff)%滤波后信号波形y_filter_out=filter(B,1,xin)%Y=FILTER(B,A,X)figure(3)plot(y_filter_out)触波后信号频谱yff=fft(y_filter_out);figure(4)plot(df,yff)xin=xin/max(xin);%三一化xto_ccs=round(32767*xin)%整fid=fopen(input1.dat,w);%丁开文件fprintf(fid,16511000n);喻出文件头fprintf(fid,%dn,xto_ccs);喻出fclose(fid);Fir.m内容:f11=2500;%/Hzf12

14、=5500;%/Hzf13=9000;fs=32000;%/采样HzN=500磁据个数T=1/fs;%采样周期n=0:N;x11=sin(2*pi*f11*n*T);x12=0.7*sin(2*pi*f12*n*T);x13=0.5*sin(2*pi*f13*n*T);x_base=(x11+x12+x13);%寺滤波信号波形figure(1)plot(x_base)阳寺滤波信号频谱figure(2)yff=abs(fft(x_base)df=n*(fs/N)plot(df,yff)y_f_out=filter(B,1,x_base);y_f_fft=abs(fft(y_f_out);figure(3)plot(y_f_out)figure(4)plot(df,y_f_fft)xout=x_base/max(x_base);%三一化xto_ccs=round(32767*xout)fid=fopen(input129.dat,w);%丁开文件fprintf(fid,1651

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论