DSP课程设计报告—刘雅琪_第1页
DSP课程设计报告—刘雅琪_第2页
DSP课程设计报告—刘雅琪_第3页
DSP课程设计报告—刘雅琪_第4页
DSP课程设计报告—刘雅琪_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

一、 课程设计的目的和要求1.1课程设计目的:本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。通过课程设计,使学生加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。 1.2课程设计要求1、认真查阅资料2、课程设计前认真预习3、遵守课程设计时间安排4、认真保质保量完成设计要求5、认真书写报告二、系统功能介绍及总体设计方案21 功能介绍 随着信息技术和计算机技术的飞速发展,数字信号处理技术在众多领域得到广泛应用。数字滤波器由于其精度高、 稳定性好、 使用灵活等优点,广泛应用在各种数字信号处理领域。数字滤波器根据冲击响应函数的时域特性,可以分为 FIR(有限长冲激响应滤波器)和 IIR(无限长冲激响应滤波器) 。FIR 滤波器与 IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。而且, FIR 滤波器的单位抽样响应是有限长的,故一定是稳定的,他又可以用快速傅里叶变换( FFT)算法来实现过滤信号,可大大提高运算效率。本课程设计的是一个等波纹FIR低通滤波器,其具体参数为:采样频率=1000Hz,通带频率=150Hz截止频率=250Hz,通带衰减=0.5dB阻带衰减=80dB。22 总体设计方案: 先进行Matlab程序设计产生待滤波数据(借助设计工具FDATOOL产生设计系数),将其导入CCS,在CCS上进行仿真调试运行,得到了输入和输出的波形及其频谱。MATLAB编程产生待滤波数据观察输入输出波形CCSMATLAB滤波器设计工具FDATOOL设计系数 图1 总体设计框图三、主要设计内容和步骤3.1 FIR数字滤波器的原理分析3.1.1 FIR数字滤波器数字滤波器原理一般具有如下差分方程 (l)式中为输入序列,为输出序列,和为滤波器系数,N是滤波器阶数。当所有的均为零,则有 (2)(2)式是FIR滤波器的差分方程,其一般形式为 (3)对(3)式进行变换,整理后可得FIR滤波器的传递函数FIR的直接型结构: 图2 FIR的直接型结构 FIR滤波器最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位冲激响应是一个有限长序列。如果是实数,且满足偶对称或奇对称的条件,即或,则滤波器具有线性相位特性。偶对称线性相位FIR滤波器(N为偶数)的差分方程表达式为:线性相位FIR滤波器是用得最多的FIR滤波器。 FIR滤波器不断地对输入样本延时后,再作乘法累加算法,将滤波结果输出,因此FIR滤波算法实际上是一种乘法累加运算。在数字滤波器中,FIR滤波器的最主要特点是没有反馈回路,故不存在不稳定的问题。同时可以在随意设置幅度特性的同时,保证精确无误的线性相位。稳定的线性相位特性是FIR滤波器的突出优点。 3.1.2 系数对称的FIR滤波器对于系数对称的FIR滤波器,由于其具有线性相位特性,因此应用很广,特别是对相位失真要求很高的场合,如调制解调器(MODEM)。一个N=8的FIR滤波器,若,就是对称FIR滤波器,其输出方程为:总共有8次乘法和7次加法。如果改写成:则变成4次乘法和7次加法。可见乘法运算的次数减少了一半。这是对称FIR的有一个优点。 对称FIR滤波器的C54x实现的要点(1) 在数据存储区中开辟两个循环缓冲区,New循环缓冲区中存放N/2=4个新数据;Old循环缓冲区中存放老数据。循环缓冲区的长度为N/2。 x(n-4) x(n-5)x(n-6)x(n-7)数据存储器 New循环缓冲区 Old循环缓冲区x(n) x(n-3) x(n-2) x(n-1)AR280h88h AR38Bh8Ah89h82h83h81h 程序存储器COEF系数表 高地址低地址 图3(2)设置循环缓冲区指针,AR2指向中最新的数据,AR3指向中最老的数据。(3)在程序存储器中设置系数表。(4)(累加器A的高位) (5)将累加器B清0,重复执行4次(i=0,1,2,) *系数 系数指针(PAR)加1 AR2和AR3减1(6)保存和输出结果(结果在BH中)(7)修正数据指针,让AR2和AR3分别指向New缓冲区中最新的数据和Old缓冲区中最老的数据。(8)用New缓冲区中最老的数据替代Old缓冲区中最老的数据。Old缓冲区指针减1。(9)输入一个新数据替代New缓冲区中最老的数据。重复执行第(4)(9)步3.1.3 关键指令在编程中要用到FIRS(系数对称有限冲激响应滤波器)指令,其操作如下:FIRS Xmem,Ymem,Pmad执行 PmadPAR 当(B)+(A(32-16)*(由PAR寻址Pmem)B(Xmem)+(Ymem)=2Fh来设置混合波的相应频率,以取得准确的滤波效果。(2)使用探针方法输入数据时,一般要求输入数据是16进制的小数表示,但如果输入10进制的也可以,但需在两次确认之后才可以输入。 (3)在图形窗口观察结果时,如果所观察的图形不明显,可以通过设置幅度值来改善效果。 (4)在程序中对输入的数据处理时,因注意在Matlab得到的小数要在CCS中得以应用必须符合小数运算的规则。当发生溢出时,则用其最大正数或者最大负数加载累加器。总之,滤波器设计是我们实际系统应用中重要的一方面,相比传统的R,L,C元件和运算放大器组成的块滤波器,更有发展的潜力。相信这次课程设计,对于我以后的学习和工作会带来很大的帮助!七、参考文献1程佩青.数字信号处理教程.北京:清华大学出版社,19952戴明帧.TMS320C54x DSP 结构原理以应用.北京.北京航空航天大学出版社,20073DSP原理及应用.北京.中国水利水电出版社,2004附录一:源程序清单(.asm文件) *系数对称的FIR滤波器设计* .title FIR.asm .mmregs .def _c_int00N .set 28 size .set N/2 ;FIR滤波器阶数x_new .usectx_new,N/2 ;自定义数据空间x_old .usectx_old,N/2 ;自定义数据空间KS .set 256 ;输入样本数据个数input .usectinput,KS output .usectoutput,KS .data .copy fdacoefs4.h ;FIR滤波器系数 .text_c_int00: SSBXFRCT ;设置FRCT(小数方式)位 STM #x_new,AR2 ;AR2指向New缓冲区第一个单元 STM #x_old+(size-1),AR3 ;AR3指向Old缓冲区最后一个单元 STM #-1,AR0 ;AR0=-1,双操作数减量 STM #output,AR5 STM #input,AR4STM #KS-1,BRC ;块重复计数GS次RPTBD LOOP-1STM #size,bk ;循环缓冲区块大小BK=sizeLD *AR4+,ASTL A,*AR2 ;输入样本值FIR: ADD *AR2+0%, *AR3+0%,A ;AH=x(n)+x(n-N+1) RPTZ B,#size-1 ;B=0,下条指令执行size次 FIRS *AR2+0%,*AR3+0%,COEF ;B=B+AH*h(0),AH=x(n-1)+x(n-N+2) ;执行该指令size次 STHB,*AR5+ ;保存滤波输出数据到AR5所指向单元 MAR *+AR2(2)% ;修正AR2,指向New缓冲区最老的数据 MAR *AR3+% ;修正AR3,指向Old缓冲区最老的数据 MVDD *AR2,*AR3+0% ;用New缓冲区最老的数据替代Old缓冲区中最;老的数据LOOP:EEND B EEND ;循环等待 .end* 复位向量文件* .title FIR_V.asm .ref _c_int00 .sect VECTORS ;定义向量表,紧随其后的是名为VECTORS的复位向量reset: b _c_int00 .end附录二:链接命令文件(.cmd文件)MEMORYPAGE 0:ROM:org=0x0E00,len=0x1000VEC:org=0xff80,len=0x0080PAGE 1:SPRAM:org=0x0060,len=0x0020DARAM:org=0x0080,len=0x2000SECTIONS.text :ROMPAGE 0.data :ROMPAGE 0VECTORS :VECPAGE 0.bss :SPRAM PAGE 1x_new : DARAM PAGE 1 x_old : DARAM PAGE 1output :DARAM PAGE 1input :DARAM PAGE 1附录三:滤波器系数表(.h文件) COEF .word 15, -3, -158, -448, -583, -172, 663, 1008, 2 .word -1764, -2046,1075, 6744, 11298, 11298, 6744, 1075, -2046 .word -1764, 2, 1008, 663, -172, -583, -448, -158, -3 .word 15附录四:Matlab程序(.m文件)f11=50; %/Hzf12=350; %/Hzfs=1000; %/采样HzN=256 ; %数据个数T=1/fs; %采样周期n=0:N;x11=sin(2*pi*f11*n*T);x12=0.7*sin(2*pi*f12*n*T);x_base=(x11+x12);%待滤波信号波形figure(1)plot(x_base)%待滤

温馨提示

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

评论

0/150

提交评论