DSPBuilder标准实验报告册
- 格式:doc
- 大小:338.50 KB
- 文档页数:13
实验报告2 ——DSP汇编语言编程基础一.实验目的1、了解DSP 的寻址方式;2、了解DSP 的汇编语言与C 语言混合编程。
二、实验器材1、安装有CCS 的PC 机一台;三、实验内容1、建立一个工程;2、用汇编语言编程实现一个可被C 程序调用的例程。
四、实验步骤1、汇编语言和C 语言混合编程:①运行CCS ,建立一个工程,取名exp2a ,并保存到c:\ti\myprojects\xxx\Experiment2 \目录下。
②编辑如下C 文件,取名exp2a.c 并保存到c:\ti\myprojects\xxx\Experiment2\exp2a\目录。
/* Assembly routine */extern int sum(int *);/* define x[] as global array */int x[2]={0x1234,0x4321};/* define result s as global variable */int s;void main(){s = sum (x); /* return sum product */}③编辑如下汇编文件,取名exp2_sum.asm 并保存到c:\ti\myprojects\xxx\Experiment2\ exp2a\目录。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * ** exp2_sum.asm SUM subroutine* called by exp2a.c* Input: Array pointer* Output: Return sum result in T0* * * * * * * * * * * * * * * * * * * * * * * * * * * * *.global _sum_summov *AR0+,AC0 ; AC0 = x[1]add *AR0+,AC0 ; AC0 = x[1]+x[2]mov AC0,T0ret ; Return T0.end④编辑如下链接命令文件,取名link.cmd 并保存到c:\ti\myprojects\xxx\Experiment2 \exp2a\目录。
数字信号处理实验报告姓名:实验六 16阶FIR滤波器一、实验仪器:PC机一台,JQ-NIOS-2C35实验箱一台及辅助软件(DSP Builder、Matlab/Simulink、Quartus II、Modelsim)。
二、实验目的:1.初步了解JQ-NIOS-2C35实验箱的基本结构;2.学习和熟悉基于DSP Builder开发数字信号处理实验的流程。
3.学习和熟悉DSP Builder层次化的设计方法。
三、实验原理:1.FIR滤波器基础FIR滤波器具有直接型、级联型和频率抽样型三种基本结构[14]。
由于在DSP Builder模型设计中采用了直接型结构,我们只对直接型结构进行讨论。
这种结构也被称为抽头延迟线结构,或横向滤波器结构[15][16]。
图1显示的是直接型结构的示意图,从图中可以看出,每个抽头上的加权值M2,1,0(=,分别),b,.......,rr等于滤波器的单位冲击响应M),(=。
输入与抽头加权值的乘积的和2,1,0rrh,......,就是输出)(ny。
图1 FIR滤波器直接型结构示意图转置定理定义为,如果将上图中的所有支路倒转,并将输入x(n)和输出y(n)的位置调换,则其冲击响应不变。
将转置定理应用于上图,则得到FIR滤波器的转置结构,如图2所示。
图2 转置型FIR滤波器结构示意图2.具有线性相位的FIR滤波器结构若一个FIR滤波器具有线性相位,且其单位冲击响应h(n)全为实数,则h(n)具有如下特性:当N为偶数时,h(n)=h(M-n);当N为奇数时,h(n)=-h(M-n)。
所谓线性相位特性是指滤波器对不同频率的正弦波产生的相移和正弦波的频率成直线关系。
在本次试验设计中采用的是N为偶数的结构,图3显示的是N为偶数时线性相位滤波器的结构。
图3 线性相位滤波器结构示意图(N为偶数)3.FIR滤波器的设计方法FIR滤波器的设计方法主要有窗函数法、频率抽样法和切比雪夫逼近法三种。
实验报告||实验名称 D SP课内系统实验课程名称DSP系统设计||一、实验目的及要求1. 掌握用窗函数法设计FIR数字滤波器的原理和方法。
熟悉线性相位FIR 数字滤波器特性。
了解各种窗函数对滤波器特性的影响。
2. 掌握设计IIR数字滤波器的原理和方法。
熟悉IIR数字滤波器特性。
了解IIR数字滤波器的设计方法。
3.掌握自适应数字滤波器的原理和实现方法。
掌握LMS自适应算法及其实现。
了解自适应数字滤波器的程序设计方法。
4.掌握直方图统计的原理和程序设计;了解各种图像的直方图统计的意义及其在实际中的运用。
5.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法。
6.了解锐化的算法和用途,学习利用拉普拉斯锐化运算的程序设计方法。
7.了解取反的算法和用途,学习设计程序实现图像的取反运算。
8.掌握直方图均衡化增强的原理和程序设计;观察对图像进行直方图均衡化增强的效果。
二、所用仪器、设备计算机,dsp实验系统实验箱,ccs操作环境三、实验原理(简化)FIR:有限冲激响应数字滤波器的基础理论,模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
IIR:无限冲激响应数字滤波器的基础理论。
模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
数字滤波器系数的确定方法。
、自适应滤波:自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。
e(n)=z(n)-y(n)=s(n)+d(n)-y(n)直方图:灰度直方图描述了一幅图像的灰度级内容。
灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素个数与图像像素总数之比)。
图像边缘化:所谓边缘(或边沿)是指其周围像素灰度有阶跃变化。
经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘临近一阶或二阶方向导数变化规律,用简单的方法检测边缘。
DSP实验一
1.建立工程,设置工程类型为C5500,设备信息为TMS320C5509A;
2.打开工程,导入相关实验文件
3.右键单击建立的目标配置文件,选择set as default target configuation;
4.选中工程名,右键build project,并编译工程
5调试工程,菜单栏Target ->Launch TI Debugger ,装载程序
6设置断点
7.在Watch Window观察窗的name键入变量名
8打开breakpoints,设置断点数据源为inp_buffer,再设置数据源为out_buffer,分别作图
9观察数值
菜单栏Tools/Graph/Single time,打开图形属性设置界面。
设置起始地址(start address),缓冲区尺寸(Acquisition buffer),数据类型(Dsp data type),显示数据尺寸(Display data size)等参数。
下面是显示的部分数据
10作图结果
输入
输出
可以看出,输入信号是与输入信号反相的。
实验一 信号系统及系统响应一、实验目的1、 熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。
2、 熟悉离散信号和系统的时域特性。
3、 熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。
4、 掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。
二、实验原理(一)连续时间信号的采样采样是指按一定的频率从模拟信号抽样获得数字信号。
采样是从连续时间信号到离散时间信号的过渡桥梁。
对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲激脉冲的乘积,即()()()ˆa a x t x t M t =(1)其中连续信号的理想采样,是周期冲激脉冲()()n M t t n T d +=-=-å(2)它也可以用傅立叶级数表示为:1()s jm tn M t eT+W =-=å(3)其中T 为采样周期,Ω是采样角频率。
设是连续时间信号的双边拉氏变换,即有:()()ata a X s x t edt+--=ò(4)此时理想采样信号的拉氏变换为()ˆˆ()()1ˆ()1ˆ()1()s s ataa jm tsta m s jm ta m a s m X s x t e dtxt ee dtTxt e dtT X s jm T+--++W -=--++--W =- -++=--====-W òåòåòåò(5)作为拉氏变换的一种特例,信号理想采样的傅立叶变换1ˆ()[()]aa s m X j X j m T+=-W =W-W å(6)由式(5)和式(6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率。
根据Shannon 取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混淆现象。
《DSP技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称:数据存储实验二、实验目的掌握TMS320F2812的内部结构;熟悉CCS软件的使用三、实验内容修改例子程序,实现以下功能:(1)往0x003F9020地址开始的八个存储单元依次写入0,1,2,……,7八个数;读取0x003F9020地址开始的八个存储单元内容依次写入0x003F9028地址开始的八个存储单元内;(2)从0x003F9020地址开始的八个存储单元的内容依次与0x003F9028地址开始的八个存储单元内容相乘,运算结果依次存入0x003F9030地址开始的八个存储单元内;从0x003F9020地址开始的八个存储单元的内容依次与0x003F9028地址开始的八个存储单元内容相加,运算结果依次存入0x003F9038地址开始的八个存储单元内;(3)将0x003F9020地址开始的32个存储单元的数据从小到大排序,排序后的结果依次存入0x003F9040地址开始的32个存储单元内四、实验程序与结果分析程序:void main(void){int i,n;volatile unsigned int *room = (volatile unsigned int *)0x3f9020;volatile unsigned int *room2= (volatile unsigned int *)0x3f9030;volatile unsigned int *room3= (volatile unsigned int *)0x3f9040;volatile unsigned int *room4= (volatile unsigned int *)0x3f9090;volatile unsigned int *room5= (volatile unsigned int *)0x3f90A0;volatile unsigned int *temp= (volatile unsigned int *)0x3f9090;unsigned int max;// Initialize System Control:// PLL, WatchDog, enable Peripheral ClocksInitSysCtrl();// Disable CPU interruptsDINT;// Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000;IFR = 0x0000;/*对相应的内存空间赋值*/for(i=0;i<8;i++){* room=i;*room4=i;*(room+8)=i;*(room4+8)=i;*room2=(* room)*(*(room+8));*room5=(* room)*(*(room+8));*(room2+8)=(* room)+(*(room+8));*(room5+8)=(* room)+(*(room+8));room++;room2++;room4++;room5++;}/*从小到大排序并将32个数存在room3中*/for(i=0;i<31;i++){for(n=i+1;n<32;n++){if(temp[i]>=temp[n]){max= temp[i];temp[i]=temp[n];temp[n]=max;}}room3[i]=temp[i];}room3[i]=temp[31];}结果:五、小结通过本次对DSP的初次编程,感觉对C语言要求较高,进一步了解了DSP的内存分布情况,基本掌握了CSS的使用。
我们做的dsp实验是实验一,实验二,实验三!模板上只有1 3 !2要自己仿照实验一写!不要弄错了!实验题目在另外一个共享表格里!实验一数据存储实验一、实验目的1. 掌握ccs的使用2. 掌握 tms320c54x 程序空间的分配;3. 掌握 tms320c54x 数据空间的分配;4. 能够熟练运用tms320c54x 数据空间的指令。
二、实验设备计算机,ccs 3.1版软件,dsp仿真器,e300实验箱,dsp-54xp cpu板。
三、实验步骤与内容1. 在进行 dsp实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示:2. e300 底板的开关sw4 的第1位置on,其余位置off。
其余开关设置为off。
sw5全部置on;其余开关不做设置要求3. 上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的“红色指示灯”应点亮,否则dsp开发系统与计算机连接存在问题。
4. 运行ccs程序1) 待计算机启动成功后,实验箱220v电源置“on”,实验箱上电 2) 启动ccs3.1,进入ccs界面后,点击“debug—connect”3) 此时仿真器上的“绿色指示灯”应点亮,ccs正常启动,表明系统连接正常;否则仿真器的连接、jtag 接口或ccs 相关设置存在问题,这时需掉电检查仿真器的连接、jtag 接口连接是否正确,或检查ccs相关设置是否存在问题。
5. 成功运行ccs 程序后,首先应熟悉ccs的用户界面;6. 学会在ccs环境下创建工程文件、添加程序文件、编写程序、编译、装载、调试,学习如何使用观察窗口等。
7. 用“project\open”打开“c:\ti5000\myprojects\01_mem\ mem.pjt”.编译并装载“\ 01_mem\debug\mem.out”8.用“edit”下拉菜单中的“memory/fill”编辑内存单元,参数设置如下图:单击“ok”此时以0x1000 为起始地址的16个内存单元被修改成:0x00099.用“view”下拉菜单“memory”观察内存单元变化,输入要查看的内存单元地址,本实验要查看0x1000h~0x100fh 单元的数值变化,输入地址0x1000h;单击“ok”如下图所示:10. 点击“debug\go main”进入主程序,在程序中“加软件断点1”和“加软件断点2”处施加软件断点。
DSP实验报告小组杜筱佳0904210204薛茜茜0904210215学院电子工程与光电技术学院班级0904210204指导老师刘明实验日期2012.11——2012.12实验一DSP开发基础一、实验目的1、了解DSP开发系统的基本配置2、掌握DSP集成开发环境(CCS)3、掌握C语言开发的基本流程4、熟悉代码调试的基本方法二、实验仪器计算机,C2000 DSP教学实验箱,XDS510USB仿真器,示波器三、实验内容建立工程,对工程进行编译、链接,载入可执行程序,在DSP硬件平台上进行实时调试,利用代码调试工具,查看程序运行结果四、实验要求及实验结果1、项目的编译、链接、调试2、dataIO()子程序入口地址0x003F81F5processing()子程序入口地址0x003F81DBcurrentBuffer.input所在存储器地址0x008480currentBuffer.output所在存储器地址:0x0085003、图形方式显示数据空间currentBuffer.input和current.Buffer.output缓冲存储区的波形currentBuffer.input:图1.1currentBuffer.output:图1.24、.map文件中,.text段在存储空间的地址003f8000长度0000012b;位于TMS320F2812 程序存储空间,物理存储块名称H0_PM.data段在存储空间的地址00000040长度00000001;位于TMS320F2812 数据存储空间,物理存储块名称M0_RAM.bss段在存储空间的地址00000000长度00000000;实验二任意信号发生器一、实验目的1、熟悉DSP硬件开发平台2、熟悉DSP集成开发环境(CCS)3、熟悉TMS320F2812的存储器配置表4、学习DMS320F2812的编程开发5、熟悉代码调试的基本方法二、实验仪器计算机,C2000 DSP教学实验箱,XDS510USB仿真器,示波器三、实验内容建立工程,编写DSP主程序,并对工程进行编译、链接,利用现有DSP 平台实现任一波的产生,通过示波器观察结果。
DSP 实验报告(实验五)班级:学号:姓名:实验五混合编程一、实验目的1. 学习使用实时运行库;2. 熟悉用C和汇编混合编程的方法;3. 掌握混合编程的调试方法。
二、实验环境1. 集成开发环境Code Composer Studio2.0(简称CCS)2. 实验程序mix.c,mix.h(由程序自动加载,可不加,后同),mix.cmd,addfun.s54,rts.lib(有C的混合编程需要有库文件),c5402.gel(要有,有C的混合编程要用gel 初始设置。
选芯片时设置已自带,可不添加;如无则加)三、实验步骤1. 改设置:Build option子菜单linker中Basic项Autoinit Model 改为load-time Initialization或Run-time Initialization(不同的设置,SP初始值将不同。
No Initialization也可以,但效果不如前两个好)。
2. 为使效果更明显,屏蔽前两条printf( )语句(可与第三条对比,编译后将出现警告,可忽略),编译项目文件得到.out程序。
另外装载程序前,在Edit->Memory->Fill 中,对Data Memory从0x0000到0xFFFF用全0x1111或0x2222等填充(注意:填充后必须对Gel文件重新Load一次)。
然后装载程序,了解在混合编程环境下变量、函数的定义方法以及项目文件的编译方法。
3. 打开View Memory,用SP值(Debug_>Go main后的值)作为开始察看地址,从主程序main开始用Single Step方式调试程序,观察程序的执行过程。
尤其是在C 程序中调用汇编子函数以及返回的过程,注意当前SP和PC的变化。
4. 看懂代码,比较结果,并画出程序流程图;四、实验结果1、从主程序main开始用Single Step方式调试程序,观察程序的执行过程。
攀枝花学院
电工电子实验中心电路原理实验报告册
实验课程电子信息工程综合实验
专业班级2007级电子信息工程
学生姓名廖小军
学生学号200710501020
指导教师陈欣波
2010 年9 月19 日
实验时间 2010/9 实验台号
指导教师陈欣波同组学生
实验一正弦信号发生器设计
一、实验目的
1. 了解DSP Builder的使用
2. 学会用DSP Builder和Simulink模块创建设计模型
3.学会使用Matlab/Simulink、ModelSim和Quartus2软件进行仿真
二、实验仪器和设备
1. 计算机
2. Matlab、ModelSim、Quartus2软件
三、实验原理
1.所设计的正弦信号发生器的基本原理
本实验有四部分:incont阶梯信号发生器是用来产生也个案时钟线性递增的地址信号,送到sinlut(正弦函数值查找表)模块,有递增的地址获得正弦波的量化值输出。
Sinlut出来后送product乘法模块,与sinlut相乗。
由于sinctul是一位输入,sinctrl通过product就完成了对有无正弦波输出的控制。
Sinout是整个正弦波发生器模块的输出,送往D\A即可获得正弦波的输出信号。
2. 正弦信号信号发生器的原理图
3. 原理图中有哪些模块,叙述个模块的作用。
四、实验内容与步骤
1.正弦信号发生器设计步骤
2. 写出设计中个模块的参数设置
五、数据处理
1. 正弦信号发生器的算法仿真
(1)Scope中显示的仿真图
(2)对图中的信息解释说明
2. 正弦信号发生器的RTL仿真(1)ModelSim中的RTL仿真图
(2)对图中的信息解释说明
2. 正弦信号发生器的FPGA仿真
(1)Quartus2仿真图
(2)对图中的信息解释说明
六、问答题
1. ModelSim中的RTL仿真时实现模拟显示的过程。
指导教师:
年月日
实验时间实验台号
指导教师同组学生
实验二调幅电路设计
一、实验目的
1. 了解DSP Builder的使用
2. 学会用DSP Builder和Simulink模块创建设计模型
3.学会使用Matlab/Simulink、ModelSim和Quartus2软件进行仿真
二、实验仪器和设备
1. 计算机
2. Matlab、ModelSim、Quartus2软件
三、实验原理
1.所设计的调幅电路的基本原理
2. 调幅电路发生器的原理图
3. 原理图中有哪些模块,叙述个模块的作用。
四、实验内容与步骤
1.调幅电路设计步骤
2. 写出设计中个模块的参数设置
五、数据处理
1. 调幅电路的算法仿真
(1)Scope中显示的仿真图
(2)对图中的信息解释说明
2. 调幅电路的RTL仿真
(1)ModelSim中的RTL仿真图(2)对图中的信息解释说明
2. 调幅电路的FPGA仿真
(1)Quartus2仿真图
(2)对图中的信息解释说明
六、问答题
1. 如何改变载波频率。
指导教师:
年月日。