搜档网
当前位置:搜档网 › DSP实验报告完美版

DSP实验报告完美版

DSP实验报告完美版
DSP实验报告完美版

DSP实验报告

班级:

学号:

姓名:

指导教师:

实验一、二 DSP芯片的开发工具及应用实验

1.实验目的

(1)熟悉CCS集成开发环境,掌握工程的生成方法;

(2)熟悉SEED-DTK DAD实验环境;

(3)掌握CCS集成开发环境的调试方法。

2.实验设备

DSP实验箱,计算机,CCS软件。

3.实验内容及步骤

(1) CCS软件的安装;

(2)了解SEED-DTK5416实验环境;

(3)打开CCS集成开发环境,进入CCS的操作环境;

(4)新建一个工程文件

○1在c:\ti\myprojects中建立文件夹volume1(如果CCS安装在其他

d:\ti ,则在d:\ti\myprojects中);

○2将c:\ti\tutorial\target\volume1拷贝到c:\ti\myprojects\ volume1;

○3从在CCS 中的Project 菜单,选择 New;

○4在Project Name域中,键入volume1;

○5在Location区域中,浏览步骤1所建立的工作文件夹;

○6在Project Type 域中,选择Executable(.out);

○7在Target域中,选择CCS配置的目标,并单击完成。

(5)向工程中添加文件

○1从Project/Add Files to Project,选择 volume.c,单击 Open(或右击Project View图标,选择Add Files to Project );

○2选择Project/Add Files to Project,在Files of type对话框中,选择Asm Source Files (*.a*, *.s*)。选择vectors.asm 和 load.asm, 单击Open;

○3选择 Project/Add Files to Project,在Files of type 对话框中选择 Linker Command File (*.cmd),选择volume.cmd,单击Open。(这个文件将片段映射到存储器中);

○4选择Project/Add Files to Project,到编辑器库文件夹(C:\ti\c5400\cgtools\lib),在Files of type对话框中选择Object and Library Files (*.o*, *.lib)。选择rts.lib文件,单击Open。这个库提供目标DSP 运行时间支持(runtime-support);

○5Project View窗口,右击volume1.pjt,选择Scan All Dependencies,

volume.h将出现在Project View窗中的Libraries文件夹;

头文件不要手动添加,自动到:当前目录(源文件所在)或预编译器的“include Search Path (-i)”option所指定的位置。显示头文件:Project—>show Dependencies。

○6单击 volume1.pjt上的+号,展开工程列表。这个列表称为Project View。

(6)查看源程序代码

双击Project View中 volume.c文件,CCS窗口的右半窗中出现C源代码。

(7)编译与运行程序

○1选择Project/Rebuild All或单击(Rebuild All)菜单条按钮,CCS重新进行编辑、汇编、连接工程里的所有文件。这个处理的有关信息在窗口低部一个小框里显示;

○2默认时,.out文件编译到位于当前工程文件夹中的调试(debug),目录中也可以通过CCS工具条选择一个存储目录;

○3选择File/Load Program。选中volume1.out,并按Open。

( c:\ti\myprojects\volume1\Debug\ 文件夹中。)CCS将程序装载到目标DSP上,打开显示程序反汇编指令的Disassembly窗口;

○4选择View/Mixed Source/ASM.,这样可以同时查看C源程序和产生的汇编代码;

○5在混合窗口单击汇编指令(单击有效指令,而不是指令的地址或指令所传递的区域),单击F1,CCS可以寻找此指令的帮助。这是学习指令的很好的方法;

○6选择Debug/Go Main,从主程序开始执行;

○7选择Debug/Run或单击 (Run)按钮;

○8选择Debug/ Halt,退出程序运行。

(8)更改程序的选择、定位语法错误

○1选择Project/Build Options;

○2在Build Options窗口的Compiler上,选择Category列表的Preprocessor,在Define Symbols区域键入FILEIO,按Tab键;

○3单击OK,保存新的选择设置;

○4选择Project/Rebuild All或单击(Rebuild All)按钮。只要工程选择更改,则必须重新编译所有的文件;

○5编译信息显示,程序包含编辑错误。单击Build,你可以看见语法错误信息;

○6双击描述语法错误位置的红色文字(第68行)。注意volume.c源程序已打开,且光标位于下面的行上: processing(input, output); ;

○7语法错误位于光标位置的上一行(丢了个分号),如:puts("begin

processing"); ;

○8注意:Edit窗口标题栏中的文件名附近出现星号(*),指示源程序已经被修改,文件保存后,星号消失;

○9选择File/Save,或按Ctrl+S,将更改保存到volume.c;

10选择Project/Build,或(Incremental Build)单击工具条,CCS重新编○

译已经修改的文件;

11选择File/Load Program,选中volume1.out;

12选择Debug/Go Main,从主函数开始执行。由→执行可以暂停;

13选择Debug/Run或(Run)单击菜单条;

14选择Debug/Halt,退出程序运行。

(9)使用断点(Breakpoints)和观察窗口(Watch Window)程序执行时常常需要检查变量的值。

○1File/Reload Program;

○2双击Project View 窗中的volume.c。可以将窗口变大,看到更多的源代码;

○3将光标放在dataIO( );

○4单击(Toggle Breakpoint)工具条,或按F9。选择空白区指示断点已经设置(红色图标);

○5选择View/Watch Window,在CCS窗口的右下角出现单个区域,同时,这个区域显示观察变量的值;

○6如果不在主程序,选择Debug/Go Main;

○7选择Debug/Run,或按F5;

○8选择Watch1;

○9单击Name栏中表达式图标,键入要观察的变量名dataIO;

10单击观察窗口中的白色区域,保存更改。这个值将立即出现在下面的例○

子中;

11单击 (Step Over)或按F10,跨过对dataIO()的调用;

12完成后,单击(Remove All Breakpoints)。

(10)使用带结构的Watch Window

除了观察简单变量的值,也可以观察一个结构的元素的值。

○1选择Watch1;

○2单击Name栏中的表达式图标,键入要观察表达式名称str;

○3单击观察窗口中的白色空间,保存更改。数值将立即出现在下面的例子中;

○4从Reviewing the Source Code调出 volume.c中全局申明、并初始化的类型为PARMS的结构。volume.h定义了PARMS的结构类型;

○5单击str上的+号,CCS将结构中所有元素和元素值。双击结构中元素的Value,编辑元素的值;

○6在Watch window 中Value栏,更改变量的值。注意:Watch Window中数值的更改,数值也变为红色,表示已经手动修改;

○7选择Watch Window中str变量,按Delete 键。其他变量同理;

○8选择Debug/Breakpoints,在Breakpoints中,单击Delete All,然后单击OK。

(11)添加探针Probe Point(为了文件I/O)

可以添加探针(Probe Point),从PC机中的文件读数据。

按照下面的步骤使用探针:

从主PC中传递输入数据,到算法所使用的目标的缓冲器中;

从目标的缓冲器中传递输出数据,到主PC中;

用数据修改窗口。

下面将学习如何使用Probe Point ,将PC文件中的内容,作为测试数据,传递到目标DSP中。另外,也可以使用断点修改所有打开的窗口。

○1选择File/Load Program,选中volume1.out,单击Open;

○2双击Project View中的volume.c;

○3将光标放到主程序中dataIO();

○4单击(Toggle Probe Point)。选择空白区域指示探针已经设置(兰色图标),如果废止

选择区,此行为兰色显亮;

○5从File菜单,选择File I/O。出现File I/O对话框,因此可以选择输入输出文件;

○6在File Input,单击Add File;

○7浏览volume1工程文件夹,选中sine.dat,单击Open。sine.dat文件是正弦波的十六进制数值,出现sine.dat文件的控制窗口。再后,当运行程序时,可以在数据文件中使用此窗口启动、停止、返回、或快进;

○8在File I/O对话框,更改Address 为inp_buffer,Length为100,在Wrap Around中可以添加选中符号;

○9单击Add Probe Point。出现 Break/Probe Points对话框中的 Probe Points;

10在Probe Point列表中,显亮行为:VOLUME.C line 61 --> No ○

Connection;

11在Connect To区域中,单击下箭头,从列表中选中sine.dat;

12单击 Replace。Probe Point列表改向显示这个Probe Point连接到○

sine.dat文件;

13单击OK。File I/O对话框显示文件现在连接到Probe Point;

14单击OK,关闭File I/O对话框。

(12)显示图形

在这个例子中,可以查看关于时间的信号图形。

○1选择View/Graph/Time/Frequency;

○2在Graph Property Dialog对话框,更改Graph Title,Start Address,Acquisition Buffer Size, Display Data Size,DSP Data Type,Autoscale,和Maximum Y-value属性,下拉或重新拉大对话框,查看所有属性;

○3单击OK。出现Input Buffer的Input图形窗口;

○4右击Input graph窗口,从下拉菜单中选择Clear Display;

○5再次选择View/Graph/Time/Frequency;

○6这次更改Graph Title为Output,Start Address 为out_buffer,所有其他设置都正确;

○7单击OK,显示输出图形Output graph窗口,右击Output graph 窗口,从下拉菜单中选择Clear Display。

(13)激活程序和图形

至此,已经放置断点,传递主 PC中的数据,到目标DSP,可暂停目标DSP,或继续目标DSP 应用程序。但是,Probe Point不修改图形。本节建立断点(breakpoint),修改图形,使用Animate命令,遇到断点后继续自动执行。

○1在volume.c窗口,将光标放在调用dataIO的行上;

○2单击(Toggle Breakpoint),或按F9,选中空白区域放置红色图标,代表断点;

将断点breakpoin和探测点Probe Point放在同一行,这样传递数据和修改图形时目标只须暂停一次。

○3调整窗口,使得两个窗口都可以看见;

○4单击(Animate),或按F12运行程序。Animate=Run—halt —continue;

○5每遇到探测点Probe Point一次,CCS就从sine.dat文件获得100个数值,并将它们写入inp_buffer地址;

○6选择Debug/Halt,退出程序运行。

注意:DSP 在探测点暂停。CCS遇到探测点时,暂停目标。因此,如果使用探测点,不能保证实时性。

这一阶段开发,你可以检测算法,然后可以使用RTDX和DSP/BIOS分析实时特性。

(14)调整增益Gain

处理函数将输入缓冲器中的每个值乘以增益,并将结果放在输出缓冲器。

在while循环中执行下面的语句。

1.*output++ = *input++ * gain;

这个语句将inp_buffer中的数值乘以增益,并结果放在out_buffer中相映的位置。增益初始化设置在MINGAIN上,定义在头文件volume.h中。如

果修改输出,则需要修改增益。办法之一是,使用观察变量:

○1选择View/Watch Window,选中Watch1;

○2单击Name栏中的表达式图标,键入gain,作为观察的变量;

○3单击观察窗口中的白色空间,保存更改。在下面的例子中将立即出现这个数值;

○4如果程序已经暂停,单击(Animate),重新启动程序,观察前面建立的输入输出图形;

○5从Debug菜单,选中Halt;

○6在观察窗口,选中增益值(1),将其改为10;

○7从Debug菜单,选中 Animate 。注意更改 Output graph 中信号幅度,反映在下面的例子中的增益。

4.实验结果及分析

5.实验体会

通过本次实验,我熟悉了CCS集成开发环境,掌握了工程的生成方法,熟悉了SEED-DTK DAD实验环境,掌握了CCS集成开发环境的调试方法,为后续的实验打下了坚实的基础。

实验三常用的指令实验

1.实验目的

(1)了解DSP开发系统的组成和结构;

(2)熟悉DSP开发系统的连接;

(3)熟悉DSP的开发界面;

(4)了解C54x常用的寻址方式;

(5)了解C54x常用的指令的用法。

2.实验设备

计算机,CCS软件,DSP仿真器,实验箱。

3.实验内容及步骤

(1)系统连接

进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方式如下图所示:

(2)上电复位

在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP 开发系统与计算机连接有问题。

(3)运行CCS程序

待计算机启动成功后,实验箱220V电源置“ON”实验箱上电,启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。

(4)修改样例程序,尝试DSP其他的指令;

(5)填写实验报告;

(6)启动CCS并加载“exp01.out”;

(7)关闭所有窗口,本实验完毕。

4.实验结果及分析

可见XF灯以一定频率闪烁;单击“Halt”暂停程序运行,则XF灯停止闪烁,如再单击“Run”,则“XF”灯又开始闪烁。

5.实验体会

通过本次实验,我了解了DSP开发系统的组成和结构,熟悉了DSP开发系统的连接,熟悉了DSP的开发界面,了解了C54x常用的寻址方式,了解了C54x常用的指令用法,理论与实践相结合,更加有助于我们对所学知识的巩固。

实验四数据存储实验

1.实验目的

(1)掌握TMS320C54的程序空间的分配;

(2)掌握TMS320C54的数据空间的分配;

(3)熟悉操作TMS320C54数据空间的指令。

2.实验设备

计算机,CCS软件,DSP仿真器,实验箱。

3.实验内容及步骤

(1)连接好DSP开发系统,运行CCS软件;

(2)在CCS的Memory窗口中查找C5402各个区段的数据存储器地址,在可以改变的数据地址随意改变其中的内容;

(3)在CCS中装载实验示范程序,单步执行程序,观察程序中写入和读出的数据存储地址的变化

程序代码如下:

;File Name:exp01.asm

;the program is compiled at no autoinitialization mode

.mmregs

.global _main

;声明_main可被其他模块引用,程序加载到目标板后,

;会自动跳转到标号为_main的汇编指令

STACK: .usect ".stack",10h

.text

_main:

stm #STACK+10h,sp ;设置堆栈指针

STM #0, CLKMD ; (to divider mode before setting) TstStatu1:

LDM CLKMD, A

AND #01b, A ;poll STATUS bit

BC TstStatu1, ANEQ

STM #0xF7FF, CLKMD ; set C5402 DSP clock to 10MHz

loop:

ssbx xf ;将XF置1,熄灭LED5

call delay ;调用延时子程序,延时

rsbx xf ;将XF置0,点亮LED5

call delay ;调用延时子程序,

b loop ;程序跳转到"loop"

;延时子程序

delay:

stm 270fh,ar3 ; 270fh=9999

loop1:

stm 0f9h,ar4 ; 0f9h=249

loop2:

banz loop2,*ar4-

banz loop1,*ar3-

ret

.end

(4)联系其他寻址方式的使用;

(5)启动CCS并加载“exp02.out”

○1用“View”下拉菜单中的“Memory”查看内存单元;

○2输入要查看的内存单元地址,本实验要查看0x1000-0x100F单元的数值变化,输入地址0x1000;

○3查看0x1000-0x100F单元的初始值,单击“Run”运行程序,也可以“单步”运行程序;

○4单击“Halt”暂停程序运行;

○5查看0x1000-0x100F单元内数值的变化;

○6关闭各窗口,本实验完毕。

4.实验结果及分析

5.实验体会

通过本次实验,我掌握了TMS320C54的程序空间和数据空间的分配,熟悉了操作TMS320C54数据空间的指令。

实验五 I/O接口实验

1.实验目的

(1)了解I/O的扩展;

(2)掌握I/O口的操作方法;

(3)熟悉PORTR,PORTW指令的用途;

(4)了解数字量与模拟量的区别和联系。

2.实验设备

计算机,CCS软件,DSP仿真器,实验箱。

3.实验内容及步骤

(1)DSP-II型实验系统与DSP-I型实验系统相比较而言,数字量输入输出是完全封闭的,不需要任何跳线配置,只要根据自己的需求进行实验就可以了;(2)运行CCS程序,装载示范程序,调整K0-K7的开关,观察LP1-LP7LED亮灭的变化,以及输入和输出状态是否一致;(注意:输出为0时点亮灯)

(3)数字量输入信号全部拓展出来,用户可以进行自己的数字量采集实验。数字量输入接口主要有两个,如书中所述;

(4)启动CCS,并加载“exp03.out”

○1单击“Run”运行程序;

○2任意调整K0-K7开关,可以观察到对应LP0-LP7灯“亮”或“灭”;单击“Halt”,暂停持续运行,开关将对灯失去控制;

○3关闭各窗口,本实验完毕。

4.实验结果及分析

5.实验体会

通过本次实验,我了解了I/O的扩展,掌握了I/O口的操作方法,熟悉了PORTR、PORTW指令的用途,了解了数字量与模拟量的区别和联系,巩固了以前学到的相关知识。

实验六定时器与中断实验1.实验目的

(1)掌握C54的定时器;

(2)掌握C54定时器的控制方法;

(3)学会使用定时器中断方式控制程序流程。

2.实验设备

计算机,CCS软件,DSP硬件仿真器,实验箱。

3.实验内容及步骤

定时器控制设计流程图:

(1)调入样例程序,装载并运行

○1将中断服务主程序补充完整,要求能够实现SEED_DEC2812板卡上指示灯D1和D3交替闪烁。

定时器控制程序:

interrupt void ISRTimer2(void)

{

CPUTimer2.InterruptCount++;

If(Led_Flag==1)

{ LED1_ON;

*LED3=0;

Led_Flag==0;}

Else{ LED1_OFF;

*LED3=1;

Led_Flag=1;

}

}

○2尝试将指示灯D1和D3交替闪烁的时间改为2S

定时器控制程序:

interrupt void ISRTimer2(void);

void main(void)

{ /*初始化系统*/

InitSysCtrl();

DINT;

IER = 0x0000;

IFR = 0x0000;

Led_Flag = 0;

/*初始化PIE*/

InitPieCtrl();

/*初始化PIE中断矢量表*/

InitPieVectTable();

/*初始化外设*/

InitPeripherals();

EALLOW;

PieVectTable.TINT2 = &ISRTimer2;

EDIS;

ConfigCpuTimer(&CpuTimer2,30,);

StartCpuTimer2();

/*开中断*/

IER |= M_INT14;

EINT;

ERTM;

for(;;);

}

interrupt void ISRTimer2(void)

{

CpuTimer2.InterruptCount++;

if(Led_Flag==1)

{ LED1_ON;

*LED3=0;

Led_Flag=0;

}

else

{LED1_OFF;

*LED3=1;

Led_Flag=1;

} //添加程序,完成LED1,LED3交替闪烁

}

(2)定时器实验通过LP0-LP7LED来显示;

(3)启动CCS,并加载“exp04.out”

○1单击“Run”运行程序,可观察LED灯(LP0-LP7)以一定的间隔时间不停摆动;

○2单击“Halt”,暂停程序运行,LED灯停止闪烁;单击“Run”,运行程序,LED灯又开始闪烁;

○3关闭所有窗口,本实验完毕。

4.实验结果及分析

5.实验体会

通过本次实验,我熟悉了C54x的定时器,掌握了C54x定时器的控制方法,学会了如何使用定时器中断方式控制程序流程。

实验七 A/D转换实验

1.实验目的

(1)熟悉A/D转换的基本原理;

(2)掌握TLV320AD50的技术指标和常用方法;

(3)熟悉DSP的多通道缓存串口的应用方法;

(4)掌握并熟练使用DSP和AD50的接口及其操作。

2.实验设备

计算机,CCS软件,DSP实验箱,短路块及导线。

3.实验内容及步骤

(1)用短接块短接JAD1的INM和INMF,以及JAD2的INM和INMF,JD跳线断开,设置输入信号为交流,用短接块短接SS1的1,2脚,设置输出低频信号,短接S2的Sin脚,设置输出正弦波信号,则模拟信号产生单元out1输出为低频正弦波,用导线连接模拟信号产生单元的out1脚和JAD3的1脚;

(2)运行CCS软件,加载示范程序;

(3)按下F12运行程序,查看数据存储器中的内容变化;

(4)调节输入信号的频率或幅值,做同样的采样实验;

(5)观察采样结果;

(6)填写实验报告;

(7)启动CCS,并打开“exp06.out”文件

○1双击“exp06.pjt”及“Source”,可查看各源代码;加载“exp06.out”文件;

○2在“exp06.c”中“READAD50()”处,设置断点;

○3单击“Run”运行程序,程序运行到断点处停止;

○4用下拉菜单中的View/Graph的“Time/Frequency”打开一个图形观察窗口;

○5设置该图形观察窗口的参数,观察起始地址为0x1000H,长度为256的存储单元内的数据,该数据为输入信号经A/D转换之后的数据,数据类型为16位整型;

○6单击“Animate”运行程序,在图形观察窗口观察A/D转换后的数据波形变化;

○7单击“Halt”暂停程序运行;

○8用“View”的下拉菜单中“Memory”打开存储器数据观察窗口;

○9设置该存储器数据观察窗口的参数,选择地址为0x1000,数据格式C格式16进制数;

○10单击“Animate”运行程序,调整存储器数据观察窗口,并在该窗口中观察数据变化,A/D转换后的数据存储在地址为0x1000-0x10FF单元内,变化数据将变为红色;

○11单击“Halt”停止程序运行;

○12关闭“exp06.pjt”工程文件,关闭各窗口,本实验完毕。

4.实验结果及分析

5.实验体会

通过本次实验,我熟悉了A/D转换的基本原理,掌握了TLV320AD50的技术指标和常用方法,熟悉了DSP的多通道缓冲串口的应用方法,掌握并可以熟练使用DSP和AD50的接口及其操作。

DSP实验报告

实验0 实验设备安装才CCS调试环境 实验目的: 按照实验讲义操作步骤,打开CCS软件,熟悉软件工作环境,了解整个工作环境内容,有助于提高以后实验的操作性和正确性。 实验步骤: 以演示实验一为例: 1.使用配送的并口电缆线连接好计算机并口与实验箱并口,打开实验箱电源; 2.启动CCS,点击主菜单“Project->Open”在目录“C5000QuickStart\sinewave\”下打开工程文件sinewave.pjt,然后点击主菜单“Project->Build”编译,然后点击主菜单“File->Load Program”装载debug目录下的程序sinewave.out; 3.打开源文件exer3.asm,在注释行“set breakpoint in CCS !!!”语句的NOP处单击右键弹出菜单,选择“Toggle breakpoint”加入红色的断点,如下图所示; 4.点击主菜单“View->Graph->Time/Frequency…”,屏幕会出现图形窗口设置对话框 5.双击Start Address,将其改为y0;双击Acquisition Buffer Size,将其改为1; DSP Data Type设置成16-bit signed integer,如下图所示; 6.点击主菜单“Windows->Tile Horizontally”,排列好窗口,便于观察 7.点击主菜单“Debug->Animate”或按F12键动画运行程序,即可观察到实验结果: 心得体会: 通过对演示实验的练习,让自己更进一步对CCS软件的运行环境、编译过程、装载过程、属性设置、动画演示、实验结果的观察有一个醒目的了解和熟悉的操作方法。熟悉了DSP实验箱基本模块。让我对DSP课程产生了浓厚的学习兴趣,课程学习和实验操作结合为一体的学习体系,使我更好的领悟到DSP课程的实用性和趣味性。

北邮dsp软件实验报告

Matlab仿真实验 实验报告 学院:电子工程学院 专业:电子信息科学与技术 班级: 学号: 姓名:

时间:2015年12月23日 实验一:数字信号的FFT分析 1.实验目的 通过本次试验,应该掌握: (a)用傅里叶变换进行信号分析时基本参数的选择 (b)经过离散时间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别,前者DTFT时间域是离散信号,频率域还是连续的,而DFT在两个域中都是离散的。(c)离散傅里叶变化的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。 (d)获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。(e)建立DFT从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用时数字音频压缩中的分析滤波器,例如DVD AC3和MPEG Audio。 2.实验容、要求及结果。 (1)离散信号的频谱分析: 设信号x(n)=0.001*cos(0.45n)+sin(0.3n)-cos(0.302n-) 此信号的0.3谱线相距很近,谱线0.45的幅度很小,请选择合适的序列长度N和窗函数,用DFT分析其频谱,要求得到清楚的三根谱线。 【实验代码】:

k=2000; n=[1:1:k]; x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4); subplot(2,1,1); stem(n,x,'.'); title(‘时域序列'); xlabel('n'); ylabel('x(n)'); xk=fft(x,k); w=2*pi/k*[0:1:k-1]; subplot(2,1,2); stem(w/pi,abs(xk)); axis([0 0.5 0 2]); title('1000点DFT'); xlabel('数字频率'); ylabel('|xk(k)|'); 【实验结果图】:

DSP实验报告-深圳大学-自动化

深圳大学实验报告课程名称:DSP系统设计 实验项目名称:DSP系统设计实验 学院:机电与控制工程学院 专业:自动化 指导教师:杜建铭 报告人1:. 学号:。班级:3 报告人2:. 学号:。班级:3 报告人3:. 学号:。班级:3 实验时间: 实验报告提交时间: 教务处制

实验一、CCS入门试验 一、实验目的 1. 熟悉CCS集成开发环境,掌握工程的生成方法; 2. 熟悉SEED-DEC2812实验环境; 3. 掌握CCS集成开发环境的调试方法。 二、实验仪器 1.TMS320系列SEED-DTK教学试验箱24套 2. 台式PC机24台 三、实验内容 1.仿真器驱动的安装和配置 2. DSP 源文件的建立; 3. DSP程序工程文件的建立; 4. 学习使用CCS集成开发工具的调试工具。 四、实验准备: 1.将DSP仿真器与计算机连接好; 2.将DSP仿真器的JTAG插头与SEED-DEC2812单元的J1相连接; 3.启动计算机,当计算机启动后,打开SEED-DTK2812的电 源。SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯及SEED-DEC2812的电源指示灯D2是否均亮;若有不亮,请断开电源,检查电源。 五、实验步骤 (一)创建源文件 1.进入CCS环境。

2.打开CCS选择File →New →Source File命令 3.编写源代码并保存 4.保存源程序名为math.c,选择File →Save 5.创建其他源程序(如.cmd)可重复上述步骤。 (二)创建工程文件 1.打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定弹 出对话框: 2.在Project中填入工程名,Location中输入工程路径;其余按照默认选项,点击完成 即可完成工程创建; 3.点击Project选择add files to project,添加工程所需文件;

dsp实验报告

DSP 实验课大作业实验报告 题目:在DSP 上实现线性调频信号的脉冲压缩,动目标显示和动目标检测 (一)实验目的: (1)了解线性调频信号的脉冲压缩、动目标显示和动目标检测的原理,及其DSP 实现的整个流程; (2)掌握C 语言与汇编语言混合编程的基本方法。 (3)使用MATLAB 进行性能仿真,并将DSP 的处理结果与MATLAB 的仿真结果进行比较。 (二)实验内容: 1. MATLAB 仿真 设定信号带宽为B= 62*10,脉宽-6=42.0*10τ,采样频率为62*10Fs =,脉冲重复周期为-4T=2.4*10,用MATLAB 产生16个脉冲的线性调频信号,每个脉冲包含三个目标,速度和距离如下表: 对回波信号进行脉冲压缩,MTI ,MTD 。并且将回波数据和频域脉压系数保存供DSP 使用。 2.DSP 实现 在Visual Dsp 中,经MATLAB 保存的回波数据和脉压系数进行脉压,MTI 和MTD 。 (三)实验原理 1.脉冲压缩原理 在雷达系统中,人们一直希望提高雷达的距离分辨力,而距离分辨力定义为:22c c R B τ?==。其中,τ表示脉冲时宽,B 表示脉冲带宽。从上式中我们可以看

出高的雷达分辨率要求时宽τ小,而要求带宽B大。但是时宽τ越小雷达的平均发射功率就会很小,这样就大大降低了雷达的作用距离。因此雷达作用距离和雷达分辨力这两个重要的指标变得矛盾起来。然而通过脉冲压缩技术就可以解决这个矛盾。脉冲压缩技术能够保持雷达拥有较高平均发射功率的同时获得良好的距离分辨力。 在本实验中,雷达发射波形采用线性调频脉冲信号(LFM),其中频率与时延成正比关系,因此我们就可以将信号通过一个滤波器,该滤波器满足频率与时延成反比关系。那么输入信号的低频分量就会得到一个较大的时延,而输入信号的高频分量就会得到一个较小的时延,中频分量就会按比例获得相应的时延,信号就被压缩成脉冲宽度为1/B的窄脉冲。 从以上原理我们可以看出,通过使用一个与输入信号时延频率特性规律相反的滤波器我们可以实现脉冲压缩,即该滤波器的相频特性与发射信号时共轭匹配的。所以说脉冲压缩滤波器就是一个匹配滤波器。从而我们可以在时域和频域两个方向进行脉冲压缩。 滤波器的输出() h n= y n为输入信号() x n与匹配滤波器的系统函数() *(1) y n x n s N n =--。转换到频域就是--卷积的结果:* ()()*(1) s N n =。因此我们可以将输入信号和系统函数分别转化到频域:Y k X k H k ()()( Y k,然后将结果再转化到时域, h n H k →,进行频域相乘得() ()() x t X k →,()() 就可以得到滤波器输出:()() →。我们可用FFT和IFFT来实现作用域的 Y k y n 转换。原理图如下: 图1.脉冲压缩原理框图 2.MTI原理 动目标显示(MTI)技术是用来抑制各种杂波,来实现检测或者显示运动目标的技术。利用它可以抑制固定目标的信号,显示运动目标的信号。以线性调频

DSP运行实验报告

DSP运行实验报告 一、实验目的 熟悉CCS软件仿真下,DSP程序的下载和运行;熟悉借助单片机的DSP程序下载和运行; 熟悉借助仿真器的DSP程序下载和运行;熟悉与DSP程序下载运行相关的CCS编程环境。 二、实验原理 CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运行。 如果要让程序在实验板的DSP中运行、调试和仿真,可以用仿真器进行DSP程序下载和运行。初学者也可以不用仿真器来使用这款实验板,只是不能进行程序调试和仿真。 在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP 的片外存储器(相对于FLASH),用于固化程序。 三、实验设备、仪器及材料 安装有WINDOWS XP操作系统和CCS3.3的计算机。 四、实验步骤(按照实际操作过程) 1、CCS软件仿真下,DSP程序的下载和运行。 第一步:安装CCS,如果不使用仿真器,CCS 的运行环境要设置成一个模拟仿真器(软仿真)。

第二步:运行CCS,进入CCS 开发环境。 第三步:打开一个工程。 将实验目录下的EXP01目录拷到D:\shiyan下(目录路径不能有中文),用[Project]\[Open]菜单打开工程,在“Project Open”对话框中选 EXP01\CPUtimer\CpuTimer.pjt,选“打开”, 第四步:编译工程。 在[Project]菜单中选“Rebuild All”,生成CpuTimer.out文件。 第五步:装载程序。 用[File]\[Load Program]菜单装载第四步生成CpuTimer.out文件,在当前工程目录中的Debug 文件夹中找到CpuTimer.out文件,选中,鼠标左键单击“打开”。

DSP实验报告二CCS的使用

实验二 CCS使用操作:报告: 1.实验目的 (1) 熟悉CCS集成开发环境,掌握工程的生成方法。 (2) 掌握CCS集成开发环境的调试方法。 2.实验容及步骤 (1)查阅CCS发展历史,给出CCS发展的版本和适用的芯片。 Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工具。它包含适用于每个TI 器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。CCS IDE 提供了单个用户界面,可帮助您完成应用开发流程的每个步骤。借助于精密的高效工具,用户能够利用熟悉的工具和界面快速上手并将功能添加至他们的应用。 版本 4 之前的 CCS 均基于 Eclipse 开放源码软件框架。Eclipse 软件框架可用于多种不同的应用,但是它最初被开发为开放框架以用于创建开发工具。我们之所以选择让 CCS 基于Eclipse ,是因为它为构建软件开发环境提供了出色的软件框架,并且正成为众多嵌入式软件供应商采用的标准框架。CCS 将 Eclipse 软件框架的优点和仪器 (TI) 先进的嵌入式调试功能相结合,为嵌入式开发人员提供了一个引人注目、功能丰富的开发环境。 CCS 有 2 个版本:白金版和微处理器版。各版本支持的处理器不同。支持的核白金版:TMS320C6000、TMS320C5000、TMS320C2800、TMS470、TMS570、ARM 7、ARM9、ARM 11、ARM Cortex M3(不包含 Stellaris Cortex M3)、ARM Cortex R4、ARM Cortex A8 和 MSP430 处理器版:TMS320C2800 和MSP430 CCS 白金版和微处理器版都使用以下各项:主机:PC 操作系统:Microsoft Windows Vista 和 XP (2) 使用CCS时,经常遇到下述扩展名文件,说明分别是什么文件。 ①project. mak :即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程, VC6把MAK文件转换成DSP文件来处理。 ②program. c :定义的变量、数组、函数的声明 ③program. asm :Oracle管理文件(OMF) ④filename. h :H C程序头文件 ⑤filename. lib :LIB 库文件 ⑥project. cmd :CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件 ⑦program. obj :OBJ 对象文件 ⑧program. Out: C语言输出文件 ⑨project. Wks :WKS Lotus 1-2-3电子表格;Microsoft Works文档 保存配置文件时产生的文件: ①programcfg.cmd 连接器命令文件 ②programcfg.h54 头文件 ③programcfg.s54 汇编源文件 DSP源文件的建立;

DSP实验报告

实验一 离散系统的时域分析 一、实验目的 1、掌握离散时间信号的MATLAB 表示; 2、信号运算; 3、差分方程的求解; 4、离散时间信号的卷积运算。 二、实验原理 1、离散时间信号 离散时间信号只在某些离散的瞬时给出函数值,而在其他时刻无定义。它是时间上不连续按一定先后次序排列的一组数的集合,称为时间序列,用x(n)表示,n 取整数代表时间的离散时刻。 在matlab 中用向量来表示一个有限长度的序列。 2、序列的类型 为了分析的方便,在数字信号处理中规定了一些基本的序列。 a) 单位采样序列 function [x,n]=impseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)==0]; 调用该函数 [x,n]=impseq(-2,8,2); stem(n,x) 0010()001()0n n n n n n n n n δδ =?=? ≠? =?-? ≠?

单位采样序列的另一种生成方法 n0=-2; n=[-10:10]; nc=length(n); x=zeros(1,nc); for i=1:nc if n(i)==n0 x(i)=1 end end stem(n,x) b) 单位阶跃序列 function [x,n]=stepseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)>=0]; 调用该函数 [x,n]=stepseq(-2,8,2); stem(n,x) 000 10()001()0n n n n n n n n n εε >=?=? =?-?

c) 实数指数序列 x(n)=an (运算符“.^”) n=[0:10]; x=0.9.^n; stem(n,x) d) 复数指数序列 n=[-10:10]; alpha=-0.1+0.3*j; x=exp(alpha*n); real_x=real(x); image_x=imag(x); mag_x=abs(x); phase_x=angle(x); subplot(2,2,1); stem(n,real_x) subplot(2,2,2); stem(n,image_x) subplot(2,2,3); stem(n,mag_x) subplot(2,2,4); stem(n,phase_x) ()()j n x n e αω+=(0.1j0.3)n x(n)e (10n 10) -+= -<<

DSP实验报告重叠保留法和重叠相加法(精)

北京邮电大学 实 学班姓学 日 验报告 MATLAB 实现线性卷积运算院:信息与通信工程学院级:名: ______ 号: 期: 实验名称:用 索引

一、实验原 理 ..................................................................................................................... 3 1、算法产生背景 (3) 2、算法基本思 想 ...........................................................................................................................3 1)重叠相加法 (3) 2)重叠保留 法 ...........................................................................................................................4 二、流程图设计 . ................................................................................................................. 5 1、重叠相加 法 . .............................................................................................................................. 5 2、重叠保留 法 . (6) 三、MATLAB 源代 码 . ........................................................................................................... 7 1、重叠相加源码 ...........................................................................................................................7 2、重叠保留源 码 ...........................................................................................................................8 四、实验结果与分析 ........................................................................................................... 9 ①调用CONV (计 算 . ......................................................................................................................... 9 ②测试重叠相加算法 (9) ③测试重叠保留算 法 .....................................................................................................................9 五、讨论与总结 . ............................................................................................................... 10 1、算法效率分 析: .....................................................................................................................10 A. 重叠相加法 . (10)

DSP实验报告+心得体会

龙岩学院 实验报告 班级07电本(1)班学号2007050344 姓名杨宝辉同组人独立 实验日期2010-5-18 室温大气压成绩 基础实验 一、实验目的 1. 掌握CCS实验环境的使用; 2. 掌握用C语言编写DSP程序的方法。 二、实验设备 1. 一台装有CCS软件的计算机; 2. DSP实验箱的TMS320F2812主控板; 3. 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 第五次实验 1.实验目的: (1)进一步熟悉matlab 实验环境和语言。 (2)掌握求序列圆周翻褶的MATLAB 方法。 (3)掌握求序列DFT 及IDFT 矩阵的MATLAB 方法。 (4)掌握用MATLAB 求解用圆周卷积计算线性卷积的时域的方法。 (5)掌握用FFT 计算有限长序列的线性卷积和线性相关的方法。 2.实验内容及总结: 1.圆周翻褶 【例3.27】 已知()[2,3,4,5,6],8X n N ==,求x(n)的8点圆周翻褶序列88(())()x n R n -。 代码: clc;clear all x=[2,3,4,5,6];N=8; x=[x,zeros(1,N-length(x))];nx=0:N-1 y=x(mod(-nx,N)+1); subplot(121),stem([0:N-1],x);title('原序列'); xlabel('n');ylabel('x(n)');grid; subplot(122),stem([0:N-1],y);title('圆周翻褶序列'); xlabel('n');ylabel('x((n))8 R8(n)');grid; 结果:

总结: 对于圆周翻褶 (0),0 ()(())() (),11 N N x n y n x n R n x N n n N = =-=? -≤≤-MA TLAB可用 y=x(mode(-nx,N)+1)求得。因此,要求X(n)=[2,3,4,5,6],N=8的8点圆周翻褶序列,要先将x(n)补零到8点长度再求圆周翻褶。 x=[x,zeros(1,N-length(x))];nx=0:N-1 %x补零到8点长 y=x(mod(-nx,N)+1); %圆周翻褶从一开始,因此得到8点长 %序列,应该再加一 2.DFT矩阵,IDFT矩阵 【例3.29】已知N=4的DFT矩阵w4,求IDFT矩阵w4I。 代码:

DSP实验报告3

DSP 实验报告3 姓名 学号 时间 2015.6.9 地点 实验大楼A631 实验题目 卷积运算 一、 实验目的 1、学习如何用DSP 的C 语言程序实现卷积与相关的计算; 2、学习用CCS 调试程序的详细过程; 3、学习如何设置断点。 二、 实验内容及步骤 1、创建一个新项目工程 将“maxminmath 文件夹”复制到“D:\CCStudio_v3.3\MyProjects ”下。 2、打开工程调试程序,并说明程序的功能; 3、编程实现以下功能: 已知()()n R n x 4=,()()n R n h 4=,求()()()n h n x n y *= a 、采用子程序调用的方式实现,并且注释程序; b 、把x ,h 和y 添加到Watch 窗口中作为观察对象; c 、观察三个数组从初始化到卷积运算结束整个过程中的变化(可单击变量名前的“+”号把数组展开),并将变化过程记录下来。 三、 实验程序 给出卷积运算的子程序: void main() { int x[7]={0,0,0,1,1,1,1},h[7]={1,1,1,1,0,0,0},y[7]={0}; int i,j; for(i=0;i<7;i++) for(j=0;j<7;j++) {if(i+j<7) y[i]=y[i]+x[i+j]*h[j]; y[i]=y[i]%2;} } 评 阅

四、实验结果 y值的变化情况如下: 五、实验思考题 1、试用汇编语言编写实现卷积运算的程序; .global start ;定义全局变量 .mmregs .data; 开始数据段 .bss m,1; 开设全局变量,每个变量占用一个字 .bss n,1 .bss z,1 .text; 开始文本段 start: ST #1000h,AR1 ST #3000h,AR2 ST #5000h,AR3 ST #0,@m RPT 999 RPT m+ LOOP: MVPD 6000h MVDD *AR1+,*AR4 MVDD *AR2+,*AR5 MACP *AR4,*AR5,src B LOOP ST A,*AR3+ xh: b xh;空循环 .end

DSP实验报告(DOC)

哈尔滨工程大学信息与通信工程学院 实验名称:DSP原理与应用实验 班级:20100813 学号:2010081317 学生姓名:满达

实验一自相关函数实验 一.实验目的:熟悉C语言编程和VDSP编译环境。学会用C语言编程实现自相关函数对正弦信号的应用。 二.实验要求:用VDSP集成环境产生一个正弦信号,然后用自相关函数对其进行处理,观察自相关函数运算后的波形。 自相关函数: 自相关函数是信号在时域中特性的平均度量,它用来描述信号在一个时刻的取值与另一时刻取值的依赖关系,其定义式为 对于周期信号,积分平均时间T为信号周期。对于有限时间内的信号,例如单个脉冲,当T趋于无穷大时,该平均值将趋于零,这时自相关函数可用下式计算 自相关函数就是信号x(t)和它的时移信号x(t+τ)乘积的平均值,它是时移变量τ的函数。 例如信号的自相关函数为 由此可见,正弦(余弦)信号的自相关函数同样是一个余弦函数。它保留了原信号的频率成分,其频率不变,幅值等于原幅值平方的一

半,即等于该频率分量的平均功率,但丢失了相角的信息。 三.实验结果: 正弦信号经过自相关后的波形 四.实验结论: 自相关函数应用在检测信号回声(反射)。若在宽带信号中存在 着带时间延迟的回声,那么该信号的自相关函数将在 处也达到峰值(另一峰值在 处),这样可根据确定反射体的位置,同时自相关系数在处的值将给出反射信号相对强度的度量。 实验二 包络检波实验 一.实验目的:熟悉C 语言编程和VDSP 编译环境。学会用C 语言编程实现对信号进行包络提取。 二.实验要求: 一个低频信号a(t)调制在一个高频信号t 0cos ω上,如图所示,这个信号表示为t t a t y 0cos )()(ω?= 低频信号和高频载波是相乘关系,将低频信号a(t)提取出来的过程就是求解包络. 1) 将y(t)平方处理, t t a t a t t a t 02202222cos )()(cos )()(y ωω?+=?=

DSP实验报告

DSP实验报告

软件实验 1无限冲激响应滤波器(IIR) 算法 一.实验目的 1 .掌握设计IIR 数字滤波器的原理和方法。 2 .熟悉IIR 数字滤波器特性。 3 .了解IIR 数字滤波器的设计方法。 二.实验设备 PC 兼容机一台,操作系统为Windows2000( 或Windows98 ,WindowsXP ,以下默认为Windows2000) ,安装Code Composer Studio 2.21 软件。 三.实验原理 1 .无限冲激响应数字滤波器的基础理论。 2 .模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。 3 .数字滤波器系数的确定方法。 4 .根据要求设计低通IIR 滤波器: 要求:低通巴特沃斯滤波器在其通带边缘1kHz 处的增益为-3dB ,12kHz 处的阻带衰减为30dB ,采样频率25kHz 。设计: - 确定待求通带边缘频率fp1Hz 、待求阻带边缘频率fs1Hz 和待求阻带衰减-20log δsdB 。 模拟边缘频率为:fp1=1000Hz ,fs1=12000Hz 阻带边缘衰减为:-20log δs=30dB - 用Ω= 2πf/fs 把由Hz 表示的待求边缘频率转换成弧度表示的数字频率,得到Ωp1 和Ωs1 。 Ωp1=2 πfp1/fs=2 π1000/25000=0.08 π弧度 Ωs1=2 πfs1/fs=2 π12000/25000=0.96 π弧度 - 计算预扭曲模拟频率以避免双线性变换带来的失真。 由w=2fs tan( Ω/2) 求得wp1 和ws1 ,单位为弧度/ 秒。 wp1=2fs tan( Ωp1/2)=6316.5 弧度/ 秒 ws1=2fs tan( Ωs1/2)=794727.2 弧度/ 秒 - 由已给定的阻带衰减-20log δs 确定阻带边缘增益δs 。 因为-20log δs=30 ,所以log δs=-30/20 ,δs=0.03162

DSP控制器原理及技术实验报告

实验二定时器 一.实验目的 1. 熟悉如何编写 28335 的中断服务程序; 2. 掌握长时间间隔的定时器的处理。 3. 掌握片外设的设置方法。 二.实验容 1. 系统初始化; 2. DSP 的初始设置; 3. 定时中断的编写; 三.实验要求 1. 通过本实验,熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用; 2. 分析给定程序代码功能,并在实验报告中给出程序流程图和必要的注释; 3. 改变定时时间,下载运行,观察结果,在报告中计算出运行时间。 四.实验背景知识 TMS320F28335 片上有 3 个 32-位 CPU 定时器,分别被称为 CPU 定时器 0、1 和2。每个定时器中均有一个 32-位减计数器,当计数器减到 0 时,产生一个中断。其中,CPU 定时器 0 的中断 TINT0 为 PIE 中断,CPU 定时器 1 的中断 TINT1 直接连到 CPU中断的 INT13,CPU 定时器 2 的中断 TINT2 直接连到 CPU 中断的 INT14。如下图所示。 CPU 定时器 2 保留为实时操作系统(如 DSP BIOS)使用,而 CPU 定时器 0、 1 则可被用户使用,SEED-DEC28335 未使用 CPU 定时器 0,用户可以根据应用的需要灵活使

用。 CPU 定时器的原理框图和定时中断如下图所示。 定时器在工作过程中,首先用 32 位计数寄存器(TIMH:TIM)装载周期寄存器(PRDH:PRD)部的值。计数寄存器根据 SYSCLKOUT 时钟递减计数。当计数寄存器等于 0 时,定时器中断输出产生一个中断脉冲。 定时器计数器(TIMH: TIM): TIM 寄存器保存当前 32 位定时器计数值的低 16 位,TIMH 寄存器保存高 16 位。每隔(TDDRH:TDDR+1)个时钟周期 TIMH:TIM 减 1,当 TIMH:TIM 递减到 0 时,TIMH:TIM 寄存器重新装载 PRDH:PRD 寄存器保存的周期值,并产生定时器中断TINT信号。 定时器周期寄存器(PRDH:PRD):PRD 寄存器保存 32 位周期值的低 16 位,PRDH 保存高 16 位。当 TIMH: TIM 递减到零时,在下次定时周期开始之前 TIMH: TIM 寄存器重新装载 PRDH:PRD 寄存器保存的周期值;当用户将定时器控制寄存器(TCR)的定时器重新装载位(TRB)置位时, TIMH: TIM 也会重新装载 PRDH: PRD 寄存器保存的周期值。 五.实验准备 1 实验硬件准备 1. 将 DSP 仿真器与计算机连接好; 2. 将 DSP 仿真器的 JTAG 插头与 SEED-DEC28335 单元的 J18 相连接; 3. 启动计算机,当计算机启动后,打开SEED-DTK28335的电源。观察 SEED-DTK_MBoard 单元的+5V,+3.3V,+15V,-15V 的电源指示灯灯及 SEED-DEC28335 的电源指示灯 D2 是否均亮;若有不亮,断开电源,检查电源。 2 实验软件准备

DSP实验报告

姓名:班级:自动化15 学号:2015 实验一数据存储实验 一实验目的 1.掌握TMS320F2812程序空间的分配; 2.掌握TMS320F2812数据空间的分配; 3.能够熟练运用TMS320F2812数据空间的指令。 二实验步骤与内容 实验步骤 1.在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法 如下所示: 2.F2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON; 其余OFF 3.E300底板的开关SW4的第2位置ON,其余位置OFF。其余开关设置为 OFF。 4.上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的指示灯应点亮,否则DSP开发系统与计算机连接存在问题。 5.运行CCS程序 1)待计算机启动成功后,实验箱220V电源置“ON”,实验箱上电

2)启动CCS5.5,工作环境的路径选择:E:\E300Program\E300 TechV-2812\normal ; 6.成功运行CCS5.5程序后,出现如下图所示界面: 7.右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择 “Open Project”命令打开该工程,如下图所示,可以双击才看左侧源文件; 8.点击菜单栏Project/Build All命令编译整个工程,编译完成后点击 按钮进入仿真模式,完全进入后如下图所示:

9.用“View”下拉菜单中的“Memory/Browser”查看内存单元,参数设置 如下图:注意:下面的参数设置都是以16进制。 此时可以观测到以0x003F9020为起始地址的存储单元内的数据; 10.单击按钮,开始运行程序,一段时间后,单击按钮,停止程序运 行,0x003F9020H~ 0x3F902FH单元的数据的变化,如下图所示: 11.关闭Memory Browser窗口,点击按钮,退出仿真模式。右键点击 Project Explorer窗口下的工程文件“e300_01_mem”,选择Close Project命令关闭该工程,然后关闭CCS软件,本实验完毕。 内容

dsp实验报告

DSP实验报告 姓名 学院自动化学院 专业测控专业 班级 学号 指导教师林雪燕 2018年 6月

实验一CCS 使用实验 一、实验目的 1. 熟悉CCS集成开发环境,掌握工程的生成方法; 2. 熟悉SEED-DEC6713实验环境; 3. 掌握CCS集成开发环境的调试方法; 二、实验内容 (一)幅值可变的正弦波曲线 设计一个程序,输出的正弦波幅值是输入正弦波幅值的多倍。输入输出界面要有必要的文字说明。 (二)自编Hello World程序 能够输出HelloWorld。恰逢教学检查组来我校,可以改输出为欢迎词。 三、实验要求 1. DSP 源文件的建立; 2. DSP 程序工程文件的建立; 3. 编译与链接的设置,生成可执行的DSP 文件; 4. 学习使用CCS 集成开发工具的调试工具; 四、实验步骤 (一)创建源文件 1.打开CCS 选择File →New→Source File 命令 2.编写源代码并保存 3.保存源程序(如名为sine.c),选择File →Save 4.创建其他源程序(如.cmd)可重复上述步骤。 (二)创建工程文件 1. 打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定。 2. 在Project 中填入工程名,Location 中输入工程路径,点击完成。 3. 点击Project 选择add files to project,添加工程所需文件。 4. 在弹出的对话框中的下拉菜单中分别选择.c点击打开,添加源程序sine.c 5. 同样的方法可以添加文件sine.cmd、rts.lib 到工程中 (三)工程编译与调试 1.点击Project →B uild all,对工程进行编译,如正确则生成out 文件;若是修改程序,可以使用Project →Build命令,进行编译连接,它只对修改部分做编译连接工作。可节省编译与连接的时间。编译通过,生成.out 文件。 2.点击File →load program,在弹出的对话框中载入debug文件夹下 的.out 可执行文件。 3.点击debug →Go Main 回到 C 程序的入口 4.使用F5 快捷键,运行程序,在Stdout 观察窗中查看程序运行结果,并记录。 五、实验结果

DSP实验报告

DSP课程设计实验报告 学院 班级 姓名 学号 指导教师 2010年 6月

课程设计第一部分:学习程序实例 [实验4.1] 卷积运算 一、 实验目的 1. 掌握卷积运算的基本原理; 2. 掌握用C 语言编写DSP 程序的方法。 二、 实验设备 1. 一台装有CCS 软件的计算机; 2. DSP 实验箱的TMS320C5410主控板; 3. DSP 硬件仿真器。 三、 实验原理 卷积是数字信号处理中经常用到的运算。其基本的表达式为: ()()()∑=-= n m m n x m h n y 0 写实现程序时需要注意两点:(1)序列数组长度的分配,尤其是输出数组y (n) 要有足够的长度;(2)循环体中变量的位置,即n 和m 的关系。 四、 实验结果 打开工程Ex5_1.pjt 修改程序: 将输入序列x 的长度改为N1=15,h 的长度改为N2=20,将输入序列x 的函数改为x[i]=i+1,Run 之后出现问题,发现可能是由于x 长度15,h 长度20,卷积运算之后y 的长度为34,超出了之前程序定义好的三个都是20,存储长度没有改导致出错,于是将原来的float y[20]改为float y[100];改之后发现程序运行无误。 绘制波形图的方式: 波形图如下:H 图:

X图: Y图: 该CCS程序用C语言编写,实现得功能较为简单,在源程序的基础上可以很快地实现数据的修改从而得到新的结果,通过运行该程序,对于CCS的操作和使用方法有了初步的认识,同时也熟悉了利用C语言开发DSP程序的过程和 所需要的条件。

§4.2 [实验4.2] 相关运算 一、实验目的 1.掌握相关系数的估计方法; 2.掌握用C语言编写DSP程序的方法。 二、实验设备 1. 一台装有CCS软件的计算机; 2. DSP实验箱的TMS320C5410主控板; 3. DSP硬件仿真器。 三、实验结果 打开工程Ex5_2.pjt修改程序: 修改了m和n的长度: m=15; //10 n=45; //40 修改了for循环: for(i=0;i

DSP实验报告

实验一 CCS软件的基本使用——数据块传送程序编写及软件仿真 一:实验目的 1,掌握CCS软件的基本使用方法; 2,了解汇编语言在CCS中的使用方法,注意事项; 3,掌握数据块传送程序编写及软件仿真; 二:操作步骤的要点 1,新建项目/新建文件/添加文件到项目/编辑文件; 2,点“rebuild all”工具进行编译、汇编和链接; 3,装载上一步生成的out文件; 4,运行后点“view/memory”观察运行结果。 三:实验程序——数据传送程序 1,汇编主程序文件 .title "shiyan1b.asm" ;定义标题为“shiyan1b” .mmregs ;定义了全局变量(存储器)STACK .usect "STACK",10H ;堆栈分段名“STACK”,为其分配了16个空间 .bss x,5 ;bss 段,x引导 .data table: .word 1,2,3,4,5 ; .def _c_int00

.text _c_int00: STM #x,AR1 RPT #4 MOVP table,*AR1+ end B end .end 2,中断向量表文件 .title "vectors.asm" .ref _c_int00 .sect ".vectors" B _c_int00 .end 3,链接命令文件 /*shiyan1b.cmd */ vectors.obj /*中断向量的目标文件*/ shiyan1.obj /*产生目标文件*/ -o shiyan1.out /*产生可执行下载文件,文件名可以根据不同项目而定*/ -m shiyan1.map /*产生存储器映射文件,文件名可以根据不同项目而定*/ -estart /*程序入口*/ MEMORY

相关主题