1、DSP嵌入式通信系统课程设计报告题 目: 基于DSP系统的数字滤波器嵌入式设计 专 业: 通信工程 班 级: 通信XXX 2011年 12 月 31 日24DSP嵌入式通信系统课程设计任务书一、课程设计的目的DSP嵌入式通信系统课程设计是专业实践环节之一,是学习完DSP技术与应用和嵌入式系统课程后进行的一次全面的综合练习。其目的让学生掌握通信系统的基本技术,提高学生的综合应用能力。二、课程设计任务 课程设计一、基于DSP系统数字滤波器嵌入式设计课程设计二、基于DSP系统快速傅里叶变换嵌入式设计课程设计三、基于DSP系统语音编码系统嵌入式设计课程设计四、基于DSP系统A/D与D/A与DSP的接口
2、嵌入式设计课程设计五、基于DSP系统计时器系统的嵌入式设计共5个课题选择,学生任选一个课题为自己的课程设计题目,独立完成;具体内容按方向分别进行,不能有雷同;任务包括原理介绍、系统仿真、波形分析等;要求按学校统一的课程设计规范撰写一份设计说明书。三、课程设计时间课程设计总时间2周(10个工作日)四、课程设计说明书撰写规范1、在完成任务书中所要求的课程设计作品和成果外,要撰写课程设计说明书1份 (不少于20000字)。课程设计说明书须每人一份,独立完成。2、设计说明书应包括封面、任务书、目录、摘要、正文、参考文献(资料)等内容,以及附图或附件等材料。正文包括硬件设计的原理框图和原理图、软件设计的
3、程序流程图和具体程序以及实现算法,系统设计应该解决的关键问题、结束语或总结等。3、题目字体用小三,黑体,正文字体用五号字,宋体,小标题用四号及小四,宋体,并用A4纸打印。目录摘要.I前沿.11、嵌入式实时操作系统 C/OS-简介.12、DSP系统简介.2第一章、硬件设计.31、 设计思路和原理框图.32、采用的芯片功能介绍.63、原理图.7第二章、软件设计.111、 设计思路.112、 程序的流程图.123、具体程序.13第三章、系统设计应解决的关键问题.21第四章、设计心得.23参考文献.24摘 要 DSP是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着DSP和
4、信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。DSP由于其本身具有并行的硬件乘法器、流水结构以及快速的片内存储器等资源,其技术已广 泛地应用于噪声及振动的各个领域.本文简单介绍了基于DSP的数字滤波器嵌入式设计。文本简单分析了数字滤波器的基本原理,详细讨论了如何利用MATLAB、ADS、CCS等系统工具来实现FIR数字滤波器的仿真。并且通过对数字滤波器的工作原理和数字滤波器的程序设计流程图,确定了编写思路,写出了源代码,利用学习工具多源代码进行编译、仿真。本文对TMS320C54x芯片作了一系列简单的描述。
5、 本文前沿部分介绍了嵌入式实时操作系统 C/OS- II和DSP系统;正文第一部分是硬件设计,介绍了课程设计的硬件设计思路和原理框图,以及介绍采采用的芯片以及硬件原理图等;第二部分是软件设计,里面包含了设计思路、程序的流程图和具体程序等;第三部分分析了系统设计应解决的关键问题 ;最后就是设计新的和参考文献。 关键词:FTR数字滤波器;DSP; TMS320C54x;MATLAB;嵌入式ABSTRACT DSP is a involves many subjects and widely used in many areas of new discipline. Since the 1960 s
6、, along with DSP and the rapid development of information technology, digital signal processing technology and the development of the rapid arises at the historic moment. In the past twenty years, digital signal processing has been in communication and other areas to be extremely extensive applicati
7、on. DSP because its itself has parallel hardware on time-multiplier, running water structure and fast in memory of resources, the technology has been widely applied in the noise and vibration in various fields. This paper briefly introduced the digital filter based on DSP embedded design. Text simpl
8、e analysis digital basic principle of the filter, detailed discusses how to use MATLAB, ADS, CCS system tool to achieve the FIR digital filters simulation. And through the work principle of digital filter and digital filter program design flow chart, determined the writing ideas, wrote the source co
9、de, and the use of learning tools more compile the source code, and the simulation. In this paper, the TMS320C54x chip of simple description. This paper introduces the front part of the embedded real-time operating system C/OS-II and DSP system; The first part of the text is hardware design, this pa
10、per introduces the hardware design of the curriculum design of idea and principle block diagram, and introduces the hardware and the chip in principle chart, etc.; The second part is the software design, contains the design idea, the program flow chart and specific procedures; The third part of the
11、analysis of the system design of the key problems that should be solved; The last is to design new and references. Keywords: FTR digital filter; DSP; TMS320C54x; MATLAB; embedded。基于DSP系统的数字滤波器嵌入式设计前言1、 嵌入式实时操作系统 C/OS-简介 C/OS-是一个源码开放的嵌入式实时操作系统的内核。c/osii是著名的、源码公开的实时内核,是专为嵌入式应用设计的,可用于各类8位、16位和32位单片机或ds
12、p。从c/os算起0,该内核已有10余年应用史,在诸多领域得到了广泛应用。 C/OS-II的前射是C/OS,最早出自于1992年美国嵌入式系统专家Jean J.Labrosse在嵌入式系统编程杂志的5月和6月刊上刊登的文章连载,并把C/OS的源码发布在该杂志的BBS上。当时就有500多人下载了这份源码。世界上数以千计的工程技术人员将C/OS应用到了各个领域,如照相机业、发动机控制、网络接入设备、高速公路电话系统、ATM机和工业机器人等。许多大学用C/OS作教材,用于实时系统教学。1998年,作者决定出版C/OS的第二本书C/OS-II The Real Time Kernel,并设立了正式的网
13、站:www. C/OS-II.com,给C/OS-II增加了一些新的功能,并且增加了约200页的解释。C/OS和C/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。许多移植的范例可以从网站上得到。用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将C/OS嵌入到开发的产品中。C/OS具有执行效率高、占用空间小、实时性能优良和可扩展性能等特点,最小内核可编译至2KB。C/OS-II已经移植到了几乎所有知名的CPU上。C/OS
14、只支持固定优先级抢占式,不支持时间片轮转调度,调度方法简单、实时性好,用法也简单;eCOS调度方法丰富,适应性好。当然,目前的eCOS只允许在其目标系统中使用一个单独的调度器,未来的版本将可以允许多个调度器协同工作。嵌入式系统的出现至今已经有30多年的历史。纵观嵌入式技术的发展过程,大致经历了四个阶段。(1)无操作系统的嵌入式算法阶段(2)简单监控式的实时操作系统阶段(3)通用的嵌入式实时操作系统阶段(4)以Internet为标志的嵌入式系统嵌入式系统依托微电子技术、操作系统等相关技术的快速发展,目前已经渗透到日常生活。工业生产、通信、交通运输工具等众多领域,极大地推进了信息社会的构建和发展。
15、嵌入式系统技术涵盖了计算机、电子与通信、自动控制等众多领域。作为一个完整的计算机系统嵌入式系统宝货微处理器、存储器、外围电路等硬件结构,以及操作系统、应用程序等软件系统。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成
16、。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。2、DSP系统简介 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处
17、理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。数字信号处理器(DSP)作为一种可编程专用芯片,是数字信号处理理论实用化过程的重要技术工具,在语音处理、图像处理等技术领域得到了广泛的应用。但对于算法设计人员来讲,利用汇编语言或C 语言进行DSP 功能开发,具有周期长、效率低的缺点,不利于算法验证和产品的快速开发。由MathWorks 公司和TI 公司联合开发的DSPMATLAB Link for CCS Development Tools(简称CCSLink)是M
18、ATLAB6.5 版本(Release13)中增加的一个全新的工具箱,它提供了MATLAB、CCS 和DSP 目标板的接口,利用此工具可以像操作MATLAB变量一样来操作DSP 器件的存储器和寄存器,使开发人员在MATLAB 环境下完成对DSP 的操作,从而极大地提高DSP 应用系统的开发进程。MATLAB 具有强大的分析、计算和可视化功能,利用MATLAB 提供的数十个专业工具箱,可以方便、灵活地实现对自动控制、信号处理、通信系统等的算法分析和仿真,是算法设计人员和工程技术人员必不可少的软件工具。 数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部特点:(1)接口方便。DSP系统
19、与其它以现代数字技术为基础的系统或设备都是相互兼容,这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易的多。(2)编程方便。DSP系统种的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级。(3)稳定性好。DSP系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高。(4)精度高。16位数字系统可以达到的精度。(5)可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统基本上不受影响,因此数字系统便于测试,调试和大规模生产。(6)集成方便。DSP系统中的数字部件有高度的规范性,便于大规模集成。 数字信号处理的算法需要利用计算机或专用处理设备如数字信
20、号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。第一章、硬件设计1、设计思路和原理框图(1)对数字滤波器的分析: 数字滤波器是数字信号处理的重要环节,其实 质是用有限精度算法实现的离散时间
21、线性时不变系 统,从而完成对信号进行滤波处理的功能。具有可 靠性好、精度高和灵活性大等优点,广泛应用于语 音、图像处理、HDTV、模式识别和频谱分析等方 面。数字滤波器根据其单位冲激响应函数的时域 特性可分为2类:无限冲激响应(IIR)滤波器和有限 冲激响应(FIR)滤波器。FIR滤波器是有限长单位 冲激响应滤波器,在结构上是非递归型的。它可以 在幅度特性随意设计的同时,保证精确严格的线性 相位,广泛应用于数字信号处理。滤波器就是在时间域或频域内,对已知激励产生规定响应的网络,使其能够从信号中提取有用的信号,抑制并衰减不需要的信号,滤波器的设计实质上就是对提出的要求给出相应的性能指标,再通过计
22、算,使物理可实现的实际滤波器响应特性逼近给出的频率响应特性。FIR数字滤波器是一种非递归系统,其传递函数为:=由此可得到系统的差分方程为:FIR滤波器的结构如下:bN-1bN-2b1b0x(n-N+1)x(n-1)aZ-1Z-1Z-1X(n)y(n)其冲激响应是有限长序列,它 滤波器系数向量,N 为FIR滤波器的阶数。在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性为了使滤波器满足线性相位条件,要求其单位脉冲响应为实序列,且满足偶对称或奇对称条件,即或.这样,当N为偶数时,偶对称线性相位FIR滤波器的差分方程表达为由上
23、可见,FIR滤波器不断地对输入样本延时后,再做乘法累加运算,将滤波器结果输出。因此,FIR实际上是一种乘法累加运算。而对于线性相位FIR滤波器系数的对称特性,可以采用结构精简的FIR结构将乘法器数目减少一半。具体流程图如下:2、采用的芯片功能介绍本次课程设计主要用到TMS320C54x芯片。C54x 包括8 条16 比特宽度的总线 ,一般而言,C54x 的存储空间可达192K16 比特字,64K 程序空间,64K 数据空间,64KI/O 空间。依赖其并行的工艺特性和片上RAM 双向访问的性能,在一个机器周期内,C54x 可以执行4 条行并行存储器操作:取指令,两操作数读,一操作数写。使用片内存
24、储器有三个优点:高速执行(不需要等待),低开销,低功耗。C54x 有片内ROM 、DARAM、 SARAM ,这些区域可以通过软件配置到程序空间。当地址落在这些区域内,自动对这些区域进行访问,当地址落在这些区域以外,自动产生对外部存储器的访问。 C54x 包括:通用I/O 引脚,XF 和BIO;定时器;PLL 时钟产生器;HPI 口8 比特或16 比特;同步串口;带缓存串口BSP;多路带缓存串口McBSP;时分复用串口TDM;可编程等待状态产生器;可编程bank switching 模块;外部总线接口;IEEE1149.1 标准JTAG 口 TMS320C54x引脚图:3、原理图 ADS程序运
25、行图:频率响应 相位响应FIR数字滤波器电路板:低通滤波器仿真图:幅频响应图:第二章、软件设计1、设计思路(1) 、利用MATLAB来确定FIR滤波器的参数;(2) 启动CCS,在CCS中建立一个C源文件和一个命令文件,并将这两个文件添加到工程再编译并装载程序;(3) 设置波形时域观察窗口,得到滤波前后的波形变化图;(4) 设置频域观察窗口,得到滤波前后的频谱变化图。算法分析:根据系统函数的定义,单位冲击响应h(n)长度与N的FIR滤波器的系统函数为:H(z)= FIR系统输入输出关系的差分方程为:y (n)=该公式就是线性时不变系统的卷积公式。 对该式进行z变换可得到FIR滤波器的传递函数:
26、H(z)=N阶有限冲激响应滤波器(FIR)公式: N=0,1,2.2、程序的流程图CCS汇编程序流程图:3、具体程序CCS是TI推出的用于开发其DSP芯片的继承 开发调试工具,集编辑、编译、链接、软件仿真、硬件 调试及实时跟踪等功能于一体,极大地方便了 DSP 程序的设计与开发,此外还提供图形显示功能,方便 用户观察特定地址的波形。在CCS中实现FIR低通滤波器,主要代码如下:(1) 首先要添加工程 Project new.(2) 需向工程中添加vector. asm、fir. cmd和 rts. lib文件,完成后如图: 在工程试图中volume1.c上双击,就可在CCS右边窗口中看到源代码
27、:见附录 (3)打开观察窗口: 选择菜单“View”“Graph”“Time/Frequency” 在弹出的图形窗口中单击鼠标右键,选择“Clear Display”选择菜单“View”、“Graph”、“Time/Frequency”进行如下设置:-在弹出的图形窗口中单击鼠标右键,选择“Clear Display”(4)设置断点在标号“fir_loop”下面的“NOP”语句设置软件断点(Toggle breakpoint)和探针(Toggle Probe Point)。选择菜单“File”、“File I/O”;单击“Add File”按钮,选择C:5416EDULabLab16-FIRlo
28、wpass64300.dat文件,单击“打开”按钮;在“Adress”中输入d_filin,在“Length”中输入1;在“Warp Around”项前面加上选中符号;单击“Add Probe Point”按钮。单击“Probe Point”列表中的“FIR.asm line 38”行;在“Connect”项选择“FILE IN: C:.64300.dat”;单击“Replace”按钮;单击“确定”按钮。 单击“确定”按钮。(5)运行并观察结果选择“Debug”菜单的“Animate”项,或按F12键运行程序;观察“Input”、“Output”窗口中时域图形;观察滤波效果;鼠标右键单击“In
29、put”和“Output”窗口,选择“Properties”项,设置“Display Type”为“FFT Magitude”,再单击“OK”按钮结束设置; (6)仿真波形及结果分析应用MATLAB设计FIR滤波器的主要任务就是根据给定的性能指标设计一个,使其逼近这一指标,进而计算并确定滤波器的系数,再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化,设计完成之后将得到的FIR滤波器的单位冲激响应序列的各个参数值。1、滤波器的参数n=40,wp=0.3,ws=0.352、matlab系数产生:由f=0 0.3 0.35 1;m=1 1 0 0;b=fi
30、r2(39,f,m)得到matlab的系数为:b = Columns 1 through 11 0.0007 -0.0001 -0.0012 -0.0017 -0.0001 0.0033 0.0050 0.0009 -0.0077 -0.0124 -0.0038Columns 12 through 22 0.0157 0.0274 0.0113 -0.0300 -0.0607 -0.0335 0.0691 0.2087 0.3090 0.3090 0.2087Columns 23 through 33 0.0691 -0.0335 -0.0607 -0.0300 0.0113 0.0274 0
31、.0157 -0.0038 -0.0124 -0.0077 0.0009 Columns 34 through 40 0.0050 0.0033 -0.0001 -0.0017 -0.0012 -0.0001 0.0007频域波形:滤波前的频域波形滤波后的频域波形 由频域图可得:滤波前的频域图会出现两个带尖峰的图像,而滤波后的波形只会出现一个带尖峰图像,而且是出现在低频部分,说明信号经过滤波器后,将信号中的高频成分滤除掉了。(2)汇编源程序:.title FIR.ASM .mmregs .bss y,1K_FIR_BFFR .set 40PA0 .set 0PA1 .set 1FIR_COFF
32、_TABLE .usect FIR_COFF, 40D_DATA_BUFFER .usect FIR_BFR , 40 .dataCOFF_FIR_START .word 7*32768/10000, -1*32768/10000 ;b0,b1 .word -12*32768/10000, -17*32768/10000 ;b2,b3 .word -1*32768/10000, 33*32768/10000 ;b4,b5 .word 50*32768/10000, 9*32768/10000 ;b6,b7 .word -77*32768/10000, -124*32768/10000 ;b8,
33、b9 .word -38*32768/10000, 157*32768/10000 ;b10,b11 .word 274*32768/10000, 113*32768/10000 ;b12,b13 .word -300*32768/10000, -607*32768/10000 ;b14,b15 .word -335*32768/10000, 691*32768/10000 ;b16,b17 .word 2087*32768/10000, 3090*32768/10000 ;b18,b19 .word 3090*32768/10000, 2087*32768/10000 ;b20,b21 .w
34、ord 691*32768/10000, -335*32768/10000 ;b22,b23 .word -607*32768/10000, -300*32768/10000 ;b24,b25 .word 113*32768/10000, 274*32768/10000 ;b26,b27 .word 157*32768/10000, -38*32768/10000 ;b28,b29 .word -124*32768/10000, -77*32768/10000 ;b30,b31 .word 9*32768/10000, 50*32768/10000 ;b32,b33 .word 33*3276
35、8/10000, -1*32768/10000 ;b34,b35 .word -17*32768/10000, -12*32768/10000 ;b36,b37 .word -1*32768/10000, 7*32768/10000 ;b38,b39 .text .def FIR_INIT .def FIR_TASKFIR_INIT: SSBX FRCT STM #FIR_COFF_TABLE,AR5 RPT #K_FIR_BFFR-1 MVPD #COFF_FIR_START,*AR5+ STM #D_DATA_BUFFER,AR4 RPTZ A,#K_FIR_BFFR-1 STL A,*A
36、R4+ STM #(D_DATA_BUFFER+K_FIR_BFFR-1),AR4 STM #(FIR_COFF_TABLE+K_FIR_BFFR-1),AR5 STM #-1,AR0 LD D_DATA_BUFFER,DP PORTR PA1,D_DATA_BUFFERFIR_TASK: STM #K_FIR_BFFR,BK RPTZ A,#K_FIR_BFFR-1 MAC *AR4+0%,*AR5+0%,A STH A,y PORTW y,PA0 BD FIR_TASK PORTR PA1,*AR4+0%.end(3)、汇编源程序的链接命令文件:MEMORY PAGE 0: EPROM:
37、org=0E000H len=1000H VECS: org=0FF80H len=0080H PAGE 1: SPRAM: org=0060H len=0020H DARAM: org=0080H len=1380H SECTIONS .text : EPROM PAGE 0.text : VECS PAGE 0.data : EPROM PAGE 0.bss : SPRAM PAGE 1FIR_BFR : align(128) DARAM PAGE 1FIR_COFF : align(128) DARAM PAGE 1 时域波形:滤波前的时域波形滤波后的时域波形 由时域图可得:滤波前的时域图是带很多毛刺不规则的正弦波,而滤波后的波形是平滑的等幅正弦波且波形振幅相对滤波前的最大振幅有所减小。第三章、系统设计应解决的关键问题设计时须注意,c语言和汇编语言的混合编程 需要兼顾c程序和汇编程序各自的代码和数据块的 存储空间分配,通过设计编写连接器命令文件,即 cmd文件将汇编生成的可以重新定位的COFF目标 模块组合成一个可以执行的COFF目标模块即可。 该原理应
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100