DSP原理与应用课程设计.docx

上传人:b****9 文档编号:25072158 上传时间:2023-06-04 格式:DOCX 页数:18 大小:63.51KB
下载 相关 举报
DSP原理与应用课程设计.docx_第1页
第1页 / 共18页
DSP原理与应用课程设计.docx_第2页
第2页 / 共18页
DSP原理与应用课程设计.docx_第3页
第3页 / 共18页
DSP原理与应用课程设计.docx_第4页
第4页 / 共18页
DSP原理与应用课程设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

DSP原理与应用课程设计.docx

《DSP原理与应用课程设计.docx》由会员分享,可在线阅读,更多相关《DSP原理与应用课程设计.docx(18页珍藏版)》请在冰豆网上搜索。

DSP原理与应用课程设计.docx

DSP原理与应用课程设计

 

苏州市职业大学

课程设计任务书

 

课程名称:

DSP原理与应用课程设计

起讫时间:

2013年1月7日至2013年1月11日

院系:

电子信息工程系

班  级:

10应用电子技术5

指导教师:

范海健

系主任:

张红兵

一、课程设计课题

基于泰勒级数算法正弦信号的C54实现

二、课程设计要求

1.掌握CCS集成开发环境的使用方法。

2.理解正弦信号的泰勒级数算法的原理。

3.理解实现正弦信号的软件程序流程。

4.调试程序,生成相应的正弦波数据。

5.利用CCS集成开发环境的软件作图程序,生成正弦波形。

6.将结果向指导教师演示,由教师提问验收通过;

7.打印程序清单,撰写程序说明,完成课程设计报告书,进行分组讨论设计心得。

三、课程设计工作量

1.周一:

明确课程设计任务和目标,从理论上理解设计的原理。

2.周二:

明确设计指标,调试程序,记录得到的数据。

3.周三、周四:

学生演示设计结果,教师提问评分。

4.周四、五:

打印程序清单,撰写程序说明,完成课程设计报告书。

四、课程设计说明书内容

1.掌握CCS集成开发环境的使用方法

项目建立、程序加载、调试的步骤

2.正弦函数泰勒级数算法的原理

3.软件设计、调试过程

4.软件清单与注释

5.设计心得与体会

苏州市职业大学

课程设计说明书

名称 DSP原理与应用课程设计

      

2013年1月7日至2013年1月11日共1周

院 系电子信息工程系

班级10应用电子技术5

学号

姓名

系 主 任张红兵

教研室主任陆春妹

指导教师范海健

 

第1章绪论

数字信号处理是20世纪60年代,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。

它的重要性日益在各个领域的应用中表现出来。

其主要标志是两项重大进展,即快速傅里叶变换(FFT)算法的提出和数字滤波器设计方法的完善。

数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。

例如:

滤波、检测、变换、增强、估计、识别、参数提取、频谱分析等。

数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。

因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。

而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。

数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。

数字信号处理的研究方向应该更加广泛、更加深入.特别是对于谱分析的本质研究,对于非平稳和非高斯随机信号的研究,对于多维信号处理的研究等,都具有广阔前景。

数字信号处理技术发展很快、应用很广、成果很多。

多数科学和工程中遇到的是模拟信号。

以前都是研究模拟信号处理的理论和实现。

模拟信号处理缺点:

难以做到高精度,受环境影响较大,可靠性差,且不灵活等。

数字系统的优点:

体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理。

随着大规模集成电路以及数字计算机的飞速发展,加之从60年代末以来数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。

数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们所需要的信号形式。

数字信号处理是将信号以数字方式表示并处理的理论和技术。

数字信号处理与模拟信号处理是信号处理的子集。

数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。

数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。

数字信号处理在理论上的发展推动了数字信号处理应用的发展。

反过来,数字信号处理的应用又促进了数字信号处理理论的提高。

而数字信号处理的实现则是理论和应用之间的桥梁。

数字信号处理是以众多的学科为理论基础的,它所涉及的范围及其广泛。

例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。

一些新兴的学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。

可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。

长期以来,信号处理技术—直用于转换或产生模拟或数字信号。

其中应用得最频繁的领域就是信号的滤波。

此外,从数字通信、语音、音频和生物医学信号处理到检测仪器仪表和机器人技术等许多领域中,都广泛地应用了数字信号处理(digitalsignalprocessing,DSP)技术。

数字信号处理己经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统。

世界上三大DSP芯片生产商:

1.德克萨斯仪器公司(TI)2.模拟器件公司(ADI)3.摩托罗拉公司(Motorola).这三家公司几乎垄断了通用DSP芯片市场。

数字信号处理的书籍很多,其中以麻省理工学院奥本海姆编著的《DiscreteTimeSignalProcessing》最为经典,有中译本《离散时间信号处理》由西安交通大学出版。

现在是第二版。

 

第2章CCS简介

2.1CCS集成开发环境简介

利用CCS集成开发环境,用户可以在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作环节.使用CCS开发应用程序的一般步骤为:

(1)打开或创建一个工程文件.工程文件中包括源程序(C或汇编)、目标文件、库文件、连接命令文件和包含文件.

(2)编辑各类文件.如头文件(.h文件),命令文件(.cmd文件)和源程序(.c,.asm文件)等.可以使用一般的编辑软件或CCS集成编辑环境进行各类文件编辑.

(3)对工程进行编译.如果有语法错误,将在构建(Build)窗口中显示出来.用户可以根据显示的信息定位错误位置,更改错误.

(4)排除程序的语法错误后,用户可以对计算结果/输出数据进行分析,评估算法性能.CCS提供了探针、图形显示、性能测试等工具来分析数据、评估性能.

2.2CCS工作模式

CCS是TI公司针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。

CCS有两种工作模式,即:

软件仿真器模式:

可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。

硬件在线编程模式:

可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。

2.3CCS的组成

CCS的开发系统主要由以下组件构成

1.TMS320C54x集成代码产生工具

用来对C语言、汇编语言或混合语言编程的DSP源程序进行编译汇编,并链接成为可执行的DSP程序。

主要包括汇编器、链接器、C/C++编译器和建库工具等。

2.CCS集成开发环境

集编辑、编译、链接、软件仿真、硬件调试和实时跟踪等功能于一体。

包括编辑工具、工程管理工具和调试工具等。

3.DSP/BIOS实时内核插件及其应用程序接口API

主要为实时信号处理应用而设计。

包括DSP/BIOS的配置工具、实时分析工具等。

4.实时数据交换的RTDX插件和相应的程序接口API

可对目标系统数据进行实时监视,实现DSP与其他应用程序的数据交换。

5.由TI公司以外的第三方提供的应用模块插件

2.4CCS的主要功能

CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程,其主要功能如下

①具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;

②含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;

③高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;

④工程项目管理工具可对用户程序实行项目管理。

在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;

⑤基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试;

⑥断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点的设置;

⑦探测点工具,可用于算法的仿真,数据的实时监视等;

⑧分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;

⑨数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新;

⑩提供GEL工具。

利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等;

⑪支持多DSP的调试;

⑫支持RTDX技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换;

⑬提供DSP/BIOS工具,增强对代码的实时分析能力。

2.5CCS的安装及设置

在使用CCS之前,必须首先按照CCS的产品说明安装CCS软件;其次创建CCS系统配置,进行环境设置;最后,按照具体使用的仿真器,安装目标板和驱动程序。

2.6系统配置要求

①机器类型:

IBMPC及兼容机;

②操作系统:

MicrosoftWindows95/98/2000或WindowsNT4.0;

③机器资源配置要求:

机器部件

最低配置

推荐配置

内存

32MB

128MB

剩余硬盘空间

100MB

200MB

CPU

Pentium

PentiumⅢ以上

显示分辨率

SVGA800⨯600

SVGA1024⨯768

主板插槽

一条空余EISA插槽

一条空余EISA插槽

图2-1机器资源配置图

 

第3章实现原理

3.1正弦波信号发生器原理

正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。

通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。

查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。

泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。

本次主要用泰勒级数展开法来实现正弦波信号。

产生正弦波的算法

正弦函数和余弦函数可以展开成泰勒级数,其表达式:

 

 

取泰勒级数的前5项,得近似计算式:

 

递推公式:

sin(nx)=2cos(x)sin[(n-1)x]-sin[(n-2)x]

cos(nx)=2cos(x)sin[(n-1)x]-cos[(n-2)x]

由递推公式可以看出,在计算正弦和余弦值时,需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。

3.2正弦信号发生器的实现

先计算0~45°(间隔为0.5°)的sin和cos值,在利用sin2a=2sina*cosa求出0°-90°sin值(间隔为1°)。

然后,通过复制,获得0~359°的正弦值。

重复向PA0口输出,便可得到正弦波。

程序如下:

源程序清单sim.asm

.title"sin.asm"

.mmregs

.def_c_int00

.refsinx,d_xs,d_sinx,cosx,d_xc,d_cosx

sin_x:

.usect"sin_x",360

STACK:

.usect"STACK",10

k_theta.set286

PA0.set0

_c_int00:

.text

STM#STACK+10,SP

STMk_theta,AR0

STM0,AR1

STM#sin_x,AR6

STM#90,BRC

RPTBloop1-1

LDMAR1,A

LD#d_xs,DP

STLA,@d_xs

STLA,@d_xc

CALLsinx

CALLcosx

LD#d_sinx,DP

LD@d_sinx,16,A

MPYA@d_cosx

STHB,1,*AR6+

MAR*AR1+0

loop1:

STM#sin_x+89,AR7

STM#88,BRC

RPTBloop2-1

LD*AR7-,A

STLA,*AR6+

loop2:

STM#179,BRC

STM#sin_x,AR7

RPTBloop3-1

LD*AR7+,A

NEGA

STLA,*AR6+

loop3:

STM#sin_x,AR6

STM#1,AR0

STM#360,BK

loop4:

PORTW*AR6+0%,PA0

Bloop4

sinx:

.defd_xs,d_sinx

.data

table_s.word01c7h

.word030bh

.word0666h

.word1556h

d_coef_s.usect"coef_s",4

d_xs.usect"sin_vars",1

d_squr_xs.usect"sin_vars",1

d_temp_s.usect"sin_vars",1

d_sinx.usect"sin_vars",1

c_1_s.usect"sin_vars",1

.text

SSBXFRCT

STM#d_coef_s,AR5

RPT#3

MVPD#table_s,*AR5+

STM#d_coef_s,AR3

STM#d_xs,AR2

STM#c_1_s,AR4

ST#7FFFh,c_1_s

SQUR*AR2+,A

STA,*AR2

||LD*AR4,B

MASR*AR2+,*AR3+,B,A

MPYAA

STHA,*AR2

MASR*AR2-,*AR3+,B,A

MPYA*AR2+

STB,*AR2

||LD*AR4,B

MASR*AR2-,*AR3+,B,A

MPYA*AR2+

STB,*AR2

||LD*AR4,B

MASR*AR2-,*AR3+,B,A

MPYAd_xs

STHB,d_sinx

RET

cosx:

.defd_xc,d_cosx

d_coef_c.usect"coef_c",4

.data

table_c.word0249h

.word0444h

.word0aabh

.word4000h

d_xc.usect"cos_vars",1

d_squr_xc.usect"cos_vars",1

d_temp_c.usect"cos_vars",1

d_cosx.usect"cos_vars",1

c_1_c.usect"cos_vars",1

.text

SSBXFRCT

STM#d_coef_c,AR5

RPT#3

MVPD#table_c,*AR5+

STM#d_coef_c,AR3

STM#d_xc,AR2

STM#c_1_c,AR4

ST#7FFFh,c_1_c

SQUR*AR2+,A

STA,*AR2

||LD*AR4,B

MASR*AR2+,*AR3+,B,A

MPYAA

STHA,*AR2

MASR*AR2-,*AR3+,B,A

MPYA*AR2+

STB,*AR2

||LD*AR4,B

MASR*AR2-,*AR3+,B,A

SFTAA,-1,A

NEGA

MPYA*AR2+

MAR*AR2+

RETD

ADD*AR4,16,B

STHB,*AR2

RET

.end

复位向量文件sin_v.asm

.title"sin_v.asm"

.ref_c_int00

.sect".vectors"

B_c_int00

.end

链接命令文件sin.cmd

MEMORY

{

PAGE0:

EPROM:

org=0E000h,len=1000h

VECS:

org=0FF80h,len=0080h

PAGE1:

SPRAM:

org=0060h,len=0020h

DARAM1:

org=0080h,len=0010h

DARAM2:

org=0090h,len=0010h

DARAM3:

org=0200h,len=0200h

}

SECTIONS

{

.text:

>EPROMPAGE0

.data:

>EPROMPAGE0

STACK:

>SPRAMPAGE1

sin_vars:

>DARAM1PAGE1

coef_s:

>DARAM1PAGE1

cos_vars:

>DARAM2PAGE1

coef_c:

>DARAM2PAGE1

sin_x:

align(512){}>DARAM3PAGE1

.vectors:

>VECSPAGE0

}

(4)编辑输入和输出数据文件名为sinin.dat和sinout.dat,输出数据文件是一个空文件。

分别存放输入的单位冲击数据和输出的单位冲击数据。

Sinin.dat存放的输入冲击数据共512个,第一个为0x7FFF,其余均为0.数据文件sinin.dat清单如下:

0x7fff

0x0

……

0x0

0x0

第4章系统仿真

4.1建立工程项目和向工程项目添加文件

(1)打开SetupCCStudiov3.3,选择C5402芯片并加载

(2)选择Project→New命令,打开建立工程项目对话框,在Project框中键入要创建的工程项目名为sin。

工程项目建立以后,就可以选择Project→AddFiletoProject命令,向工程项目添加以下文件:

汇编语言源文件sin.asm;

复位向量文件sin_v.asm

链接命令文件sin.cmd

(3)选择Project→Build或Project→RebuildAll命令,对工程项目中的文件进行编译、汇编和链接,生成可以在目标系统中运行的、可执行的输出文件(sin.out文件)

(4)选择File→LoadProgram命令,加载sin.out文件,之后就可以进入到调试阶段了。

4.2调试

定义配置I/O口端的GEL函数,在CCS的C5402sin.gel文件中添加以下两个GEL函数:

GEL_MapAdd(0x0001u,2,0x0001u,1,0);

GEL_MapAdd(0x0000u,2,0x0001u,0,1);

以设置I/O口:

将数据文件与I/O口相关联。

方法是:

选择Tool→PortConnect命令,打开连接对话框。

单击Connect按钮,在弹出的Connect按钮,在弹出的Connect对话框中,选择Port;1;Length:

1;Page:

Read,单击OK后选择相关联的输入数据文件sinin.dat.用同样的方法,在Connect对话框中,选择Port;0;Length:

1;Page:

Read,单击OK后选择相关联的输出数据文件sinout.dat.Connect对话框显示的数据文件与I/O口地址相关联的情况如图4-1所示。

图4-1数据文件与I/O口地址相关联情况

4.3仿真结果

选择View→Graph→Time/Frequency命令,在弹出的对话框中设置参数如图4-2所示

图4-2显示滤波器单位冲击响应图形参数设置对话框

运行结果如图4-3所示

图4-3正弦波波形

 

第5章心得体会

此次课程设计,基于课程理论知识和网上资料,使我对数字信号处理课程有了更深一步的了解和掌握,对利用CCS软件编程的数字信号处理方法有了进一步的了解。

在理论课的基础上进行实验实习,是对本门课程的深入学习和掌握,在以后的工作学习中,数字信号的处理都是采用计算机仿真的方法进行测试,因此,掌握基于计算机的数字信号处理方法对以后的工作和学习有很大的帮助。

这样一个课程设计对我们的发展有着极大的帮助!

基于DSP实现的这种信号发生器充分发挥了DSP器件的主要性能优势,它比传统的信号发生器具有一定的独到之处,它编程灵活、操作简单,体积小巧,电路结构简单,使用方便,而且还有许多可扩展的功能,故其使用面更加宽广,鉴于DSP具有较高的性价比,且利用DSP作为主控制器来提高传统产品的性能已成为大势所趋。

因此,本系统的应用对提高工程及教学实验水平具有重要的意义。

作为一名专业学生掌握一门或几门专业软件同样是必不可少的,对专业学习十分有利。

另外,课堂上也有部分知识不太清楚,于是我又不得不边学边用,时刻巩固所学知识,这也是我作本次课程设计的第二大收获。

整个设计我基本上还满意,由于水平有限,难免会有错误。

我会在以后的学习中不断进步!

 

参考文献

[1]戴明帧.数字信号处理的硬件实现[M].北京:

航空工业出版社,1988

[2]张伟雄,陈亮,徐光辉.DSP集成开发与应用实例[M].北京:

电子工业出版社,2002。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1