版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 DSP技术与应用课程设计报告 选题名称: 基于DSP的数字滤波器设计与仿真 系(院): 计算机工程学院 专 业: 计算机科学与技术(嵌入式方向) 班 级: 计算机1073班 姓 名: 学 号: 指导教师: 学年学期: 2009 2010 学年 第 2 学期 2010年 6 月 18 日摘要:DSP作为一门新兴学科,越来越引起人们的关注,目前已广泛应用在各个领域。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。本文主要介绍基于DSP数字滤波器设计,使用 CCS5000Simulator 实现FTSK数据输入, 使用FIR滤波器对FTSK调制信号进
2、行处理,输出需要波形与频谱。文中采用线性缓冲区和带移位双操作寻址方法实现FIR滤波器。以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现,实现时,先在CCS5000仿真开发,然后加载。利用DSP来快速设计FIR数字滤波器的方法,寻找系数的快速传递,MATLAB中调试仿真DSP程序。关键词:数字滤波器,Matlab,Simulator目录 TOC o 1-3 h z u HYPERLINK l _Toc264628418 1 课程设计综述 PAGEREF _Toc264628418 h 1 HYPERLINK l _Toc264628
3、419 1.1课程设计概述 PAGEREF _Toc264628419 h 1 HYPERLINK l _Toc264628420 1.2 课程设计目的和要求 PAGEREF _Toc264628420 h 1 HYPERLINK l _Toc264628421 2系统功能介绍及总体设计方案 PAGEREF _Toc264628421 h 1 HYPERLINK l _Toc264628422 2.1系统功能介绍 PAGEREF _Toc264628422 h 1 HYPERLINK l _Toc264628423 2.2总体设计方案流程图 PAGEREF _Toc264628423 h 2
4、HYPERLINK l _Toc264628424 3主要内容和步骤 PAGEREF _Toc264628424 h 2 HYPERLINK l _Toc264628425 3.1滤波器原理 PAGEREF _Toc264628425 h 2 HYPERLINK l _Toc264628426 3.2 DSP 实现FIR滤波的关键技术 PAGEREF _Toc264628426 h 2 HYPERLINK l _Toc264628427 3.3操作步骤 PAGEREF _Toc264628427 h 4 HYPERLINK l _Toc264628428 4详细设计 PAGEREF _Toc2
5、64628428 h 4 HYPERLINK l _Toc264628429 5实验过程 PAGEREF _Toc264628429 h 6 HYPERLINK l _Toc264628430 总 结 PAGEREF _Toc264628430 h 12 HYPERLINK l _Toc264628431 参考文献 PAGEREF _Toc264628431 h 131 课程设计综述1.1课程设计概述本文主要介绍基于DSP数字滤波器设计,使用 CCS5000Simulator 实现FTSK数据输入, 使用FIR滤波器对FTSK调制信号进行处理,输出需要波形与频谱。文中采用线性缓冲区和带移位双操
6、作寻址方法实现FIR滤波器。1.2 课程设计目的和要求通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。2系统功能介绍及总体设计方案2.1系统功能介绍一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字
7、滤波器也是使用最为广泛的信号处理算法之一。在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。设定模拟信号的采样频率为32000Hz,。设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: Fs=40000Hz通带: 4000Hz4500Hz过渡带: 2500Hz3000Hz,3500Hz4000Hz带内波动: 0.5dB阻带衰减: 50dB滤波器级数: N=154滤波器系数: 由MATLAB根据前述参数求得。2.2总体设计方案流程图使用MATLAB编写程序产生待滤波数据使用MATLAB滤波器的设计分析工具FDATOOL设计FIR滤波器使用CCS编写程
8、序实现滤波功能查看程序运行后的输入输出波形并比较滤波效果 3主要内容和步骤3.1滤波器原理对于一个FIR滤波器系统,它的冲击响应总是又限长的,其系统函数可记为:其中N-1是FIR的滤波器的阶数,为延时结,为端口信号函数。最基本的FIR滤波器可用下式表示:其中输入采样序列,是滤波器系数,N是滤波器的阶数Y(n)表示滤波器的输出序列,也可以用卷积来表示输出序列y(n)与x(n)、h(n)的关系,如下: y(n)=x(n)*h(n)3.2 DSP 实现FIR滤波的关键技术用线性缓冲区实现FIR滤波器 程序清单: .title “FIR1.ASM” .mmregs .def start x .usec
9、t “x”,8 PA0 .set 0 PA1 .set 1 .data COEF: .word 1*32768/10 .word 2*32768/10 .word -4*32768/10 .word 3*32768/10 .word -4*32768/10 .word 2*32768/10 .word 1*32768/10 .textstart: SSBX FRCT STM #x+7,AR2 STM #6,AR0 LD #x+1,DP PORTR PA1,x+1FIR1: RPTZ A,#6 MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2+,PA0 BD FIR
10、1 PORTR PA1,*AR2+0 .end 用循环缓冲区实现FIR滤波器 程序清单: .title “FIR2.ASM” .mmregs .def start .bss y,1xn .usect “xn”,7b0 .usect “b0”,7PA0 .set 0PA1 .set 1 .datatable: .word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 4*32768/10 .word 5*32768/10 .word 6*32768/10 .word 7*32768/10 .text start: SSBX FRCT STM
11、 #b0,AR1 RPT #6 MVPD table,*AR1+ STM #xn+6,AR2 STM #b0+6,AR3 STM #7,BK STM #-1,AR0 LD #xn,DP PORTR PA1,xnFIR2: RPTZ A,#6 MAC *AR2+0%,*AR3+0%,A STH A,y PORTW y,PA0 BD FIR2 PORTR PA1,*AR2+0% .end 3.3操作步骤(1)打开FDATOOL,根据滤波要求设置滤波器类型、通带截止频率、指定阶数、采样频率等。指定完设计参数后单击按钮Design Filter,生成滤波器系数。(2)把生成的滤波器系数传到目标DSP。
12、选择菜单Targets-Export to Code Composer Studio(tm)IDE,打开Export to C Header File对话框,选择C header file,指定变量名(滤波器阶数和系数向量),输出数据类型可选浮点型或32 b,16 b整型等,根据自己安装选择目标板板号和处理器号,单击OK,保存该头文件,需指定文件名(filtercoeffh)和路径(保存在c:timyprojectsfir工程中)。(3)修改CCS汇编程序,删掉数据前的所有文字,在开头加上.data,第二行加coeff .word,在每行的前面加上.word,比且把每行的最后的逗号去掉。(4)
13、编译汇编程序,如果有错误,按错误进行修改;没错误,则往下执行。(5)加载初始化DATA数据。运行程序,查看输入输出波形,修改相应参数进行调试4详细设计在本实验中使用MATLAB模拟产生信号,观察滤波前的时域波形和频域波形。MATLAB仿真后,使用得到的滤波器参数,进行DSP编程,在DSP中实现带通滤波,并使用CCS的频谱分析功能,查看DSP的滤波效果。MATLAB程序流程图如图1所示 初始化产生需要虑波信号 画出原始信号频谱图 生成fir滤波器 进行滤波 画出滤波后信号频谱图图1 MATLAB程序流程图CCS汇编程序流程图如图2所示 初始化 输入原始信号 定义滤波器系数为原始信号和系数指定寄存
14、器 做滤波算法 本次滤波结束待滤波系数减一是是否有待滤波数据 滤波结束图2 CCS汇编程序流程图5实验过程5.1汇编语言1、实验步骤与内容MATLAB辅助DSP 实现FIR ,其总体过程为在DSP 中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,然后把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时
15、,相应头文件中系数也改变,方便了程序调试、仿真。在MATLAB中先编写程序,查看待滤波和已滤波的信号的时域和频域波形,如图1和图2所示。利用FDA TOOL 设计FIR 滤波器的参数,操作步骤如图3所示。打开Export,把Numerator改为B,如图4所示。图6 EXPORT设置已滤波的信号的时域和频域波形,如图5和图6所示。MATLAB滤波器设计工具在完成FIR设计后,如图7所示,在Export as中选择16bit符号整数输出,然后单击OK按钮。生成fir.h C语言头文件。将系数稍作修改,调整后拷贝到程序的系数初始化空间即可。图7 MATLAB输出数值类型转换(二)在CCS中编写汇编
16、语言程序,进行调试,实现带通滤波的功能。在CCS IDE 中建立LHM.pjt工程,用汇编语言编写处理主程序fir.asm。另外根据板上的存储器配置方式,编写存储器配置文件fir.cmd文件,将MATLAB生成的LHM.h和input1.dat文件拷贝到LHM.pjt工程文件夹下,进行编译、链接,生成可执行文件LHM.out。 (三)加载初始化data数据,图8所示。图8 data初始化运行程序,查看输入输出波形,修改相应参数进行调试。5.2实验过程中出现的错误及解决的办法(1)在MATLAB程序设计中,采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。(2)FIR.m中
17、的采样频率要和开始设置时的采样频率一致,否则结果会出现偏差。(3)在CCS中未定义标号,程序运行错误。(4)在.h文件中未把coeff顶格写,编译时出现错误。(5)未将fir.h和input.dat文件考入工程文件中。(6)间接寻址过程中,程序中丢失。 (7) 在View的Graph中单击Time/frequency出现graph property dialog框,未修改抽样点数。显示的图形出现差异3、CCS程序运行后的各种输出结果在View的Graph中单击Time/frequency出现graph property dialog框。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进
18、行设置,输出各种波形。输出滤波前的信号时域波形。首先,设置如图9所示,输出滤波前的信号时域波形。单击OK后生成如下图10波形。图10为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性。修改相应设置,输出如图11所示滤波前信号频谱。 经过滤波后,时域波形如图12所示。总 结通过本次课程设计,让我了解了数字滤波是信号处理技术中的重要部分,研究了数字滤波器的基本理论知识以及它实现方法。学习了数字滤波器的结构、设计理论,掌握了各种数字滤波器的原理和特性。并且复习了MATLAB的相关知识,并且利用MATLAB与CCS设计了低通滤波器以及高通滤波器,还研究了如何在定点DSP中实现数字滤波器的算法,学
19、到了16位定点DSP芯片TMS320C5402的硬件、软件结构和特性,掌握了CCS环境下的程序开发方法、调试工具的使用及优化级别的选择等。. .研究了MATLAB环境下FIR数字滤波器的设计方法,利用MATLAB软件编程实现FIR滤波器设计。利用DSP来快速设计FIR数字滤波器的方法,寻找系数的快速传递,MATLAB中调试仿真DSP程序。DSP作为一门新兴学科,越来越引起人们的关注,目前已广泛应用在各个领域。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是(DSP)利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值
20、、增强、压缩、识别等处理,以得到符合们需要的信号形式。数字信号处理(DSP)是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理DSP是以众多学科为理论基础的,它所涉及的范围极其广泛。所以在今后的工作和学习生活中,综合运用模拟电子、数字电子和DSP基本原理等课程中所学的理论知识去独立完成一个项目的设计。不仅要完善以上的MATLAB设计方法,更要学会利用多种途径设计各种DSP最小系统,熟练C语言编程。参考文献1 李真芳
21、,苏涛等.DSP程序开发一MATLAB调试及直接目标代码生成M.西安:西安电子科技大学出版社,2003.87一163.2 楼顺天,李博函.基于MATLAB的系统分析与设计一信号处理M.西安:西安电子科技大学出版社,1998.81一88.3王秀芳,关凌涛.基于MatLab与DSP的滤波器的快速设计方法期刊文章.现代计算机,2008,总第二七七期:97994赵秀玲.基于定点DSP的FIR数字滤波器的研究与设计硕士论文.曲阜师范大学,2007.15325罗军辉,罗勇江等.MATLAB在数字信号处理中的应用M.北京:机械工业出版社,2005.63一128.附件:源程序清单汇编程序清单:lhm.h文件内
22、容: .datacoeff .word -85, -64, -61, -36, 8, 62, 110, 136, 131 .word 96, 42, -11, -44, -44, -11, 39, 85, 106 .word 88, 37, -29, -83, -101, -73, -7, 70, 124 .word 131, 82, -5, -96, -151, -144, -72, 37, 140 .word 191, 162, 61, -76, -191, -231, -174, -35, 132 .word 256, 278, 180, -7, -208, -337, -330, -1
23、76, 72 .wor 316, 445, 392, 156, -178, -475, -599, -470, -108 .word 361, 745, 857, 594, -6, -748, -1336, -1456, -893 .word 386, 2192, 4154, 5816, 6768, 6768, 5816, 4154, 2192 .word 386, -893, -1456, -1336, -748, -6, 594, 857, 745 .word 361, -108, -470, -599, -475, -178, 156, 392, 445 .word 316, 72, -
24、176, -330, -337, -208, -7, 180, 278 .word 256, 132, -35, -174, -231, -191, -76, 61, 162 .word 191, 140, 37, -72, -144, -151, -96, -5, 82 .word 131, 124, 70, -7, -73, -101, -83, -29, 37 .word 88, 106, 85, 39, -11, -44, -44, -11, 42 .word 96, 131, 136, 110, 62, 8, -36, -61, -64 .word -85Fir.asm内容:.tit
25、lefir.asm ;为汇编源程序取名.mmregs ;定义存储器映像寄存器.global_c_int00ORDER .set 154D_LEN.set 1024; The Length of Input Dataxn.usectxn,(ORDER-1)a0.usecta0,(ORDER-1)input.usectinput,D_LENoutput.usectoutput,D_LEN.copy HM.h; Get coefs from coef.h.text ;定义文本代码段.asgAR0, FIR_INDEX.asgAR2, FIR_DATA.asgAR3, FIR_COEF.asgAR5,
26、 DATA_IN.asgAR6, DATA_OUT_c_int00:SSBX FRCT STM #a0,FIR_COEF; Copy a0(coefs) to FIR_COEF(AR3) RPT #ORDER-1 ;从程序数据器到数据存储器 MVPD #coeff,*FIR_COEF+ ;重复传送地址 STM#1, FIR_INDEX STM#xn, FIR_DATA; Copy xn(data) to FIR_DATA(AR2) RPTZ A,#ORDER-1 ;将A清零,重复执行下条指令155次 STLA, *FIR_DATA+ ;将A的低字内容送到数据存储里STM #(xn+ORDER-
27、1), FIR_DATASTM #(a0+ORDER-1), FIR_COEFSTM#input, DATA_IN; Get data from inputSTM#output, DATA_OUT; Write data to outputSTM#D_LEN-1, BRCRPTBDnext-1STM#ORDER, BKLD*DATA_IN+, AFIR:STLA, *FIR_DATA+% ;将A的低字内容放到程序存储里面RPTZA, (ORDER-1)MAC*FIR_DATA+0%, *FIR_COEF+0%, A; FIRS ;执行乘法并累加,结果放在A中STHA, *DATA_OUT+ ;
28、将A的高字内容放到输出的数据存储里面 nextFIR_END:B FIR_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,xinff)%滤波后信号波形y_filter_out=filter(B,1,xin)% Y = FILTER(B,A,X)figure(3)plot(y_filter_out)%滤波后信号频谱yf
29、f=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,1651 1 0 0 0n);%输出文件头fprintf(fid,%dn,xto_ccs);%输出fclose(fid);C程序清单lhm.h文件内容:/* * Filter Coefficients (C Source) generated by the Filter Design and Analysis Tool * * Gener
30、ated by MATLAB(R) 7.0.1 and the Signal Processing Toolbox 6.2.1. * * Generated on: 11-Dec-2009 10:27:37 * */* * Discrete-Time FIR Filter (real) * * Filter Structure : Direct-Form FIR * Filter Order : 110 * Stable : Yes * Linear Phase : Yes (Type 1) */* General type conversion for MATLAB generated C-
31、code */#include C:MATLAB701externincludetmwtypes.h/* * Expected path to tmwtypes.h * C:MATLAB701externincludetmwtypes.h */* * Warning - Filter coefficients were truncated to fit specified data type. * The resulting response may not match generated theoretical response. * Use the Filter Design & Anal
32、ysis Tool to design accurate * int16 filter coefficients. */const int BL = 111;const int16_T B111 = -100, 654, -605, -216, 140, 234, 138, -25, -145, -158, -69, 63, 155, 145, 36, -104, -181, -138, 6, 159, 212, 121, -65, -223, -237, -85, 145, 295, 250, 21, -248, -370, -239, 79, 379, 443, 196, -227, -5
33、44, -511, -100, 452, 765, 569, -90, -823, -1105, -614, 502, 1602, 1844, 641, -1953, -5169, -7819, 23925, -7819, -5169, -1953, 641, 1844, 1602, 502, -614, -1105, -823, -90, 569, 765, 452, -100, -511, -544, -227, 196, 443, 379, 79, -239, -370, -248, 21, 250, 295, 145, -85, -237, -223, -65, 121, 212, 159, 6, -138, -181, -104, 36, 145, 155
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025户外广告施工合同书
- 2025年苏州运输从业资格证考试试题库
- 2025年张家界货运从业资格证继续教育考试题
- 2025年四川货运从业资格证题库答案
- 2025解除(终止)劳动合同协议书
- 2025年宁波货运从业资格证模拟考试题库
- 2025工程款抵房款合同版
- 中国免漆橱柜门板项目投资可行性研究报告
- 中国PP自吸过滤机项目投资可行性研究报告
- 无证无照经营培训
- 河口水闸工程项目施工组织设计及进度计划
- 国家开放大学2024春《1494员工劳动关系管理》期末考试真题及答案-开
- 中小学生研学旅行实务 课件 项目5、6 研学旅行实施主体、研学旅行服务机构
- 《读书·目的和前提》《上图书馆》课件
- 总承包公司项目管理岗位质量职责及管理动作清单
- 城市轨道交通工程施工现场安全生产风险点清单
- 黑龙江省龙东地区2025届英语九上期末监测模拟试题含解析
- 2024年人教版小学三年级科学(上册)期末试卷及答案
- 公共广播系统施工与方案
- 2024年个人信用报告(个人简版)样本(带水印-可编辑)
- 硒鼓回收处理方案
评论
0/150
提交评论