简单数字信号处理系统的实现_DSP设计报告_第1页
简单数字信号处理系统的实现_DSP设计报告_第2页
简单数字信号处理系统的实现_DSP设计报告_第3页
简单数字信号处理系统的实现_DSP设计报告_第4页
简单数字信号处理系统的实现_DSP设计报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录 1、课程设计的题目与设计要求21.1 课程设计的题目21.2 课程设计的设计要求22、设计的目的和意义23、设计任务24、设计的原理分析24.1 设计总体分析24.2 关键技术数字滤波器概述24.3 FIR和IIR数字滤波器的比较34.4 FIR滤波器设计方法45、设计的流程图45.1 总体设计方案流程图45.2 MATLAB程序流程图55.3 CCS汇编程序流程图56、设计的流程图66.1 MATLAB程序及数据的生成66.2 汇编程序的实现67、设计的效果图67.1 MATLAB生成结果67.2 示波器的显示效果78*、正弦信号发生器的实现88.1 设计的要求88.2 查表法实现正

2、弦波89、小结与体会810、参考文献8附录19附录212简单数字信号处理系统的实现1、课程设计的题目与设计要求1.1 课程设计的题目课程设计的题目:简单数字信号处理系统的实现1.2 课程设计的设计要求利用C5402DSP 实验箱设计一个简单数字信号处理系统,指标为:输入信号AD采样频率为50KHZ;设计一个低通滤波器(FIR),要求截止频率为4KHZ,过渡带2KHZ,阻带衰减大于40dB;将滤波后的信号通过DA输出。2、设计的目的和意义本课程设计是学完DSP芯片及应用技术课程之后,让学生综合运用DSP软硬件知识,进行实际DSP系统的硬件设计,连接和软件编程调试,以加深对DSP基础知识的理解,提

3、高综合应用知识的能力,分析解决问题的能力和DSP技术实践技能,初步培养开发实用DSP系统的能力。3、设计任务课程设计的任务:(1)完成滤波器的选型和滤波器的设计;(2)使用C5402DSP 实验箱连接电路,编程实现设计的滤波器;(3)完成滤波器的性能测试;(4)完成课程设计说明书。4、设计的原理分析4.1 设计总体分析图1所示为一个典型的DSP系统。图中的输入信号可以有各种各样的形式。例如,它可以是麦克风输出的语音信号或是电话线来的已调数据信号,可以是编码后在数字链路上传输或存储在计算机里的摄像机图像信号等。图1 典型的DSP系统输入信号首先进行带限滤波和抽样,然后进行A/D(Analog t

4、o Digital)变换将信号变换成数字比特流。根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少必须是输入带限信号最高频率的2倍。DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作(MAC)。数字处理是DSP的关键,这与其他系统(如电话交换系统)有很大的不同,在交换系统中,处理器的作用是进行路由选择,它并不对输入数据进行修改。因此虽然两者都是实时系统,但两者的实时约束条件却有很大的不同。最后,经过处理后的数字样值再经D/A(Digital to Analog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得

5、到连续的模拟波形。4.2 关键技术数字滤波器概述 所谓数字滤波器,是指输入输出均为数字信号,通过一定的运算关系改变输入信号中所含的频率成分的相对比例,或者滤除某些频率成分的器件。在时域内有如下关系: 数字滤波器总体可以分为两大类,一类称为经典滤波器,输入信号中的有用成分和希望滤除的成分占用不同的频带,通过适当的选频滤波器可实现滤波;另一类称为现代滤波器,如维纳滤波器、卡尔曼滤波器等,其输入信号中有用信号和希望滤除的乘法频带交叠。对于经典滤波器,从频域上还可以分为低通、高通、带通、带阻滤波器。从时域特性上来看,数字滤波器还可以分为有限冲激响应数字滤波器(FIR)和无限冲激响应数字滤波器(IIR

6、)。对于有限冲激响应数字滤波器(FIR)其输出y(n)只取决于有限个过去和现在的输入x(n),x(n-1). x(n-m);对于无限冲激响应数字滤波器(IIR ),它的输出不仅取决于过去和现在的输入,还跟过去的输出有关。FIR和IIR滤波器不论是在性能还是在设计方法上都有着很大的区别,FIR滤波器可以根据给定的频率特性直接设和IIR,其设计步骤如下:(1)确定指标:在设计一个滤波器前必须有一些指标,这些指标需要根据应用确定。(2)模型逼近:一旦确定了指标就可以利用一些基本原理和关系式提出一个滤波器模型来逼近给定的指标体系。这是滤波器设计所要研究的主要问题。(3)实现:上面两步结果得到的滤波器通

7、常是以差分方程系统函数或脉冲响应来描述的。根据这个描述用硬件和计算机软件来实现。在数字滤波器中,FIR滤波器具有如下几个优点:(1)可以在幅度特性随意设计的同时保证精确严格的线性相位。(2)由于FIR滤波器的单位脉冲h(n)是有限长序列,因此FIR滤波器没有不稳定的问题。(3)由于FIR滤波器一般为非递归结构,因此在有限精度运算下,不会出现递归型结构中的极限震荡等不稳定现象,误差较小。(4) FIR滤波器可采用FFT算法实现,从而提高运算效率。4.3 FIR和IIR数字滤波器的比较在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。因此,指标的形式应为频域中的幅度和相位响应。在通

8、带中,通常希望具有线性相位响应。在FIR滤波器中可以得到精确的线性相位。在IIR滤波器中通带的相位是不可能得到的,因此主要考虑幅度指标。IIR数字滤波器的设计和模拟滤波器的设计有着紧密的联系,通常要设计出适当地模拟滤波器,再通过一定的频带变换把它转换成为所需要的数字IIR滤波器。此外,任何数字信号处理系统中也还不可避免地用到模拟滤波器,比如A/D变换器前的抗混叠滤波器及D/A转换后的平缓滤波器,因此模拟滤波器设计也是数字信号处理中应当掌握的技术。 从性能上来说,IIR数字滤波器传递函数包括零点和极点两组可调因素,对极点的唯一限制是在单位圆内。因此可用较低的阶数获得高的选择性,所用的存储单元少、

9、计算量小、效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。FIR滤波器传递函数的极点是固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能,所以要达到高的选择性,必须用高的阶数,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果成本高信号延时也较大,如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样大大增加了滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。 从结构上看,IIR滤波器必须采用递归结构来配置极点,并保证极点位置在单位圆内。由于有限字长效应,运算过程中将对系数进行舍入处理,引

10、起极点的偏移,这种情况有时会造成稳定性问题,甚至造成寄生振荡。相反,FIR滤波器只要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅立叶变换算法,在相同的阶数条件下运算速度可以快的多。 从设计工具看,IIR滤波器可以借助模拟滤波器的成果,因此一般都有有效的封闭形式的设计公式可供参考,计算工作量比较小,而且对计算工具的要求不高;FIR滤波器一般没有封闭形式的设计公式。窗函数法设计FIR滤波器也仅给出了窗函数的计算公式,但是在计算通带阻带衰减时无显示表达式。一般FIR滤波器的设计只有计算程序可循,因此它对计算工具要

11、求较高。 在设计和实现上FIR滤波器具有如下优越性:(1)相位响应可为严格的线性,因此它不存在延迟失真,只有固定的时间延迟。(2)由于不存在稳定性问题,所以设计相对简单。(3)只包含实数算法,不涉及复数算法,不需要递推运算,长度为M的滤波器(阶数为M-1),它的计算值约为M/2。另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有分段常数特性的滤波器,如低通、高通、带通和带阻等,往往脱离不了模拟滤波器的格局。而FIR滤波器则要灵活的多,尤其是他易于适应某些特殊应用,如构成数字微分器或希尔伯特变换器等,因而有更大的适应性和广阔的应用领域。从上面的简单比较可以看到IIR与FIR滤波器各有

12、所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求来看,在对相位要求不敏感的场合,如语言通信等选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高。如果有条件,采用FIR滤波器较好。当然在实际应用中可能还要考虑更多方面的因素。4.4 FIR滤波器设计方法FIR 滤波器的差分方程: 对式子进行Z变换,可得FIR滤波器的传递函数:FIR滤波器的结构:FIR 数字滤波器的设计方法主要有窗函数法和频率抽样设计法,其中窗函数法是基本而有效的设计方法。其滤波结构图如图2所示。图2 滤波结构图数字滤波器中,FIR具有如下几个主

13、要特点:(1)FIR滤波器无反馈回路,是一种无条件稳定系统;(2)FIR滤波器可以设计成具有线性相位特性。5、设计的流程图5.1 总体设计方案流程图图3 总体设计方案流程图5.2 MATLAB程序流程图图4 MATLAB程序流程图5.3 CCS汇编程序流程图图5 汇编程序流程图6、设计的流程图6.1 MATLAB程序及数据的生成MATLAB程序(1)根据读取的数据,输入MATLAB程序如下,(得到结果图如图6):f=43.76,237.87,461.28,611.34,847.14,1281.30,1441.30,1632.74,1830.23,2093.66,2290.57,2426.79,

14、2625.53,2854.32,3089.75,3238.17,3452.41,3618.89,3841.51,4068.83,4285.22,4475.37,4662.19,4819.76,5031.27,5364.79,5557.61,5922.10,6367.96,7029.61,7750.79,8117.45,8696.63,9124.52,9668.77,25000.48f=f/1000H=11.75,10.79,10.88,9.60,9.52,9.44,9.36,9.28,9.21,9.04,8.80,8.64,8.32,7.92,7.36,6.96,6.24,5.76,5.04,

15、4.24,3.52,2.96,2.40,2.00,1.44,0.88,0.68,0.36,0.14,0.074,0.062,0.054,0.050,0.042,0.038,0.020H=H/9.68H=20*log10(H)plot(f,H)xlabel('频率/khz')ylabel('幅度/db')(2)根据以下程序,(得到结果图如图7):Window=chebwin(35,30);b=fir1(34,0.16,'low',Window);freqz(b,1,512)6.2 汇编程序的实现编辑程序:(1)试验准备仿真器的仿真头连接试验箱的JT

16、AG口,USB接头与计算机连接,打开试验箱电源,启动计算机,启动Code Composer Studio 2.2。(2) 创建工程:创建新的工程文件:选择菜单“Projects”的“New”项。建立新工程文件exam8.pjt。展开主窗口左侧工程管理窗口中“Projects”下新建立的“exam8.pjt”,其中各项均为空。新建编辑源程序文件:选择菜单“File”的“New”的“Source File”项,新建源程序文件,保存源程序文件为exam8.asm。编辑源程序文件内容。同样,编辑命令链接文件exam.cmd。编辑中断向量表文件vectors.asm。(详见附录1)(3)编译链接产生可执

17、行文件exam8.out,下载到DSP中执行。(4)用导线链接3KHZ正弦信号到AD输入端,用示波器探头连接VOUT端,观察输出波形。7、设计的效果图7.1 MATLAB生成结果图6图77.2 示波器的显示效果当输入信号AD采样频率为50KHZ;频率为04KHZ时,满足过渡带2KHZ,阻带衰减大于40dB;将滤波后的信号通过DA输出后效果图如图8所示。当不满足时,输出波形失真。图8 示波器的显示效果8*、正弦信号发生器的实现8.1 设计的要求利用C5402DSP实现一个正弦信号发生器,设计指标为:要求可以产生正弦波方波信号,要求信号的频率1001.5kHz范围内可调,并且信号幅度可调,信号通过

18、DA输出。8.2 查表法实现正弦波查表发是一种更为简便的产生正弦波的方波。它只需将预先算好的正弦波波形数据存储在正弦表里,将表中数据一次输出就可产生正弦波。这种方法正弦波的一个周期的点数是不定的,不易调整;而产生的正弦波的频率由数据输出的频率决定,可以通过定时器来调整。(1) 正弦表的产生(2) DSP初始化程序(3) 正弦波频率调整(4) 正弦波幅度调整(5) 中断向量表文件(6) 连接命令文件(上述都详见附录2)9、小结与体会一周的课程设计结束了,这一周对于我来说收获真的不少。运用DSP芯片进行简单的数字信号处理,这个我一看就被吸引了的课题,让我下定决心一定要好好学好做好这一次的课程设计。

19、课程设计周开始,老师给了我们任务,按照书上的每一个步骤开始一点一滴做起。一开始进度有点慢,因为在没有复习的情况下自己了解的东西真的太少。于是我开始有重点的学,在脑中形成对于DSP的整个体系,逐个学习击破。我还利用课后的时间赶进度,发现当有目标的时候学东西真的好快。原本什么都不会,经过一个星期的课程设计,我居然可以很清晰地知道各个的流程及原理,并会自己编改一些效果出来,虽然还有一些细节需要改进。看着自己的编写成果,想想自己每天熬夜看书学习,想想在设计过程中每一次面对困难又解决的快乐不管会是怎么样的结果,至少自己真正努力过,就不会有遗憾,一周,我一直抱着这样的信念坚持到最后一刻。一周的课程设计结束

20、了,回想起来,自己的收获真的不少,努力总会有收获,这是永远都不变的道理。想想这一次的课程设计,自己也会多一点今后学习上的经验和方法。设计结束了,我发现我对DSP更有兴趣了,我也会好好努力把一些我还不是很了解的知识学好。10、参考文献1 邹彦主编,DSP原理及应用M,北京:电子工业出版社,2008。2 丁玉美,高西全,数字信号处理M,西安:西安电子科技大学出版社,2006。3 薛年喜,ATLAB在数字信号处理中的应用M,北京:清华大学出版社。4 汪安民,程昱,DSP实用子程序集,北京:人民邮电出版社,2005。5 刘泉,阙大顺,数字信号处理原理与实现M,北京:电子工业出版社,2005。附录1编辑

21、源程序文件内容: 1 .mmregs .def start .global TINT0_ISRAD_ADDR .set 0x0000DA_ADDR .set 0x0001 .datatable: .word 12*32768/10000 .word 17*32768/10000 .word 22*32768/10000 .word 23*32768/10000 .word 12*32768/10000 .word -17*32768/10000 .word -66*32768/10000 .word -125*32768/10000 .word -172*32768/10000 .word -

22、178*32768/10000 .word -111*32768/10000 .word 49*32768/10000 .word 305*32768/10000 .word 632*32768/10000 .word 983*32768/10000 .word 1299*32768/10000 .word 1518*32768/10000 .word 1596*32768/10000 .word 1518*32768/10000 .word 1299*32768/10000 .word 983*32768/10000 .word 632*32768/10000 .word 305*32768

23、/10000 .word 49*32768/10000 .word -111*32768/10000 .word -178*32768/10000 .word -172*32768/10000 .word -125*32768/10000 .word -66*32768/10000 .word -17*32768/10000 .word 12*32768/10000 .word 23*32768/10000 .word 22*32768/10000 .word 17*32768/10000 .word 12*32768/10000 .bss buffer,1xn .usect "xn

24、",35b0 .usect "b0",35STACK .usect "STACK",10H .text .align 0x10start: STM #STACK+10H,SP STM #0,CLKMDStatus: LDM CLKMD,A AND #01H,A BC Status,ANEQ STM #03EFH,CLKMDK_IPTR .set 0080h LDM PMST,A AND #7FH,A OR #K_IPTR,A STLM A,PMSTPERIOD .set 19 STM #01H,TCR STM #PERIOD,TIM STM #

25、PERIOD,PRD STM #29H,TCR STM #0008H,IMR STM #0008H,IFR SSBX FRCT STM #b0,AR1 RPT #34 MVPD table,*AR1+ STM #xn,AR2 STM #b0+34,AR3 STM #35,BK STM #-1,AR0 RSBX INTMend: nop B end nop nopTINT0_ISR: PSHM ST0 PSHM AR1 STM #buffer,AR1 PORTR #AD_ADDR,*AR2+0%FIR2: RPTZ A,#34 MAC *AR2+0%,*AR3+0%,A STH A,*AR1 P

26、ORTW *AR1,#DA_ADDR POPM AR1 POPM ST0 RETE .end 同样,编辑命令链接文件exam8.cmd,内容如下:-e startMEMORYPAGE 0:EPROM:org=0100H len=1000HVECS: org=0080H len=0080HPAGE 1:SPRAM:org=1000H len=1000HDARAM:org=2000H len=1000HSECTIONS.text :>EPROM PAGE 0.data :>EPROM PAGE 0.bss :>SPRAM PAGE 1xn:>DARAM PAGE 1 ,al

27、ign=64b0:>DARAM PAGE 1 ,align=64.vectors :>VECS PAGE 0编辑中断向量表文件vectors.asm,内容如下: .global start .global TINT0_ISR .sect ".vectors" .align 0x80RESET:BstartNOPNOPNMI: RETE NOP NOP NOPSINT17 .space 4*16SINT18 .space 4*16SINT19 .space 4*16SINT20 .space 4*16SINT21 .space 4*16SINT22 .space

28、4*16SINT23 .space 4*16SINT24 .space 4*16SINT25 .space 4*16SINT26 .space 4*16SINT27 .space 4*16SINT28 .space 4*16SINT29 .space 4*16SINT30 .space 4*16INT0: RETE NOP NOPNOP INT1:RETE NOP NOP NOPINT2:RETE NOP NOPNOPTINT: BTINT0_ISR NOP NOPBRINT0:RETE NOP NOPNOPBXINT0:RETE NOP NOPNOPDMAC0:RETE NOP NOPNOP

29、TINT1:RETE NOP NOPNOPINT3:RETE NOP NOPNOPHPINT:RETE NOP NOPNOPBRINT1:RETE NOP NOPNOPBXINT1:RETE NOP NOPNOPDMAC4:RETE NOP NOPNOPDMAC5:RETE NOP NOPNOP.end附录2(1)正弦表的产生 .datasin64: .word 0,1,4,8,13,19,26,34 .word 43,53,64,75,87,99,112,124 .word 137,150,162,174,186,197,207,217 .word 225,233,239,245,249,2

30、52,254,255 .word 255,254,252,249,245,239,233,225 .word 217,207,197,186,174,162,150,137 .word 124,112,99,87,75,64,53,43 .word 34,26,19,13,8,4,1,0(2)DSP初始化程序1 .title "sin.asm".mmregs.global start.global TINT0SV.global INT2SVIN_ADDR .set 2HAD_ADDR .set 0HDA_ADDR .set 1HOFFSET .set 07F0HSTACK

31、.usect "STACK",10H.include "sintab_WF.asm".bss buffer,1.bss ampl,1.bss frqidx,1sinx .usect "sinx",64.textstart:STM #STACK+10H,SPSTM #0,CLKMDStatus:LDM CLKMD,AAND #01H,ABC Status,ANEQSTM #03EFH,CLKMD;=;K_IPTR .set 0080hLDM PMST,AAND #7FH,AOR #K_IPTR,ASTLM A,PMST;=;SSBX F

32、RCTSTM #sinx,AR1RPT #64-1MVPD #sin64,*AR1+STM #64,BKSTM #1,AR0STM #sinx,AR2;=;PERIOD.set 9STM #10H,TCRSTM #PERIOD,PRDSTM #29H,TCRSTM #000CH,IMRSTM #000CH,IFRRSBX INTMend:nopB end(3)正弦波频率调整INT2SV:PSHM ST0PSHM AR1STM #frqidx,AR1PORTR #IN_ADDR,*AR1LD *AR1,AAND #07FH,ASTL A,*AR1LD #PERIOD,AADD *AR1,ASTM

33、 #10H,TCRSTLM A,PRDSTM #29H,TCRPOPM AR1POPM ST0RETE(4)正弦波幅度调整TINT0SV:PSHM ST0PSHM AR1PSHM AR3STM #buffer,AR1STM #ampl,AR3PORTR #AD_ADDR,*AR3LD *AR3,AAND #0FFFH,ASUB #OFFSET,ASTL A,*AR3MPY *AR3,*AR2+0%,ASFTL A,#-7STL A,*AR1PORTW *AR1,#DA_ADDRPOPM AR3POPM AR1POPM ST0RETE(5)中断向量表文件.global start .global TINT0_I

温馨提示

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

评论

0/150

提交评论