dsp实验指导书

2024-08-18

dsp实验指导书(精选8篇)

dsp实验指导书 篇1

电气工程学院

《DSP技术及应用》

实验指导书

尉学军编写

适用专业:电子信息工程

贵州大学 二OO 八年八月

前言

《数字信号处理》实验是理论教学的深化和补充,具有较强的实践性,是一门重要的专业必修课,可作为通信类、电子类专业学生的选修课。所开设的实验以具体实例为实验内容,让学生深刻理解DSP芯片的特点,培养学生应用DSP设计解决实际问题的能力。通过上机与实验,理解实验原理及实验方案,掌握正确的操作规程,掌握5410USB EVM实验箱的正确使用方法。掌握CCS软件的使用,熟练掌握DSP的汇编语言的编写和程序调试,掌握DSP的中断技术和定时器的初始化方法以及应用,以及利用串口进行数据采集。并要求学生利用北京闻亭5410USB EVM实验箱进行数字式信号发生器和滤波器的设计。

作者在此设计了11个实验,其中4个验证性实验,6个设计性实验,1个综合性实验。在开设实验过程中,可以根据大纲选作部分实验。

目录

1、实验一:CCS的安装与simulate的使用·····················································3

2、实验二:汇编语言基本算术运算································································7

3、实验三:程序的控制和转移······································································10

4、实验四:数字式正弦信号发生器·······························································14

5、实验五:FIR数字滤波器 ·········································································21

6、实验六:IIR数字滤波器 ·········································································27

7、实验七: 图象的伽玛增强······························································ ··········35

8、实验八: 快速傅立叶变换(FFT)的实现······················································42

9、实验九: 控制XF引脚周期性变化·····························································49

10、实验十: 多通道缓冲串口的使用·····························································54

11、实验十一: DTMF算法设计和DSP实现·····················································62

12、实验报告基本内容要求········································································66

13、实验报告格式··························································································68

14、参考文献·································································································70

实验一: CCS的安装与simulate的使用

实验学时:2 实验类型:验证 实验要求:必修

一、实验目的

学会CCS的安装和设置, 熟悉程序的开发流程, 初步掌握Simulator的使用方法.二、实验内容

安装CCS软件,并利用CCSsetup进行设置 对一个简单程序进行调试

三、实验原理、方法和手段

利用软件对指令进行仿真分析。

四、实验组织运行要求

根据本实验的特点、要求和具体条件,采用教师简单讲解,学生自己动手操作的形式。

五、实验条件

计算机一台

六、实验步骤

1、CCSset 的设置

CCS设置程序是用于建立CCS集成开发环境与目标板或simulator之间通信的接口.CCS是一个开放的环境,通过设置不同的驱动完成对不同环境的支持.本教案以CCS2.0为例说明CCS下的驱动设置方法.假设安装路径为: d:ti下,对CCS的 设置如下:

(1)双击桌面上的”setup ccs 2(c5000)”,开始运行程序,回出现如图1-1所示的界面;3

图1-1 CCS的首界面(2)单击”CLOSE”按纽关闭对话框.(3)在“Available Board/Simulator Types”栏选择 “54xx simulator”在“Board Propertis”对话框中点击按纽“next”,一直到“Finish”如图1-2所示。

图1-2 选择仿真板界面

此处对要仿真的方式进行选择,是进行软件仿真(Simulator)还是硬件仿真(Eimulator),并可以选择要仿真的板子的型号,在此我们选择软件仿真.用的是C54xx Simulator.(4)在菜单File中选择”Start Code Composer Studio”,启动CCS 5000.设置完毕

2、一个简单DSP程序的调试

(1)创建工程

运行CCS 5000(54XX Simulaor/CPU)

在Project菜单中选择New项,将弹出Project Creation的窗口

图 1-3 创建工程界面

将新建的工程存入E盘,CCS将建立一个名为*.pjt的工程,此文件保存了工程的设置信息及工程中的文件引用情况.(2)将文件添加到工程

从Files->new菜单中选择Source File,输入源程序.这里请大家输入以下的源程序.将程序存为*.asm的程序.title “wx1.asm”.mmregs STACK.usect “STACK”,10H.bss a,4.bss x,4.bss y,1.def start.data table:.word 1,2,3,4.word 8,6,4,2.text start: STM #0,SWWSR STM #STACK+10H,SP STM #a,AR1 RPT #7 MVPD table,*AR1+ LD #1,DP CALL SUM end: B end SUM: STM #a,AR3 STM #x,AR4 RPTZ A,#3 MAC *AR3+,*AR4+,A STL A,@y 5

RET.end 从Project菜单中选取 Add Files to Project,将刚才编写的程序添加到本工程.双击的Source右边的”+”,可以观察到刚才所添加的源文件.(3)生成和运行程序

执行菜单Project->Rebuild All,对文件进行编译,汇编,链接,Output窗口将显示编译,汇编,链接的信息,错误提示等.最后生成*.out文件.编译通过时会出现两个警告.图1-4 Output窗口

执行菜单Project->Load Program,将刚才所生成的*.out文件加载到DSP中,CCS将会自动打开一个反汇编窗口,显示加载程序的反汇编指令.(4)观察程序结果:

分别点击菜单Viex->Memory和Registers可以观察程序执行后存储器的变化,程序执行的结果以及寄存器值的变化情况

七、思考题

1.按照实验要求写出实验报告;将程序显示的结果粘贴到实验报告里面.2.程序调试过程中,出现什么错误,什么原因造成的,怎样改正的?

3.熟悉CCS其他菜单的功能,如何设置断点进行程序调试?

八、实验报告

在实验分析过程中,要对寄存器的变化以及存贮器的分配有仔细的分析,实验报告要将程序结果,存储器和寄存器的结果抓下来。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验二:汇编语言基本算术运算

实验学时:2 实验类型:验证 实验要求:必修

一、实验目的

进一步熟悉CCS进行程序编译,调试的步骤.掌握进行算术运算的常用指令,以及伪指令的作用.掌握汇编语言进行整数运算,小数运算以及双操作数运算.浮点运算的方法.注意双操作数运算所允许使用的辅助寄存器.二、实验内容

加减法和乘法运算 小数运算

三、实验原理、方法和手段

利用软件对指令进行仿真分析。

四、实验组织运行要求

根据本实验的特点、要求和具体条件,采用教师简单讲解,学生自己动手操作的形式。

五、实验条件

计算机一台

六、实验步骤

1、计算 z=x+y-w

.tiltle “example.asm”.mmregs STACK.usect “stack”,10H

.bss x,1.bss y,1.bss w,1.bss z,1.def start.data table:.word 10,26,23.text Start: STM #0,SWWSR STM #STACK+10H,SP STM #x,AR1 RPT #2 MVPD table,*AR1+ CALL SUMB end: B end SUMB: LD @x,A ADD @y,A SUB @w,A LD #1,DP STL A,@z RET.end

2、乘加运算

.tiltle “example.asm”.mmregs STACK.usect “stack”,10H

.bss a,4.bss x,4.bss y,1.def start.data table.word 1,2,3,4.word 8,6,4,2

.text start: STM #0,SWWSR STM #STACK+10H,SP STM #x,AR1 RPT #7 MVPD table,*AR1+ CALL SUM end: B end SUM: STM #a,AR3 STM #x,AR4 RPTZ A,#3 MAC *AR3+,*AR4+,A STL A,@Y RET.end

3、小数运算

.tiltle “example.asm”.mmregs STACK.usect “stack”,10H.bss a,4.bss x,4

.bss y,1.def start.data table.word 1*32768/10.word 2*32768/10.word-3*32768/10.word 4*32768/10.word 8*32768/10.word 6*32768/10.word-4*32768/10.word-2*32768/10 start: SSBX FRCT STM #a,AR1 RPT #7 MVPD table,*AR1+ STM #a,AR3 STM #x,AR4 RPTZ A,#3 MAC *AR3+,*AR4+,A STL A,@Y end: B end.end 观察程序结果: 分别点击菜单Viex->Memory和Registers可以观察程序执行后存储器的变化,程序执行的结果以及寄存器值的变化情况.七、思考题

1.按照实验要求写出实验报告;将程序显示的结果粘贴到实验报告里面.2.程序调试过程中,出现什么错误,什么原因造成的,怎样改正的? 3.在小数运算的过程中,小数大于1,比如a2=1.2,程序如何修改.八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验三:程序的控制和转移

实验学时:2 实验类型:验证 实验要求:必修

一、实验目的

了解堆栈的使用方法,掌握指令的重复操作,程序的跳转,调用和返回.掌握条件算符组合时候应注意的三点;掌握*.cmd文件,特别是伪指令MEMORY,SECTION的作用.二、实验内容

程序的转移和调用,重复执行,堆栈的使用

三、实验原理、方法和手段

利用软件对指令进行仿真分析。

四、实验组织运行要求

根据本实验的特点、要求和具体条件,采用集中讲解和学生动手的形式。

五、实验条件

安装CCS 的电脑一台

六、实验步骤

程序调试步骤参考实验一

1、程序的转移和调用.title “example.asm”.mmregs STACK.usect “stack”,10H;.bss x,5.bss y,1.def start.data table:.word 10,30,4,5,6.text start: STM #0,SWWSR STM #STACK+10H,SP;SP= STM #x,AR1;AR1= RPT #4 MVPD table,*AR1+;AR1=

LD #0,A CALL SUM end: B end SUM: STM #x, AR3 STM #4,AR2 loop: ADD *AR3+,A BANZ loop,*AR2-STL A,@y;AR2= , AR3= ,A= RET.end 将以上文件存为*.ASM格式.以下是*.CMD文件: *.obj;注意:此处文件名要与上面的*.ASM文件的名字要一致.-o *.out-m *.map-e start MEMORY { PAGE 0: EPROM: org=0E000H len=0100H VECS : org=0FF80H len=0004H PAGE 1: SPRAM: org=0060H len=0020H DARAM: org=0080H len=0100H } SECTIONS {.text :>EPROM PAGE 0.data :>EMROM PAGE 0

.bss :>SPRAM PAGE 1 STACK :>DARAM PAGE 1.vectors :>VECS PAGE 0 } 2)堆栈段的初始化

.title “wxample3.asm”.mmregs size.set 100 stack.usect “STK”,10H.bss length,10H.def start.text start: STM #0,SWWSR STM #stack+size,SP 11

LD #-8531,A STM #length,AR1 MVMM SP,AR7 loop: STL A,*AR7-BANZ loop,*AR1-.end CMD文件 example.obj-o example.out-m example.map-e start MEMORY { PAGE 0: EPROM :ORG=0E000H,LEN=0100h VECS: ORG=0FF80H,LEN=0004H PAGE 1: SARAM: ORG=0060H,LEN=0010H;DARAM: ORG=0070H,LEN=0100H } SECTIONS {.text :>EPROM PAGE 0.data :>EPROM PAGE 0.bss :>SARAM PAGE 1.STACK :>DARAM PAGE 1 }

3、重复操作

下面程序实现对数组进行初始化以后再对每个元素加1.title “example.asm”

.mmregs stack.usect “STACK”,10H.bss x,5.def start.text start: STM #x,AR1 LD #2,A;将每个数组初始化为2 RPT #4 STL A,*AR1+ LD #1,16,A STM #4,BRC STM #X,AR4 PRTB next-1 12

ADD *AR4,16,B,A STH A,*AR4+ next: LD #0,B end: B end.end

七、思考题

1. 按照实验要求写出实验报告;将程序显示的结果粘贴到实验报告里面.2. 程序调试过程中,出现什么错误,什么原因造成的,怎样改正的? 3. 简要写出*.cmd文件,特别是伪指令MEMORY,SECTION的作用 4. 试将程序1的运行结果填写的相应的横线上。

八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验四:数字式正弦信号发生器

实验学时:2 实验类型:设计型 实验要求:必修

一、实验目的

掌握正弦信号发生器的算法;学会用断点进行程序调试.二、实验内容

利用DSP设计一个正弦信号发生器

三、实验原理、方法和手段

在高等数学中,正弦函数和余弦函数可以展开为泰勒级数,其表达式为: x3x5x7 sinx=x-+-+„ 3!5!7!x2x4x6 cosx=1-+-+„ 2!4!6!如果要计算一个角度的正弦和余弦,可以取泰勒级数的前5项进行近似计算.上两个式子可以化为: x2x2x2x2 sinx=x(1-(1-(1-(1-))))2*34*56*78*9x2x2x2x2 cosx=1-(1-(1-(1-)))23*45*67*8 然后利用这两个式子,计算出0

o___

45(间隔为0.5)的正弦和余弦值.o___

oo 再利用sin2x=2sinxcos公式,计算0 最后通过复制取反,获得0

o___

o

90的正弦值.o

359的正弦值.四、实验组织运行要求

根据本实验的特点、要求和具体条件,采用集中讲授和学生动手的形式。

五、实验条件

安装CCS软件的电脑一台

六、实验步骤

程序调试步骤参考实验一

1、源程序

.mmregs.def start.ref d_xs,d_sinx,d_xc,d_cosx,sinx,cosx sin_x:.usect “sin_x”,360 STACK.usect “STACK”,10H PA0.set 0 k_theta.set 286 start:.text STM #STACK+10H,SP STM k_theta,AR0 STM 0,AR1 STM #sin_x,AR6 STM #90,BRC RPTB loop1-1 LDM AR1,A LD #d_xs,DP STL A,@d_xc STL A,@d_xs CALL sinx CALL cosx LD #d_sinx,DP LD @d_sinx,16,A MPYA @d_cosx STH B,1,*AR6+ MAR *AR1+0 ;计算0—45度的正弦值 loop1: STM #sin_x+89,AR7 STM #88,BRC RPTB loop2-1 LD *AR7-,A STL A,*AR6+ ;计算45-89度的正弦值 loop2: STM #179,BRC STM #sin_x,AR7 RPTB loop3-1 LD *AR7+,A NEG A STL A,*AR6+ ;计算90-179度的正弦值 loop3: STM #sin_x,AR6 STM #1,AR0 STM #360,BK ;计算180-359度的正弦值

loop4: PORTW *AR6+0%,PA0 B loop4

sinx: sinx子程序.def d_xs,d_sinx.data table_s.word 01C7H.word 030BH.word 0666H.word 1556H d_coef_s.usect “coef_s”,4 d_xs.usect “sin_vars”,1 d_square_xs.usect “sin_vars”,1 d_temp_s.usect “sin_vars”,1 d_sinx.usect “sin_vars”,1 d_l_s.usect “sin_vars”,1.text SSBX FRCT STM d_coef_s,AR5 RPT #3 MVPD #table_s,*AR5+ STM #d_coef_s,AR3 STM #d_xs,AR2 STM #d_l_s,AR4 STM #7FFFH,d_l_s SQUR *AR2+,A ST A,*AR2 ||LD *AR4,B MASR *AR2+,*AR3+,B,A MPYA A STH A,*AR2 MASR *AR2-,*AR3+,B,A MPYA *AR2+ ST B,*AR2 || LD *AR4,B MASR *AR2-,*AR3+,B,A MPYA *AR2+ ST B,*AR2 ||LD *AR4,B MASR *AR2-,*AR3+,B,A MPYA d_xs STH B,d_sinx RET

cosx: ; cosx子程序.def d_xc,d_cosx.data table_c.word 0249H.word 0444H.word 0aabH.word 4000H d_coef_c.usect “coef_c”,4 d_xc.usect “cos_vars”,1 d_square_xc.usect “cos_vars”,1 d_temp_c.usect “cos_vars”,1 d_cosx.usect “cos_vars”,1 c_l_c.usect “cos_vars”,1.text SSBX FRCT STM d_coef_c,AR5 RPT #3 MVPD #table_c,*AR5+ STM #d_coef_c,AR3 STM #d_xc,AR2 STM #c_l_c,AR4 STM #7FFFH,c_l_c SQUR *AR2+,A ST A,*AR2 ||LD *AR4,B MASR *AR2+,*AR3+,B,A MPYA A STH A,*AR2 MASR *AR2-,*AR3+,B,A MPYA *AR2+ ST B,*AR2 || LD *AR4,B MASR *AR2-,*AR3+,B,A SFTA A,-1,A NEG A MPYA *AR2+ MAR *AR2+ RETD ADD *AR4,16,B STH B,*AR2 RET.end *.CMD 文件 sinx.obj 17

-o sin.out-m sin.map-e start MEMORY { PAGE 0: EPROM: org=0E000H,len=1000H VECS: org=0FF80H,len=0080H PAGE 1: SPRAM: org=0060H,len=0020H DARAM1: org=0080H,len=0010H DARAM2: org=0090H,len=0010H DARAM3: org=0200H,len=0200H }

SECTIONS {.text :>EPROM PAGE 0.data :>EPROM PAGE 0 STACK :>SPRAM PAGE 1 sin_vars :>DARAM1 PAGE 1 coef_s :>DARAM1 PAGE 1 cos_vars :>DARAM2 PAGE 1 coef_c :>DARAM2 PAGE 1 sin_x : align(512){}>DARAM3 PAGE 1 }

2、程序调试过程中,可以采用利用断点进行调试,方法如下: 1)利用断点对话框进行设置.2)使用工具条上的按纽进行设置, 利用工具条上的按纽,可以快速设置断点: 在反汇编窗口中,将光标移到需要设置断点的语句行上,然后单击工具条上的设置断点按纽(有一个手),则在该语句行上设置一个断点.3)在反汇编窗口直接进行设置.在反汇编窗口,用鼠标直接双击要设置的断点的指令行,即可完成断点的设置.执行的时候可以选择动画运行.在执行前先设置好断点,然后,没执行一次操作命令,就会从当前位置执行到下一个断点处.连续执行操作命令就可以实现动画操作.使用调试菜单”DEBUG”中的”Animate”命令,或者单击调试工具条上的动画执行按 18

纽,用户就可以进行动画操作.3、观察波形

观察存储器和寄存器的内容在实验一中进行了介绍.在此不做赘述了.现在介绍CCS图形工具的使用方法.CCS开发环境提供了多种强大的图形显示工具,可以将内存中的数据以各种图形的方式显示给用户,帮助拥护直观的了解数据的意义.CCS提供了四大类九种图形显示方式: 1)时频图(Time_frequency)单曲线图(Single_time)对数据不做处理,直接绘制显示缓冲区数据的幅度_时间曲线

双曲线图(Double_time)在一个图象中显示两条信号的幅度_时间曲线 FFT幅度(FFT Magnitude)对显示缓冲器数据进行FFT变换,显示幅度_频率图

复数FFT(Complex FFT)对复数数据的实部和虚部分别进行FFT变换,在一幅图中显示两条幅度_频率曲线.FFT幅度和相位(FFT Magnitude and Phase)在一幅图中显示幅度_频率曲线和相位_频率曲线.FFT多桢显示(略)2)星座图(Constellation)显示信号的相位分布 3)眼图(Eye Diagram)显示信号码间的干扰情况 4)图像显示(Image)显示YUV和RGB图像

图形显示步骤: 在”View”菜单中,选择”Graph”选项,弹出命令子菜单, 在该菜单中选择”Time/Frequency”,在弹出的对话框中,将”Display Type”选择为”Single_time”,”Start Addtress”定为”0200H”, 将”PAGE”定为”data”

“Display Data Size”定为”0200H”

点击”OK”来观察图象.19

图4-1 产生的正弦波形

七、思考题

按照实验要求写出实验报告;将程序显示的结果粘贴到实验报告里面.如何设置断点进行程序调试? 要产生周期性的三角波,或者锯齿波,程序如何实现?

八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验五:FIR数字滤波器

实验学时:2 实验类型:设计

实验要求:选修

一、实验目的

了解FIR的MATLAB设计方法

掌握FIR的DSP实现方法,熟练掌握循环寻址指令.二、实验内容

设计一个31阶的低通FIR滤波器,其截止频率为0.6。

三、实验原理、方法和手段

FIR滤波器的差分方程: N1(5-1)i0 其中bi为滤波器的系数,N为滤波器的阶次,x(n)为输入,y(n)为输出.FIR滤波器的MATLAB设计

MATLAB中的工具箱(Toolbox)包含了许多实用程序。它提供了多种FIR滤波器设计方法。

下面以标准频率响应设计法fir1和任意频率响应设计法fir2为例说明其使用方法

1、fir1函数

使用fir1函数可设计标准的低通、高通、带通和带阻滤波器。

语法: b=fir1(n,Wn)b=fir1(n,Wn,„ftype‟)b=fir1(n,Wn,Window)b=fir1(n,Wn,„ftype‟,Window)其中n为 滤波器的阶次,Wn为截止频率,ftype为滤波器的类型,window为采用的窗函数的类型,默认为H amming类型.1)采用汉明窗设计低通FIR滤波器

使用b=fir1(n,Wn)可得到低通滤波。0 Wn 1, Wn=1相当于0.5fs。

格式:

b=fir1(n,Wn)(2)采用汉明窗设计高通FIR滤波器 y(n)bix(ni)

在b=fir1(n,Wn,„ftype‟)中,当ftype=high时,可设计高通滤波器。

格式:

b=fir1(n,Wn,„high‟)(3)采用汉明窗设计带通FIR滤波器

在b=fir1(n,Wn)中,当Wn=[ W1 W2 ]时,可得到带通滤波器,其通带为W1

格式:

b=fir1(n,[ W1 W2 ])(4)采用汉明窗设计带阻FIR滤波器

在b=fir1(n,Wn,„ftype‟)中,当ftype= stop,Wn=[ W1 W2 ]时,fir1函数可得到带阻滤波器。格式:

b=fir1(n,[ W1 W2 ],„stop‟)【例1】 采用Hamming窗设计一个48阶FIR带通滤波器,通带为0.35 < w < 0.65。采用fir1函数的程序格式:

b=fir1(48,[ 0.35 0.65 ]); freqz(b,1,512)【例2】设计一个FIR高通滤波器,使其具有30dB波纹的Chebyshev窗,其阶数为34,截止频率为0.48。

解:采用fir1函数设计高通滤波器的程序格式为 Window = chebwin(35,30);

b=fir1(34,0.48,„high‟,Window); freqz(b,1,512)注意:用fir1函数设计高通和带阻滤波器时,所使用的阶数n应为偶数,当输入的阶数n为奇数时,fir1函数会自动将阶数增加1形成偶数。2.fir2函数

用来设计有任意频率响应的各种加窗FIR滤波器。语法:

b=fir2(n,f,m)

b=fir2(n,f,m,Window)b=fir2(n,f,m,npt)

b=fir2(n,f,m,npt,Window)b=fir2(n,f,m,npt,lap)

b=fir2(n,f,m,nptt,lap,Window)说明:

参数n为滤波器的阶数;

参数f为频率点矢量,且f[0,1],f=1对应于0.5fs。矢量f按升序排列,且第一个元素必须为0,最后一个必须为1,并可以包含重复的频率点;

参数m为幅度点矢量,在矢量m中包含了与f相对应的期望得到滤波器幅度;

参数Window用来指定所使用的窗函数类型,其默认值为汉明(Hamming)窗;

参数npt用来指定fir2函数对频率响应进行内插的点数;

参数lap用来指定fir2函数在重复频率点附近插入的区域大小。

【例3】 设计一个31阶的低通FIR滤波器,其截止频率为0.6。

解:采用fir2函数的程序格式:

在MATLAB 的命令窗口输入一下指令 f = [ 0 0.6 0.6 1 ]; m = [ 1 1 0 0 ]; b=fir2(29,f,m)

会得到下面的结果: b = Columns 1 through 10 0.0000 0.0017-0.0016-0.0023 0.0059-0.0001-0.0127 0.0112 0.0151-0.0337 Columns 11 through 20 0.0003 0.0634-0.0569-0.0893 0.2996 0.5996 0.2996-0.0893-0.0569 0.0634 Columns 21 through 30 0.0003-0.0337 0.0151 0.0112-0.0127-0.0001 0.0059-0.0023-0.0016 0.0017 Column 31 0.0000

四、实验组织运行要求

教师简单讲解,学生调试程序,教师辅导

五、实验条件

安装NATLAB和CCS的电脑一台

六、实验步骤

实验步骤同实验一: 请大家输入以下程序:

.title “fir.asm”.mmregs.def start h.usect “h”,31

y.usect “y”,1 xn.usect “xn”,31 x1.usect “x1”,1 PA2.set 2 PA1.set 1.data table:.word 0*32768/10000, 17 *32768/10000.word-16*32768/10000,-23*32768/10000.word 59*32768/10000 ,-1*32768/10000.word-127*32768/10000,112*32768/10000.word 151*32768/10000,-337*32768/10000.word 3*32768/10000 ,634*32768/10000.word-569*32768/10000,-893*32768/10000.word 2996*32768/10000 , 5996*32768/10000.word 2996*32768/10000 ,-893*32768/10000.word-569*32768/10000 , 634*32768/10000.word 3*32768/10000,-337*32768/10000.word 151*32768/10000, 112*32768/10000.word-127*32768/10000,-1*32768/10000.word 59*32768/10000 ,-23*32768/10000.word-16*32768/10000, 17*32768/10000.text start: SSBX FRCT STM #h,AR1;RPT #30 MVPD #table,*AR1+ STM #xn,AR2 RPTZ A,#30 STL A,*AR2+ STM #xn+30,AR3 STM #h+30,AR4 STM #31,BK STM-1,AR0 LD #x1,DP PORTR PA1,@x1 LD @x1,A LD #xn,DP STL A,@xn FIR: RPTZ A,#30 MAC *AR3+0%,*AR4+0%,A STH A,@y PORTW @y,PA2 PORTR PA1,@x1 LD @x1,A 24

STL A,*AR3+0% B FIR.end 假如已经从端口PA1读到的数据,放在IN.dat文件中,经过滤波后,从端口输出的数据放在OUT.dat中.IN.dat文件中的内容如下: 1651 1 bf 0 0 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 其余略

OUT.dat文件为空白.首先将生成的*.out 文件加载入系统中,在反汇编窗口,设置探测点,如下:

图5-1 输入数据加载断点设置

然后在FILE菜单中选择出数据、加载到输入、输出断口。

最后观察滤波前后的频谱图分别如下:

功能,会弹出如下对话框,可以分别将输入数据输 25

七、思考题

试用此参数设计一个高通滤波器,并用DSP实现。

八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验六:IIR数字滤波器

实验学时:2 实验类型:设计

实验要求:选修

一、实验目的

了解IIR滤波器的原理及使用方法

了解使用MATLAB语言设计IIT滤波器的方法

掌握DSP对IIR对滤波器的设计及编程方法

熟悉在CCS环境下对IIR滤波器的调试方法

二、实验内容

要求设计一个采样频率为1200Hz,截止频率为200Hz的高通滤波器.输入信号频率为100Hz和300Hz的合成信号,目的是同过所设计的滤波器的将100Hz的信号滤除掉,余下300Hz的信号成分,达到滤波效果.三、实验原理、方法和手段

IIR数字滤波器的输入x(k)和输出y(k)的关系可以用如下常系数线性差分方程及其Z变换描述,即

y(k)=(6-1)bx(ki)ay(ki)i0Mii1Ni

系统的传递函数为

b0b1z...bnz H(Z)=(6-2)

1N1a1z1...anzM

四、实验组织运行要求

教师简单讲解,学生调试程序,教师全程辅导

五、实验条件

安装CCS和MATLAB的电脑一台

六、实验步骤

1、MATLAB的滤波器设计

在MATLAB中使用滤波器设计工具箱(FDA)来设计滤波器,首先打开MATLAB,在命令窗口输 27

入FDAtool, 将出现滤波器设计工具箱.下图是打开的滤波器设计的主要界面,通过输入有关参数可以设计各种滤波器,包括滤波器的类型,阶数,截止频率(Fpass),带宽,纹波系数(Apass),采样频率(Fs)等有关参数.6-1 MAILAB设计IIR滤波器界面

上图所设计是IIR型的3阶契比雪夫1型高通滤波器的采样频率为1200Hz,截止频率为200Hz,图中中间显示的是数据为设计好的滤波器的参数.通过这个工具箱可以观察滤波器的频率特性,冲激响应特性,阶跃响应,零极点示意图

2、用MATLAB 产生输入信号: t=(1:256)/1200;x=32768*(sin(2*pi*100*t)+sin(2*pi*300*t))/2 此时会产生如下结果: x = 1.0e+004 * 28

Columns 1 through 12 2.4576 1.4189 0 1.4189 2.4576 0-2.4576-1.4189 0-1.4189-2.4576-0(会产生256点周期为12的输入信号,因此在此只给出一个周期的输入信号)

3、滤波器的汇编语言设计: 在编写滤波器之前,首先确定滤波器的参数,从上面的设计中得出滤波器的系数,为了防止小数运算的溢出,将各个系数除以8,得到新的数据: 分子:0.04045,-0.1213375,0.1213375,-0.04045 分母:1 ,-0.1151875,0.080275,0.080275,-0.0030875 针对以上参数,编写汇编语言如下:.mmregs.ref filter_start.def _main;定义主函数入口 K_DATA_SIZE.set 256;定义数据个数 K_BUFFER_SIZE.set 8 K_STACK_SIZE.set 256;堆栈大小

K_A.set 3;A的个数 K_B.set 4;B的个数 K_CIR.set K_BUFFER_SIZE STACK.usect “stack”,K_STACK_SIZE SYSTEM_STACK.set K_STACK_SIZE+STACK DATA_DP.usect “filter_vars”,0 filterdata.usect “filter_vars”,K_DATA_SIZE bufferdatay.usect “filter_vars”,K_BUFFER_SIZE*2 bufferdatax.usect “filter_vars”,K_BUFFER_SIZE*2.data.global inputdata inputdata.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0

.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0

.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189,24576,0,-24576,-14189,0,-14189,-24576,0.word 24576,14189,0,14189.text.asg AR2,ORIGIN.asg AR3,INPUT.asg AR4,FILTER.asg AR5,OUTPUT _main: SSBX FRCT SSBX INTM LD #DATA_DP,DP STM #STACK,SP CALL filter_start NOP NOP NOP loop B loop

.def b1,b2,b3,b4,a1,a2,a3.def filter_start b1.set 052dh b2.set-0f87h b3.set 0f87h b4.set-052dh a1.set-0ebeh a2.set 0a46h a3.set-0065h

.text filter_start STM #inputdata,ORIGIN STM #bufferdatax,INPUT STM #bufferdatay,FILTER STM #filterdata,OUTPUT

STM #K_DATA_SIZE-3-1,BRC 30 STM #K_CIR,BK STM #1, AR0 RPTB filter_end-1 MVDD *ORIGIN+,*INPUT RPT #K_B-1-1 MAR *INPUT-0% MPY *INPUT+0%,#b4,B LD B,A MPY *INPUT+0%,#b3,B ADD B,A MPY *INPUT+0%,#b2,B ADD B,A MPY *INPUT+0%,#b1,B ADD B,A MPY *FILTER+0%,#a3,B ADD B,A MPY *FILTER+0%,#a2,B ADD B,A MPY *FILTER+0%,#a1,B ADD B,A STH A,*FILTER-0% STH A,*OUTPUT+ MAR *FILTER-0% filter_end: NOP RET.end

其*.CMD命令文件如下:

iir.obj-o iir.out-m iir.map-e _main MEMORY { PAGE 0: PARAM: org=3000h,len=4000h PAGE 1: DARAM: org=100h,len=4000h } SECTIONS

{.text :> PARAM PAGE 0 stack :> DARAM PAGE 1 filter :> DARAM PAGE 1.bss :> DARAM PAGE 1.data :> DARAM PAGE 1 } 编译,调试程序,生成了执行文件*.out,然后载入*.out文件,运行.4)运行后,观察输入数据的时域和频域的波形如下:

图 6-2 滤波前信号的时域图

图 6-3 滤波前信号的频域图

图 6-4 滤波后信号的时域图

图 6-5 滤波后信号的频域图

七、思考题

试设计一个低通滤波器,滤除300Hz的信号.其它要求同实验

八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验七:图象的伽玛增强

实验学时:2 实验类型:设计

实验要求:选修

一、实验目的

了解伽玛(Gamma)矫正的原理

掌握如何从文件读入数据到内存

掌握在CCS下图象的 输入和输出

二、实验内容

本实验要求对一个已经准备好的图象能够进行伽玛矫正,γ值为1.54,设计一个程序,用查表的方式对图象进行矫正,比较伽玛矫正前后的效果.三、实验原理、方法和手段

伽玛矫正实质上就是矫正亮度,在灰度图中就是灰度矫正.这个过程是简单的,不需要实时处理.可以通过查表来进行,创建一个查找需要用的空间很少.伽玛矫正的计量单位用γ(γ通常是大于1)表示.如果灰度Iin的值介于0和255之间,伽玛矫正公式为: Iout=(Iin/max gray)1/ γ*max gray(7-1)

max gray=255;此表可用MATLAB先计算好.四、实验组织运行要求

教师简单讲解,学生调试程序,教师全程辅导

五、实验条件

安装CCS和MATLAB的电脑一台

六、实验步骤

项目的编译步骤如前所述,在此不多讲了;1.向工程添加以下两个源程序 1)gamma.c 源程序如下: #include #include #define TRUE 1 35

#define FALSE 0 #define BUFSIZE 4096 /* the buffer size is 64*64=4096 */ /* Global declarations */ int in_buffer[BUFSIZE];/* processing data buffers */ int out_buffer[BUFSIZE];/* Functions */ static int gamma(int *input, int *output);static void dataIO(void);/* Functions */ static int gamma(int *input, int *output);static void dataIO(void);void main(){ int *input = &in_buffer[0];int *output = &out_buffer[0];puts(“the 3rd experiment startedn”);/* loop forever */ while(TRUE){ /* * Read input data using a probe-point connected to a host file.* Write output data to a graph connected through a probe-point.*/ // read the input image data.dataIO();

puts(“processingn”);/* Processing Gamma Calibration*/ gamma(input, output);

// write the output image.// the output file is result.dat.dataIO();} } /* ======== processing gamma calibration======== * * FUNCTION: apply gamma calibration to enhance the brightness of dark are in an image.* * PARAMETERS: address of input and output buffers.* * RETURN VALUE: TRUE.*/ static int gamma(int *input, int *output){ int i;36

/* the given gamma value is 0.65.*/ /* please try other gamma values.*/ int LUT[256]={0, 7, 11, 14, 17, 20, 22, 25, 27, 29, 31, 33, 35, 37, 39, 40, 42, 44, 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62, 63, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98,100,101,102, 103,104,105, 106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121, 122,123,124,125,126,127,128,129,130,131,131,132,133,134,135, 136,137,138,139,140,141,141,142,143,144,145,146,147,148,149, 149,150,151,152,153,154,155,155,156,157,158,159,160,160,161, 162,163,164,165,165,166,167,168,169,169,170,171,172,173,173, 174,175,176,177,177,178,179,180,181,181,182,183,184,185,185, 186,187,188,188,189,190,191,191,192,193,194,194,195,196,197, 197,198,199,200,200,201,202,203,203,204,205,206,206,207, 208,208,209,210,211,211,212,213,213,214,215,216,216,217,218, 218,219,220,221,221,222,223,223,224,225,225,226,227,228, 228,229,230,230,231,232,232,233,234,234,235,236,236,237, 238,238,239,240,240,241,242,242,243,244,244,245,246,246, 247,248,248,249,250,250,251,252,252,253,254,254,255};/*replace the brightness with a calibrated value.*/ for(i=0;i

return;}

2)其CMD文件如下:-m volume.map MEMORY { PAGE 0: EPROG: origin = 0x3000, len = 0x1000 VECT: origin = 0xff80, len = 0x80 PAGE 1: USERREGS: origin = 0x60, len = 0x1c BIOSREGS: origin = 0x7c, len = 0x4 IDATA: origin = 0x80, len = 0x2f80 } SECTIONS {.vectors: {} > VECT PAGE 0.sysregs: {} > BIOSREGS PAGE 1.trcinit: {} > EPROG PAGE 0.gblinit: {} > EPROG PAGE 0 frt: {} > EPROG PAGE 0.text: {} > EPROG PAGE 0.cinit: {} > EPROG PAGE 0.pinit: {} > EPROG PAGE 0.sysinit: {} > EPROG PAGE 0.bss: {} > IDATA PAGE 1.far: {} > IDATA PAGE 1.const: {} > IDATA PAGE 1.switch: {} > IDATA PAGE 1.sysmem: {} > IDATA PAGE 1.cio: {} > IDATA PAGE 1.MEM$obj: {} > IDATA PAGE 1.sysheap: {} > IDATA PAGE 1.stack: {} > IDATA PAGE 1 } 同时将ti:c5400ctgtoolslib目录下的rts.lib文件加到工程下,给文件是C语言开发的DSP应用程序的运行支持库.3.编译,链接和运行程序

编译成功后,可以通过View_Watch Windows,或者单击工具栏上的窗口

图标.选择观测 38

图7-1,观测到的向量 4.将要校正的图象从文件读入到内存:

1)执行菜单命令File_Data_Load,将打开如图所示的对话框,将要校正的图象tire.dat读入到内存.图7-2 读图第一步

点击‟打开‟,将会出现如下一个对话框:

图7-3 读图第二步

由前图知道in-buffer(校正前的图片在内存中定义的地址)为0x00A5,长度为4096即0x1000, 5.显示校正前和校正后的图象

程序运行后执行View_Graph下的Image命令

图7-4 读图设置图

图7-5 校正之前的图

图7-6 校正之后的图

七、思考题

图形增强还有什么算法?如何实现?

八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验八:FIR数字滤波器

实验学时:2 实验类型:设计

实验要求:选修

一、实验目的

了解FFT的原理和算法

掌握DSP中FFT的设计和编程方法

熟悉FFT的调试方法

二、实验内容

本实验要求使用FFT变换求一个时域的频域特定,并从这个频域求出该信号的频率值,然后使用DSP汇编语言实现对FFT的DSP的编程.三、实验原理、方法和手段

1、FFT基本数学理论

对于有限长的离散数字信号{x(n)},0≦n≦N-1,它的频谱数学值{X(n)}可由离散傅氏变换(DTF)求得.DTF定义为: X(k)= k=0,1,…..N-1(8-1)x(n)ej(2/N)nkn0n1

令WM=e-j(2∏/N)nk 然而对于相当大的N值(比如1024)来说,直接计算它的DFT所需要的计算量很大.因此我们采用优化的FFT算法,它是一个组合以后的算法,原始的2N个点的实输入序列组合为一个N点的复序列,然后对复序列进行N点的FFT,最后再将N点复数输出拆分为2N点的 复数序列,这2N点的复数序列与原始的2N点实数输入序列是一致。

FFT的基本思想是:将原来的N点序列分为较短的序列,这些序列的DFT可以简单的组合起来得到原来的DFT。例如,若N为偶数,将原有的N点序列分为两个(N/2)点的序列,那么计算N点的DFT将需要约(N/2)*2=N/2,是直接采用DFT运算量的一半。上述方法反复使用,在组合和拆分的操作中,FFT的算法量均减半。

2、FFT算法 1)码位倒置

2FFT的码位倒置实际上是将输入的数据进行位倒序,以便在输出时候得到正确的序列,以N=8 为例说明位倒序的原理。舍输入的序列为x[n], N=8,其自然序列为:0,1,2,3,4,5,6,7。其一次按奇偶分开,得到两组M/2点的DFT,其序号为:

0,2,4,6| 1,3,5,7,对每一组再看奇偶分开,得到: 0,4|2,6|1,5|3,7 对于这种运算,我们可以采用DSP的间接寻址的位倒序寻址来实现。2)W因子的生成和分布规律

在FFT中,乘法主要来自旋转因子,因为W=cos(2πr/N)-jsin(2πr/N), 所以在对W

r

r相乘时,必须产生相应的正,余弦函数。在编程序时候,正,余弦函数产生的方法一般有两种:一种是在每一步直接产生,另一种是在程序开始前预先计算出来将W,将r=0,1,….N-1这N个独立的值存放在数组中,等于直接建立一个表,在程序执行的过程中,可直接查表得到,提高运算速度,但要占用更多的内存。W的一般规律为:

r

r在第m级:,r=0,1,2,…….2 2m1wrm

四、实验组织运行要求

教师简单讲解,学生调试程序,教师全程辅导

五、实验条件

安装CCS和MATLAB的电脑一台

六、实验步骤

主函数(文件名为*.asm)从主函数中可以看出FFT的基本过程和步骤,以及码位倒置,产生三角因子,碟形运算和计算功率谱密度。

.title “zxy_fft5k_program”.mmregs.global _c_int00.include “vc54xnt.h”.include “cfft256coff.h”.include “cfft256fn.h” STACK.usect “stack”,stack_size SYSTEM_STACK.set STACK+stack_size.sect “vectors” reset: BD _c_int00 STM #SYSTEM_STACK,SP.space 31*4*16.text 43

_c_int00: NOP CALL c54x_init;Initialize CPU and clear A and B CALL bit_rev;Here AR7--> fft_data , others is free

NOP

CALL fft_task

NOP

CALL power

NOP main_start:

B main_start.end 2 初始化CPU;文件名为: vc54xnt.h stack_size.set 200h K_FFT_SIZE.set 256

.text c54x_init:;CPU initialize;

STM #0b,CLKMD;TstStatu: LDM CLKMD,A;Switch to DIV mode;

AND #01b,A;

BC TstStatu,ANEQ

STM #9FF7h,CLKMD;CPU Clock Feg.:100MHz

STM #00A0h,PMST

STM #8FFFh,SWWSR;IO wait for 7 clk

STM #8802h,BSCR;Clockout=50MHz

LD #0h,DP;Data Page Points at NO.0

LD #0h,A

LD #0h,B

RET

3.cfft256coff.h 函数

cfft256coff.h 函数包括输入的数据和FFT要用到的各种参数的定义,其中 w11112w4w8w16w111132w64w128w256分别为L =cosw12(2π/2)-jsin(2π/2)=-1-j0 =cosw14(2π/4)-jsin(2π/4)=0-j =cosw18(2π/8)-jsin(2π/8)=0.707-j0.707 =cosw116(2π/16)-jsin(2π/16)=0.9239-j0.3827 =cosw132(2π/32)-jsin(2π/32)=0.9808-j0.1951 =cosw164(2π/64)-jsin(2π/64)=0.9952-j0.0980 44

分别,w =cos(2π/256)-jsin(2π/256)=0.9997-j0.0246 w =cos(2π/128)-jsin(2π/128)=0.9988-j0.0491 12812561 将上述系数分别乘以32768得到DSP的Q15格式的小数.

要进行FFT变换的数据是一个周期内采样20个点的正弦信号,共采集 了256点。

4. cfft256fn.h函数

此头文件里包含位码倒置,计算功率谱密度、FFT碟形运算三个子程序。

以上2个程序太长,因此在这里不显示,大家可以在课程论坛里下载这两个程序。5. Cmd 文件

/* Filename:cfft256.cmd*/-m cfft256.map MEMORY { PAGE 0: PM0: o=0x80 , l=0x80 PM1: o=0x100 , l=0x1000 PAGE 1: DM0: o=0x2000 , l=0x2000 } SECTIONS { vectors: PAGE 0 load=PM0.text: PAGE 0 load=PM1.data: PAGE 1 load=DM0

图8-1 观察图形设置对话框.bss : PAGE 1 load=DM0.bss : PAGE 1 load=DM0 stack: PAGE 1 load=DM0 } 6.观察程序运行结果

观察输入数据的波形和频谱

观察图形首先对对话框做如图8-1所示的设置。

图8-2 输入信号的波形和频谱图 2 察看位码倒置后的图形:

点击View-Disassembly,在Disassembly窗口点右键,选择start_address,输入bit_rev_end,在它的下一条语句设置断点然后执行Debug_restart.然后观察位码倒置后的波形。如图8-3所示 观察进行FFT变换后的波形如图8-4所示

如果将上图的Dsplay Type栏中该为FFT Magnitude,就等于作了依次FFT反变换,得到如图所示的结果.如图8-5所示

图8-3 位倒码以后的波形图

图8-4 FFT以后的波形图

图8-5 FFT变换后的频谱图

七、思考题

探测点有何作用?如何设置探测点?

八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,不要做与本实验无关的事情;

3. 做好实验预习、实验记录,并按要求按时完成实验报告。

实验九:控制XF引脚周期性变化

实验学时:2 实验类型:设计

实验要求:选修

一、实验目的

学习定时器的初始化步骤

掌握定时中断原理和中断调用的流程

掌握中断向量表的设置

二、实验内容

本实验要求利用中断系统和定时期设计一个周期为2ms的方波,并通过CCS图像观测器观测出来。

三、实验原理、方法和手段

中断是由外部设备向CPU传送数据,或者由外部设备向CPU提出数据产生的。具体是指当某个事件发生时,暂停当前的操作,转向中断服务程序,执行完后再返回继续原来的操作。这使得DSP能够处理多个任务。CPU执行中断服务程序(ISR)步骤如下: 1 保护现场,将PC值压入栈顶;

载入中断矢量表,将中断矢量表地址送入PC; 3执行中断矢量表,程序将进入ISR入口; 4 执行ISR,直至遇到返回指令; 5 回复现场,将栈顶值返回PC; 6 继续主程序。

定时器初始化初始化步骤: 1 关闭定时期,TCR中的TSS=1。2 加载PRD。

启动定时器,初始化TDDR,TSS=0,TBB=1。4 打开可屏蔽中断.四、实验组织运行要求

教师简单讲解,学生调试程序,教师全程辅导

五、实验条件

dsp实验指导书 篇2

1 高校开设DSP数字视频处理课程的必要性

目前,在高校电子信息类专业中开设DSP数字视频处理实验课程已经成为一种趋势,这是因为随着数字电子产品的普及以及数字移动通信技术的迅速发展,视频处理已经融入了工业生产、社会运行和日常生活的各个领域,且变得越来越重要。做为电子信息类的大学生,应该掌握基本的数字视频处理技术,而用DSP做为实验教学的工具无疑是一个理想的选择。

2 高校开展DSP视频处理实验教学的基本情况

本文以天津科技大学电子信息与自动化学院开展数字视频处理的实验教学为例,简要介绍相关情况。

2.1 实验平台简介

天津科技大学采用TI公司的TMS320DM642 DSP数字处理芯片进行实验教学,该芯片通过64bit的EMIF接口或8/16bit的3路视频接口与外界连接,视频解码器和视频编码器均连接于视频端口和扩展连接器上。

该数字视频处理系统主要包括EMIF、SDRAM、Flash寄存器、UART端口等,按照数据的流向,各部件功能如下:首先,输入的标准PAL模拟电视信号经TVP5150A转换为数字并行信号BT656,之后进入DM642视频接口,码流信号在这里被处理为图像数据后自动通过EDMA传输到SDRAM中存储,DSP的CPU根据用户编制的算法对SDRAM中的信息进行处理后将其送入输出缓冲SDRAM,之后EDMA将其中的数据转为BT656码流并送入输出视频接口,SAA7105负责将码流转换为PAL制式模拟电视信号输出。

2.2 实验教学的基本情况

天津科技大学电子信息与自动化学院教师在教授完信号处理类主干课程之后,即开始进行数字视频处理的课堂教学和实验教学,前者主要讲授视频处理的理论知识、相关软件硬件和最新的发展动向等,后者主要培养学生的动手实践能力。

鉴于DSP数字视频处理技术的复杂性,该学院在实验教学中采用由易到难、由点及面、理论与实践相结合的方法,以期让学生在尽量短的时间内能够循序渐进初步理解DSP的基本原理、视频数据处理的基本流程、主要的外设功能、软件平台的结构,并在此基础上培养简单的软件编制技能。

实验教学大体可分为4个阶段,第一阶段,让学生熟悉DSP处理视频数据的基本流程,相关硬件的功能、参数和接口特征以及配套软件的加载、运行;第二阶段,使学生能熟练运用软件平台提供的基本类库和API函数,完成摄像头的驱动、数据流的抓取、信息的获得和视频的实时显示;第三阶段,让学生实践一些视频处理的基本例程并进行深入思考;第四阶段,启发学生发挥个人想象力自主编制小规模视频处理程序。

2.3 实验教学的效果

从教学实践上看,学生掌握DSP数字视频处理技术的热情虽然较高,但遇到的困难也很大,主要原因在于DSP涉及的底层硬件较多,彼此协调配合的关系较为复杂。此外,TMS320DM642上层的驱动程序和API函数数目也很多,显得较为凌乱。加之视频处理程序的编制需要较高的C语言运用能力,因此对实验教学提出了较高的要求。客观来讲,在有限的课堂教学中让学生全盘掌握DSP数字视频处理技术的所有内容显然是不现实的,较为可行的办法是从最有普遍性和代表性的知识点入手,由易到难,先让学生能够运用有限的知识实现一定的功能,培养他们的学习兴趣,打好基础,为他们继续深入研究创造可能。

为了调动学生学习的积极性,电子信息与自动化学院在实验教学中把讲与练有机结合起来,做到边练边讲、讲中有练。以第二阶段为例,教师打破常规模式,让学生阅读DSP的使用说明,然后自己动手进行简单视频处理系统的搭建,经过一定时间的摸索后,教师总结学生遇到的问题,然后开始集中讲解,这样就避免了学生因为缺少感性认识而不能深刻理解教学内容情况的出现,大大提高了教学效果。此外,教师不照本宣科,而是模拟实际项目开发,提目标,订任务,放手让学生大胆思考、自主实践,然后针对难点个别指导,有的放矢。遇到问题时,教师也不去包办解决,他们引导学生使用诸如断点分析这样的方法自己查找错误。通过这些努力,学生应用DSP进行数字视频处理的水平在较短的时间内得到了明显的提升。

当教学进入第四阶段后,许多功底扎实又富有创意的学生自主设计了很多个性鲜明的视频处理程序,其中,“阴阳人”的小程序较为典型。该学生将课堂上练习过的视频取反程序加以改进,与逐行扫描的思路结合,改变以往取反程序设计时常用的整体处理的思路,采用逐行处理的方法,在画面上切割出的不同区域里分别显示正常灰度与取反灰度,实现了“阴阳人”的效果,如图1所示。运行速度快、实时效果好、占用资源少。

实践证明,对DSP数字视频处理这样的实践性很强的课程来说,只有确定学生能动的主体地位,制定有利于学生自主动脑分析问题、解决问题的教学方式方法,才能调动他们的积极性,提高他们的学习效率,取得较好的效果。

3 改进的方向

今后的改进方向包括:

(1) 深入提炼教学内容。用DSP进行视频处理具有很高的灵活性和伸缩度,其程序设计和调试的复杂性因操作人水平和能力的不同而差异巨大。对教学来讲,需要在教学深度和学生接受程度之间做进一步的平衡,尽量让学生能够接触更深层次的知识。这就需要对教学内容进行深入挖掘,提炼一批既有一定技术深度、又易于学生上手掌握的内容。

(2) 开展个性化教学。不同基础和资质的学生对知识的掌握速度和理解程度并不统一。因此,在今后的实验教学中应该根据他们个体的不同进行兴趣小组的划分,辅以相应的教学内容,满足各自的求知欲望。

参考文献

[1]郭锐.DSP教学中若干教学方法研究与实践[J].科技信息,2011(20):6.

[2]张艳萍.通信工程专业DSP教学方法研究[J].中国科技信息,2007(12):275-277.

如何加强学生实验指导 篇3

关键词:化学 实验 指导 能力

化学是一门以实验为基础的学科,实验教学是传授知识的方法,也是培养学生动手能力的有效手段。因此化学实验是化学教学过程中不可缺少的重要环节,若只侧重于对课堂理论的验证,强调循序渐进,则使学生处于被动接受状态,加之受课堂教学理论的干扰,对实验现象、结果不加科学分析,甚至改动数据以吻合课堂理论的观点,因此,我们在化学实验的教学中以培养学生的能力为主、验证理论为辅,达到了有效地开发学生的能力的实验目标。

化学实验质量高低对学生掌握化学科学具有十分重要的意义。现在医药学各专业的学生在化学教学中,实验所占的比例逐渐增多,充分说明了实验在化学教学中的重要性,为此,本文就如何指导学生实验,提高实验效果,充分挖掘学生实验的潜力,培养学生的能力等方面作了一些探索。

一、指導学生预习实验

预习实验是学生实验成功的前提和基础,是实验教学的重要组成部分。每次学生实验前,教师要指导学生进行预习。要求学生认真阅读实验内容,明确实验目的,了解实验步骤、操作过程和实验时应注意的事项,写好预习笔记即填写好实验预习单。参照预习单做实验便于克服学生看书做实验慢的陋习,使之集中精力做好实验。通过上述活动,使学生了解实验应该做些什么?可能会出现什么问题?做到心中有数,克服盲目性和被动性,培养学生对知识的归纳、整理、统摄能力,养成严肃认真的科学态度。因此,做好学生预习实验指导,是一项十分重要的工作,不容忽视。

二、指导学生做实验

实验时要求学生做到如下几点:(1)认真操作,细心观察现象,并及时地、如实地记录实验结果;(2)严格遵守实验室的规章,实验过程保持肃静,切莫把实验课当儿戏;(3)实验中要节约药品,爱惜仪器,实验结束后必须把仪器放置好,试管等洗涤干净,以保证实验能有条不紊地进行。学生实验是以基本理论、基础知识为前提,应用前人的知识来重新验证,属于验证性实验。教师在学生实验之前应强调操作的关键步骤和注意事项,一些操作比较困难的步骤,教师可以适当演示,这样可以提高学生实验的成功率,激发学生对实验的兴趣。在学生实验过程中要加强巡回指导,发现不规范的操作要及时纠正。对于操作能力较差的学生给予具体的帮助,使其树立信心,尽快掌握规范的操作技能。验证性实验可以加强对所学理论知识的巩固,加深对物质性质的认识,增强学生的记忆力。另外,为了使学生实验有更多的收获,学生进实验室做实验先检查预习单,无预习单不能做实验。

三、指导学生观察实验现象

要有目的、有计划、有步骤地指导学生观察实验现象。要求学生观察实验变化的每一细微处并加以记录,对实验中出现的一些现象,引导学生自己观察和思考找出答案。在实验教学中用这种形式来解答学生的问题,既能激发学生的兴趣,又能培养学生的思维能力,训练学生的观察能力。

要做到观察认真、仔细,要有侧重,不被实验的表面现象所迷惑,从观察中探索实验的本质。如:为了验证松节油和溴水能发生加成反应,要求指导学生观察:①溴水是否褪色。②是否有新物质生成。③生成新物质的颜色、状态、水溶性。

如果教师对观察实验现象不加以指导,那么学生观察到的只是溴水褪色,至于生成物的颜色、状态、水溶性就容易被忽略,而化学变化的本质却是有新物质生成。因此,引导学生观察实验现象,可以提高实验教学的质量,有利于培养学生的观察能力,思维能力。

四、指导学生思考,分析实验现象

一个实验究竟会得到什么结论?学生往往并不全知道。只有对实验现象全部记录进行思考和分析,才能得出结论。通过自己的观察、探索、分析实验提供的信息,然后去粗存精,去伪存真,由此及彼,由表及里,透过现象看本质,将获得的感性知识上升到理性知识,进而转化为理论知识,提高自身的素质。对于实验中出现与理论不符合的现象,要引导学生找出原因,分析结果。也可以作为讨论题让大家发表意见和见解,以达到解决问题的目的。

另外,实验做完的当天学生必须写好实验报告,统一交授课教师。实验报告是学生学习化学实验中不可疏漏的重要环节,实验是运用理论知识指导实践,写实验报告则是将实验结果升华为理性认识,是对实验作全面的总结。在实验报告中强调对实验问题的讨论,并把它作为衡量实验报告质量的一个重要标准,使学生在实验过程中积极主动的去观察,并通过思考在实践中提高解决问题的能力,这样就使学生的智力培养和开发贯穿于整个实验教学过程中。

通过写实验报告不仅可以使学生巩固加深基础知识和实验操作,而且可以培养学生分析问题、解决问题的能力。

五、引导学生自己动手设计实验

验证性实验是学生单纯的模仿和重复前人的实验,长期“照方抓药”会使学生感到乏味,甚至挫伤学生 做实验的积极性。因此,在教学中,教师可以尝试性地将验证性实验改成由学生思考,自己设计、操作的实验,收到了良好的效果。通过这种方法能极大地提高学生做实验的兴趣和参与意识,这不仅促进了学生对理论知识的加深巩固,同时又给学生一个创新的天地,可以大大激发学生学习化学的积极性。

具体的方法是:先由学生将自己设计的实验计划上报教师,经教师审核许可后,方能进行,对学生自行 设计和动手操作的实验,教师首先予以肯定,并给予一定的加分鼓励。至于实验结果如何,实验成功与否,教师都应该给予热情的支持。学生的智慧是无限的,只要教师加以积极的引导,为学生创造自己动手设计实验的机会。

六、实行实验考核、培养实用人才

实验考核首先要强调实验课的重要性,实验考核的方法和要求,讲明理论成绩与实验成绩的比例。目的是让学生重视平时实验操作训练。为此,在实验教学结束前一周就要拿出实验考试方案。实验试题根据教学大纲拟定,题目由学生抽签而定,由学生自己准备试题,并要求在规定时间内完成,每组由教师和实验老师负责监考和评分。

七、小结

大学dsp实验心得体会 篇4

一、实验目的

二、实验设备

三、实验原理

浮点数的表达和计算是进行数字信号处理的基本知识;产生正弦信号是数字信号处理1. 一台装有CCS软件的计算机; 2. DSP实验箱的TMS320F2812主控板; 3. DSP硬件仿真器。 1. 掌握CCS实验环境的使用; 2. 掌握用C语言编写DSP程序的方法。 中经常用到的运算;C语言是现代数字信号处理表达的基础语言和通用语言。写实现程序时需要注意两点:(1)浮点数的范围及存储格式;(2)DSP的C语言与ANSI C语言的区别。

四、实验步骤

1. 打开CCS 并熟悉其界面;

2. 在CCS环境中打开本实验的工程(Example_base.pjt),编译并重建 .out 输出文件,然后通过仿真器把执行代码下载到DSP芯片中;

3. 把X0 , Y0 和Z0添加到Watch窗口中作为观察对象(选中变量名,单击鼠标右键,在弹出菜单中选择“Add Watch Window”命令);

4. 选择view->graph->time/frequency… 。 设置对话框中的参数: 其中“Start Address”

设为“sin_value”,“Acquisition buffer size”和“Display Data size”都设为“100”,并且把“DSP Data Type”设为“32-bit floating point”,

设置好后观察信号序列的波形(sin函数,如图);

5. 单击运行;

6. 观察三个变量从初始化到运算结束整个过程中的变化;观察正弦波形从初始化到运算结束整个过程中的变化;

7. 修改输入序列的长度或初始值,重复上述过程。

五、实验心得体会

通过本次实验,加深了我对DSP的认识,使我对DSP实验的操作有了更进一步的理解。基本掌握了CCS实验环境的使用,并能够使用C语言进行简单的DSP程序设计。

dsp实验指导书 篇5

[关键词] DSP;学习动机;实验兴趣

doi : 10.3969 / j.issn.1673-0194.2010.21.040 数字信号处理器(DSP)由于其控制功能强,处理速度快,运算处理的实时性强等优点而被广泛应用在工业控制的各个领域,DSP应用技术已成为电子类专业学生必修的专业课程。在DSP学习中,理论与实践是紧密联系,相辅相成的,用理论来指导实践,用实践来加强理论。在教学中实验课占据很大的比例是非常重要的,因此在实验教学中如何激发学生的实验兴趣,使实验教学过程成为一个愉快的学习过程,发展学生动手能力,培养学生学习兴趣,值得我们深入研究。

一、妨碍学生实验兴趣发展的原因分析 1.实验课与考试内容脱节

由于实验课的内容在考试时很难体现或体现很少,因此,学生将大部分精力与时间用于理论课学习。上实验时,只机械地模仿教师的操作过程以完成实验,很少考虑实验原理、实验中出现的各种问题等,不能主动地学习和思考。长此以往,实验也就失去了培养学生动手能力的意义。

2.实验课的内容与形式不能很好调动学生的学习积极性

学生最感兴趣的是那些有所了解却又不完全已知、能够引起思考的东西,而教材中的实验大多具有已知程序、已知实验结果的特点,实验时只需查找代码后输入即可,很容易造成重复与感到枯燥。3.教师的教育、教学思想和策略不当

不少学生在做实验时小心翼翼、缩手缩脚,不敢大胆实验,担心自己一不小心把实验仪器给弄坏了,所以在实验时采取避而远之的态度。实验课时,不能全身心地投入学习,抱着不求有功,但求无过的态度。教师在实验中应亲自示范,鼓励学生按照实验规则做实验,不要担心损坏实验仪器,使学生放下思想包袱,培养学生的自信心和勇于探索的精神。

二、如何激发学生的实验学习兴趣

兴趣是激发学生深入探索的动力源泉,因此培养学生的学习兴趣是实验教学的重中之重。DSP实验不仅能看到实验现象及结果,而且能与实际应用相联系。1.充分发挥教师的引导作用 在DSP实验教学中要着重引导学生有目标、有重点地进行训练,既重视编程能力的培养,又注意养成科学思维方法。在实验教学中,教师要积极引导,使学生从内心体验到亲自动手实践而带来的喜悦和成就感。有意识、有目的地激发和培养学生持久的认知兴趣,使之不仅成为上好实验课的动力,也能成为促进学生心理品质良好发展的重要因素。

2.对学生采取个性化教学及分层教学的方式

由于学生的素质和接受能力不同,如果采用相同的实验题目会造成有的学生来不及做而有的学生无事可做的情况,因此除做好规定实验外,还可对部分学生增加探索性实验、综合性设计实验等,以多种方式来培养学生的实验兴趣。3.注重培养学生的思维能力及严谨的实验态度

由于DSP的灵活性较强,可以根据实际条件设立一些无现成教材,学生可自由发挥的实验题目,这样可以培养学生以科学的思维方式来观察和独立地分析实验中出现的问题,既有利于激发学生的学习兴趣又有利于加深对理论的理解。同时在DSP实验中会由于诸多原因(如源代码错误,或是目标代码错误,链接文件错误等)造成学生在实验中不能获得预期的结果,这时一定要引导学生自己独立地分析失败原因,以培养学生独立思维的能力和严谨认真的实验态度。

三、对现有DSP实验的改革设想 1.改革实验教学内容

(1)设计实验内容时注意其可比性。例如:在学习命令链接文件编制时,可以将程序存储器配置成在内部RAM和外部RAM中运行,这样可使学生了解DSP与以前学过的单片机的不同点。

(2)设置必做实验和选做实验项目,给学有余力的学生发挥创造性和发挥个性特长的条件。例如在三相步进电机驱动实验中,可将实验设计成三相三拍驱动和三相六拍驱动。

(3)鼓励、引导学生提出不同的设计方案和解题途径,并能从中优选最佳方案和途径。

2.改革教学方法

(1)明确实验课的地位和目的,增强实验教学的趣味性,让学生重视实验课,变“要我学”为“我要学”。

(2)突出学生的主体地位。实验课教学要精讲多练,在教师的引导和组织下,以学生独立活动为主,教师讲授为辅。教师要重视兴趣激发、思路开发、方法引导、作风培养等,做到言传身教、以身作则。凡是能够由学生自己动脑动手解决的问题,尽量让他们独立完成。(3)灵活地利用现代化的教学设备。教师通过多媒体课件演示实验应出现的现象,配以生动形象的讲解,并延伸到工程应用。

(4)重视发挥实验课的实践作用。DSP有着广泛的社会应用,把实验课堂与社会课堂结合起来,组织课外参观见习、技术创新等活动,既拓展了学生的创新精神,培养了创新能力,又能使学生毕业后,为适应未来的工作打下坚实的基础。3.改革教学实验设备

现在大多数学校的DSP实验设备都是从各个公司购买的成套的实验箱,这种设备在一定程度上能够锻炼学生的软件编程能力,但无法锻炼学生的硬件设计能力。因此,有必要自制一些DSP实验设备,通过自制的DSP实验设备讲解软件编程和硬件电路设计,不仅在软件编程方面而且还能在硬件电路设计方面使学生得到锻炼,使学生在DSP应用方面得到质的提高,为以后工作中应用DSP打下坚实的基础。

总之,在DSP实验教学中,应注意探索实验教学的规律,激发学生的学习兴趣,营造一种轻松的学习氛围,积极探索DSP技术的实用性和前瞻性,保证实验课程与时俱进,不断拓宽学生的视野,加强理论与应用的联系,构筑理论教学、实验教学和科研共进的良好环境。主要参考文献

dsp实验指导书 篇6

哈尔滨工程大学信息与通信工程学院

2013年3月

目录

雷达原理实验课的任务和要求..........................................1 雷达原理实验报告格式................................................2 实验一 雷达信号波形分析实验.........................................3

雷达信号波形分析实验报告........................................5 实验二.数字式目标距离测量实验......................................6

数字式目标距离测量实验报告......................................8

雷达原理实验课的任务和要求

雷达原理实验课的任务是:使学生掌握雷达的基本工作原理和雷达测距、测角、测速的基本方法和过程;掌握雷达信号处理的基本要求,为了达到上述目的,要求学生做到:

1.做好实验前准备工作

预习是为做好实验奠定必要的基础,在实验前学生一定要认真阅读有关实验教材,明确实验目的、任务、有关原理、操作步骤及注意事项,做到心中有数。

2.严谨求实

实验时要求按照操作步骤进行,认真进行设计和分析,善于思考,学会运用所学理论知识解释实验结果,研究实验中出现的问题。

3.遵从实验教师的指导

要严格按照实验要求进行实验,如出现意外,要及时向老师汇报,以免发生意外事故。

4.注意安全

学生实验过程中,要熟悉实验室环境、严格遵守实验室安全守则。5.仪器的使用

使用仪器前要事先检查仪器是否完好,使用时要严格按照操作步骤进行,如发现仪器有故障,应立即停止使用,报告老师及时处理,不得私自进行修理。

6.实验报告

实验报告包括下列内容:实验名称、实验日期、实验目的、简要原理、主要实验步骤的简要描述、实验数据、计算和分析结果,问题和讨论等。

雷达原理实验报告格式

一、封皮的填写:

(1)实验课程名称: 雷达原理

(2)实验名称:按顺序填写(3)年 月

日:

二、纸张要求:统一采用A4大小纸张,左侧装订,装订顺序与实验顺序一致。

三、书写要求:

(1)报告除实验图像必须打印外,其余可手写。

(2)实验结果图位于实验结果与分析部分,图像打印于纸张上部,下部空白处写实验分析。

(3)报告中图要有图序及名称,表要有表序及名称,每个实验的图序和表序单独标号(例如 图1.1脉冲信号仿真波形

;表1-1 几种信号的。。)。不合格者扣除相应分数。

(4)每个实验均需另起一页书写。

四、关于雷同报告:报告上交后,如有雷同,则课程考核以不及格处理。(每个实验均已列出参数可选范围,不能出现两人所有参数相同情况)

实验一 雷达信号波形分析实验

实验类别:验证性实验 实验学时:2学时

实验地点:信息对抗实验室,实验依据:《雷达原理实验》教学大纲 实验设备:PC机,MATLAB软件

一、实验目的与要求

1.了解雷达常用信号的形式。2.学会用仿真软件分析信号的特性。3.了解雷达常用信号的频谱特点和模糊函数。

二、实验内容

本实验是在PC机上利用MATLAB仿真软件进行常用雷达信号的仿真、设计。针对所设计的雷达信号分析其频谱特性和模糊函数。

三、实验步骤

1.列出简单脉冲调制信号和线性调频雷达信号数学模型 2.利用MATLAB软件编写雷达信号产生程序 3.对信号进行频谱分析

4.记录仿真结果、存储仿真波形。选作:

1.对线性调频信号进行匹配,输出原信号与匹配输出信号的对比波形。

四、实验要求

1.每名同学自选实验参数、进行程序设计。信号参数范围如下:

(1)简单脉冲调制信号: 载频范围:70MHz~100MHz 脉冲重复周期:200us~300us

脉冲宽度:3us~10us 幅度:1V(2)线性调频信号 载频范围:70MHz~100MHz 脉冲重复周期:200us~300us 脉冲宽度:10us~30us 信号带宽:10 MHz ~20MHz 幅度:1V 2.实验结束后,检查实验结果并讨论。3.撰写实验报告

五、思考题

常规脉冲雷达信号的频谱和线性调频雷达信号的频谱各有何特点?线性调频雷达信号有何优势?。

雷达信号波形分析实验报告

****年**月**日

班级

姓名

评分

一、实验目的要求

二、实验原理

三、实验参数设置

四、实验仿真波形

五、实验成果分析

六、教师评语

教师签字

实验二.数字式目标距离测量实验

实验类别:验证性实验 实验学时:2学时

实验地点:信息对抗实验室,实验依据:《雷达原理实验》教学大纲 实验设备:PC机、QURTARSII软件

一、实验目的与要求

1.掌握数字式雷达距离测量的基本原理。

2.学会用QuartusII软件设计数字式单目标雷达距离录取装置。3.了解多目标雷达距离录取装置的设计方法。

二、实验内容

本实验是在PC机上利用QuartusII软件进行数字式单目标雷达距离录取装置的设计,并通过波形仿真验证设计方案的正确性。

三、实验步骤

1.用原理图法设计数字式单目标雷达距离录取装置 2.确定波形仿真参数。

3.通过波形仿真文件验证数字式单目标雷达距离录取装置的正确性。4.记录仿真参数、结果并存储仿真波形。选作:

1.数字式单目标雷达距离录取装置的设计,并通过波形仿真验证设计方案的正确性。

四、实验要求

1.每名同学自选实验参数、进行程序设计。信号参数范围如下:

简单脉冲调制信号:

(1)脉冲重复周期:200us~300us

(2)脉冲宽度:10us~30us(3)目标距离:15km~40km(4)目标数量:1~3个

2.实验结束后,检查实验结果并讨论。3.撰写实验报告

五、思考题

讨论多目标距离编码器与单目标距离编码器实现方案设计不同点。

数字式目标距离测量实验报告

****年**月**日

班级

姓名

评分

一、实验目的要求

二、实验原理

三、实验参数设置

四、实验仿真波形

五、实验成果分析

六、教师评语

dsp实验指导书 篇7

在当今的数字化时代背景下,DSP已成为通信、计算机、消费类电子产品等领域的基础器件,被誉为信息社会革命的旗手。宁波大学也十分重视DSP芯片技术的教学与研究,但开设DSP芯片技术课程的时间很短,仅两三年的时间,2004年底才引进了ICETEK-VC5416-USB/PP-EDU型DSP教学实验系统[1]。而我们现有的实验内容仅仅是一些验证性的实验,每个实验项目都是局限于对实验箱中某一单一功能进行的,缺乏针对性,更不适合宁波大学特色办学——短学期的教学,这些问题对正常教学工作的开展造成了很大不利,不能锻炼学生的系统设计能力。因此,迫切要求开发出适合于短学期教学的实验项目。

目前音乐播放系统(mp3)正由单一的播放功能逐步向集录音、收音、视屏播放等功能于一体的方向发展,对处理芯片的要求日益提高。DSP芯片体积小、功耗低、处理速度快,非常适合新的音乐播放系统的应用。本课题组成员针对我校开设的专业课《DSP芯片技术应用》及《DSP芯片应用系统设计》两门课程的特点及TMS320C54X系列DSP芯片的应用场合,努力探索了一套适合于培养学生软硬件系统设计能力的实验方案,从而提高学生解决实际应用问题的能力,并设计开发了基于DSP教学实验箱的音乐播放应用系统,本文主要介绍了该系统的设计过程和测试结果。

2 系统设计

2.1 系统设计思路

一款普通的播放器主要有以下几个部分:数据端口、内存、微处理器、数字信号处理器、显示屏、播放控制、音频端口、放大器、电源等。DSP的实验箱的显示/控制模块主要由以下几部分组成:液晶显示、键盘输入、音频输出、电机转动等。可以将液晶显示部分来代替LCD显示控制器,而键盘可以充当音乐播放器的按键,音频输出则相当于音乐的产生,而电机转动则是模仿一个安全的音乐播放系统,他设置了门禁限制,只有输入正确密码才能进入,进入系统或退出系统时,电机逆向转动或正向转动。系统框图如图1所示。

2.2 系统的硬件设计

(1) 液晶部分

液晶显示模块的访问、控制是由5416DSP 对扩展I/O 接口的操作完成[2]。

控制I/O 口的寻址:命令控制I/O 接口的地址为0x8001,数据控制I/O接口的地址为0x8003 和0x8004,辅助控制I/O 接口的地址为0x8002。

发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制I/O 接口写入命令控制字,然后再向辅助控制接口写入0。

(2) 键盘部分

键盘输入功能主要提供控制信号和数据的输入。键盘的扫描码由DSP的I/O扩展地址0x8001给出,当有键盘输入时,读此端口得到扫描码,当无键按下时读此端口的结果为0。各按键的扫描码排列如图2所示。

(3) 蜂鸣器和步进电机部分

步进电机和蜂鸣器的原理都是按照一定的频率改变通用输出口的高低电平来驱动步进电机或蜂鸣器。18个McBSP引脚[3,4,5]:当MCBSP的发送和接收部分处于复位状态时,可以将BCLKX0/1/2,BCLKR0/1/2,BDR0/1/2,BFSX0/1/2,BDX0/1/2作用通用I/O引脚,引脚主要由引脚控制寄存器(PCR)控制。对通用I/O进行的操作主要是设置通用串口寄存器,涉及到的寄存器有串口控制寄存器SPCR1,SPCR2和引脚控制寄存器PCR。

2.3 系统的软件设计

系统软件设计主要包括三大功能模块:通行认证、修改密码、音乐播放,其核心部分是音乐播放,系统软件设计总体框图如图3所示。

(1) 通行认证

通行认证需要完成的任务是判断输入的通行证是否正确。在通行证输入页面,液晶屏显示当前的密码位,当该位密码输入以后,将显示一个“*”符号,我们设定的密码位数为6位,密码的符号可以为键盘上的“0”~“9”,当6位密码完整输入以后,反白显示“F确认”菜单,提示确认密码。如果用户发现密码输入有误,可以随时按照屏幕上的提示“E重新输入密码”即按E键重新输入密码。如果此时用户想放弃进入音乐播放系统的请求,可以按照屏幕提示“D退出”按D键返回到待机页面。如果连续输错密码三次系统会报警。密码正确进入系统,步进电机转动进入音乐播放界面。

(2) 修改密码

系统的密码保存在password变量中,可以通过修改password变量值来修改密码。在修改密码之前一定要先输入旧密码,防止密码被任意篡改。在输入新密码的过程中,为保证新密码是用户要设定的密码,程序要求输入两次新密码,在确认两次输入一致时才更新密码。在密码不一致的情况下返回设定密码页面。

(3) 音乐播放

如图4所示,进入音乐播放主菜单后,系统会提示用户选择需要播放的曲目,用户选择好播放曲目进入播放界面。此时的播放界面主要有以下几个功能:音乐播放,音乐暂停,回放,快进,退出系统等。在音乐播放时键入0后音乐播放暂停,进入暂停页面,暂停后用户可以选择上一曲或者下一曲也可以选择继续播放,如果用户想选择其他播放曲目,可以通过回到播放主菜单的方式去选择所需要的播放曲目。

3 系统测试结果及分析

我们完成了一个音乐播放系统的设计和调试,主要功能有通行认证、自动开门、自动报警、音乐播放和密码修改等,图4示出了系统的部分测试结果。

系统首先显示基本页面,页面的信息可以按需要进行设定,然后进入欢迎页面(a),随后出现提示页面,用户按A或B键来修改密码或进入音乐播放系统。

若进入音乐播放系统,则首先应输入密码进行通行验证,如图4(b)所示,当密码达到6位时,F确认键闪烁显示,以提示用户,密码正确则显示(c)页面,密码错误则进入重置密码页面和报警页面(d),允许用户输入三次密码,否则报警,按 D键则退出系统。(e)图为曲目选择页面,用户可按数字键(1,2,3,4)选择相应的歌曲播放,在曲目播放页面(f)中,用户可完成暂停、回放、快进和退出等功能,其中在暂停页面,还可完成继续、上一曲、下一曲、返回主菜单和退出系统等功能,(g)为退出系统页面,同时电机顺时针转动以同步关门。

若进入修改密码页面,用户先输入旧密码,这是防止他人恶意篡改密码,在连续两次输入新密码后,提示用户密码已经修改成功,并进入系统,修改密码页面如图4(h)所示。

4 结 语

我们设计了一个基于ICETEK-VC5416-USB/ PP-EDU型DSP教学实验箱的音乐播放实验系统,该系统具备了音乐播放系统的基本功能,即液晶显示、键盘输入、歌曲播放、快进、回放、暂停等,在此基础上,我们还添加了系统的安全认证和密码修改功能,使得该系统功能更完善。本系统能够在实验箱上稳定运行,具有简洁、直观、安全等优点。另外,系统还用到了实验箱上多个硬件模块和多个DSP片内外设,对培养学生软硬件系统设计能力提供了良好的实验方案。

摘要:设计开发了一个基于ICETEK-VC5416-USB/PP-EDU DSP教学实验箱的音乐播放实验系统,该系统涉及到了实验箱显示/控制模块的液晶显示、电机开关、蜂鸣报警、键盘输入、蜂鸣器发声等硬件单元,对培养学生软硬件系统设计能力提供了良好的实验方案,系统运行稳定,具有简洁、直观、安全等优点。

关键词:DSP技术,音乐播放系统,教学实验箱,mp3

参考文献

[1]北京瑞泰创新科技有限公司.ICETEK-VC5416-USB/PP-EDU教学实验系统使用说明书[Z].2003.

[2]李维諟,郭强,周云仙.液晶显示应用手册[M].北京:电子工业出版社,2002.

[3]张雄伟,陈亮,徐光辉.DSP芯片的原理与开发应用[M].北京:电子工业出版社,2003.

[4]尹勇,欧光军,关荣锋.DSP集成开发环境CCS使用指南[M].北京:北京航空航天大学出版社,2003.

[5]清源科技.TMS320C54X DSP应用程序设计教程[M].北京:机械工业出版社,2004.

[6]Andrew Bareman,Warren Yates.Digital Signal ProcessingDesign[M].London:Pitman,1988.

“实验作文”指导的误区及其对策 篇8

一、少一点包办代替,多一点自主体验

镜头一:“实验作文”课《火山喷发》

教师在讲台前演示完“火山喷发”的模拟实验,请学生谈看到了什么?有什么感受?要求学生把看到的、感受到的写下来。关于实验的过程,孩子们大多这样写:“……只见老师先舀了两勺小苏打粉,倒入‘火山口’,接着拿出一个杯子,往里面注入白醋,又滴了几滴红钢笔水。最后,把杯中的液体全倒入‘火山口’,红色的‘岩浆’流了出来……”

老师演示得很精彩,孩子们也观察得很投入,但为什么却只有记账式的、没有灵性的语言呢?这是缺少体验的缘故。众所周知,孩子们之所以喜欢实验,不仅仅是因为他们能一饱眼福,更多的是因为实验能给他们带来全新的体验,这种体验是正在进行时的而不是过去回忆式,是调动多种感官的实践而不仅仅是旁观。如果将实验的主动权交给学生,放手让他们亲自动手设计、完成实验,让他们充分体验成功的喜悦或是失败的沮丧。那么孩子们在这样丰富的内在情感体验的驱动下写出来的作文自然就精彩纷呈了。

改进后案例:

将实验材料分给学生,要求孩子们分组用这些材料来设计一个火山喷发的模拟实验。在实验操作之前,小组可以先交流设计实验的方案。在完成实验操作后,全班交流实验中最有趣、印象最深的事,教师相机进行语言积累与运用方面的点拨。在实验的设计、操作和总结等环节中,老师只是发挥着指导、启发的作用。整个过程,孩子们充分运用身上的“五员大将”——眼耳鼻舌手,写作的激情被充分调动起来了,请看下面的学生优秀作文例句:

1.刹那间,红红的“岩浆”流了出来,只见红色泡沫越涨越高,很快便溢出“火山口”。此时,我们欣喜若狂,不约而同地喊出:“哇——”。再看组长,他的两眼瞪得大大的,似乎不敢相信这是真的……(成功)

2.真能成功,我可就“光宗耀祖”了!因为太着急了,我直接往已经“吃”了许多小苏打的“火山口”里再加了一勺。嫌加墨水太麻烦,我直接把醋倒了进去,结果溢出来的只是变异的岩浆(白色)……(失败)

3.“岩浆”顺着“山势”流到“山脚”。这种景象,让我仿佛看见了火山喷发时火红的岩浆一泻千里的情景,太壮观了。(独特体验)

“酸甜苦辣都有营养,成功失败都是收获。”体验是科学探究、自主写作的原动力。充分体验,才有情趣盎然的作文!

二、少一些科学道理,多一些人文感悟

镜头二:两篇实验作文的结尾

《鸡蛋的秘密》:老师告诉我们这是“重心”问题。熟鸡蛋里的液体已经凝固,重心不变,就能保持平稳快速地旋转;而生鸡蛋里面装的是液体,重心不稳定,就会东歪西倒。科学真是无处不在。小小的鸡蛋让我学到了不少新知识。

《掉不下的硬币》:老师告诉我们,中指对无名指牵制最大。当中指被固定了,无名指也无法动弹,硬币当然就被两个手指夹住而无法放开。科学实验真有趣,既锻炼了动手能力,又学到了不少知识。

在科学实验作文中揭示科学道理本无可厚非,但是如果孩子们都只会以科学道理作为结尾,作文就会因缺乏多样性而显得呆板。孩子们之所以感到除了科学之外无话可说,在很大程度上是因为老师没有提供机会让他们浮想联翩。在实验作文的指导过程中,教师要引导学生从实验现象中找到联想的触发点,进而打开个性化的作文思路。这样,每篇文章的立意也就各不相同了。

改进后案例:实验作文《掉不下来的硬币》

在孩子们亲自体验硬币被夹在无名指之间掉不下来之后,老师这样引导他们:请同学们想一想,从“掉不下来的硬币”这一科学现象你联想到了什么?能不能结合你们的生活,谈一谈你们对这一现象的感悟。孩子们纷纷将视角转向自己的生活,去寻找这一实验现象所反映出来的生活本质。有的从“掉不下来的硬币”联想到“定势思维”的危害,有的则想到“父母的爱”,思维的深度与广度得到拓展。请看作文片段:

……从被夹住的硬币,我想到了父母的爱。我就是这枚硬币,而夹着硬币的两个无名指就像是我的爸爸妈妈,他们紧紧地把我抱在怀里,给我无限的关爱,唯恐有什么闪失。记得有一天晚上,爸爸妈妈都出门了。这时,突然停电了。风吹在门缝上发出“呼呼”的声音,我怕极了,躲在床上不敢下来。过了一会儿,一个熟悉的身影从黑暗中走来。是妈妈,妈妈说:“听说没电了,就回来看看。”……

感谢这次实验,它让我明白了爸爸妈妈对我的爱。

三、少一点固定模式,多一点创新形式

好作文拒绝套路和固定的模式。但是实验作文又的确太容易落入模式化的窠臼,其课堂模式不外乎“交待任务——实验操作——交流所得——记录过程”这几个环节。笔者以为,要想让学生的作文有新意,实验作文的教学方式就要创新。

首先,可以引导学生改变一下作文的角度。同是“空气魔术师”,(将气球套在矿泉水瓶口,往瓶子里吹气,气球吹不大。)可启发学生以做实验的心情作为开头,也可以从矿泉水瓶中的空气写起;主人公可以是实验者,也可以是瓶中的空气。其次,可以改变一下文体。可以写旨在揭示空气性质的说明文,也可以写由瓶中的空气引发人生思考的记叙文,还可以以空气的口吻写一篇趣味童话。

大个子开始吹了,只见他拍拍胸脯深吸了一口气,鼓起腮帮子用力一吹。我分明看见从他的嘴里冲出许多家伙,跑进气球里。原本瘪下去的气球开始挺直了腰。这时,我突然觉得周围变得拥挤起来了,我的同伴纷纷朝我挤压过来。有的都被挤得变形了。我顿时觉得胸闷、头晕。“这是怎么啦?”我嚷道。“再这样下去,我们就要变成肉饼了!同志们,我们要团结起来,把他们赶出去……”一位空气届的长者这样发号施令……就这样,拉锯战开始了,我们出不去,他们也进不来……

总之,实验作文教学要注重体验、注重联想、注重形式,要多方面地激活孩子们的语言智慧,只有这样,作文才能成为一种令人快乐而有成就感的事情。

上一篇:2022年校园PS大赛策划下一篇:一路有你,阳光灿烂作文