DSP实验报告2解读
- 格式:doc
- 大小:568.10 KB
- 文档页数:9
DSP技术及应用实验报告(第二次)实验名称:1、CMD文件和Gel文件的编写2、正弦信号发生器班级:08级通信工程二班姓名:周卫星学号:2008550726指导老师:姚志强实验三、CMD文件和Gel文件的编写一、实验目的1. 掌握Gel文件的编写,2. 熟悉Code Composer Studio的使用二、实验设备1. 集成开发环境CCS2. 实验代码ccs_gel.s54、ccs_gel.cmd和ccs_gel.gel三、实验内容及结果1、建立项目并添加相应文件,连接编译(步骤同实验二一样),双击打开CMD 文件,对照教材理解CMD文件的编写结构,改变其中的内容,增加自定义段,保存并重新编译,比对前后两次编译得到的Map文件的异同。
/*Memory Directive,是对用户目标DSP储存空间说明。
用户可配置储存空间的页数、长度、起始点、名称等*/MEMORY {PAGE 0:VECS: org=0x0080, len=0x80PROM: org=0x1000, len=0x1000 /* 4k words */PAGE 1:STACK: o rg=0x100, len=0x400 /* 1k words */DARAM: org=0x2000, len=0x1000 /* 4k words */}/*以下为Sections Directive,是对程序中段的配置说明,也就是将程序中所用到的段配置到用户在Memory Directive所定义的memory单元。
*/SECTIONS{ .text:> PROM PAGE 0vectors :> VECS PAGE 0.bss :> DARAM PAGE 1.data :> DARAM PAGE 1}修改,在SECTIONS中最后一行加入了如下行:.lab :> DARAM PAGE1通过比较,修改后相对修改前多出了如下行:.lab 1 00002000 00000000 UNINITIALIZED2、了解GEL文件的功能。
dsp原理与应用实验报告总结DSP(Digital Signal Processing)数字信号处理是利用数字技术对信号进行处理和分析的一种方法。
在本次实验中,我们探索了DSP的原理和应用,并进行了一系列实验以验证其在实际应用中的效果。
以下是对实验结果的总结与分析。
实验一:数字滤波器设计与性能测试在本实验中,我们设计了数字滤波器,并通过性能测试来评估其滤波效果。
通过对不同类型的滤波器进行设计和实现,我们了解到数字滤波器在信号处理中的重要性和应用。
实验二:数字信号调制与解调本实验旨在通过数字信号调制与解调的过程,了解数字信号的传输原理与方法。
通过模拟调制与解调过程,我们成功实现了数字信号的传输与还原,验证了调制与解调的可行性。
实验三:数字信号的傅里叶变换与频谱分析傅里叶变换是一种重要的信号分析方法,可以将信号从时域转换到频域,揭示信号的频谱特性。
本实验中,我们学习了傅里叶变换的原理,并通过实验掌握了频谱分析的方法与技巧。
实验四:数字信号的陷波滤波与去噪处理陷波滤波是一种常用的去除特定频率噪声的方法,本实验中我们学习了数字信号的陷波滤波原理,并通过实验验证了其在去噪处理中的有效性。
实验五:DSP在音频处理中的应用音频处理是DSP的一个重要应用领域,本实验中我们探索了DSP在音频处理中的应用。
通过实验,我们成功实现了音频信号的降噪、均衡和混响处理,并对其效果进行了评估。
实验六:DSP在图像处理中的应用图像处理是另一个重要的DSP应用领域,本实验中我们了解了DSP在图像处理中的一些基本原理和方法。
通过实验,我们实现了图像的滤波、边缘检测和图像增强等处理,并观察到了不同算法对图像质量的影响。
通过以上一系列实验,我们深入了解了DSP的原理与应用,并对不同领域下的信号处理方法有了更深刻的认识。
本次实验不仅加深了我们对数字信号处理的理解,也为日后在相关领域的研究与实践提供了基础。
通过实验的结果和总结,我们可以得出结论:DSP作为一种数字信号处理的方法,具有广泛的应用前景和重要的实际意义。
实验二DSP系统定时器的使用一、实验目的:1、掌握5402 DSP片上定时器的初始化设置及应用;2、掌握DSP系统中实现定时的原理及方法;3、了解5402 DSP中断寄存器IMR、IFR的结构和使用;4、掌握5402 DSP系统中断的初始化设置过程和方法;5、掌握在C语言中嵌入汇编语句实现数字I/O的方法。
二、实验原理:1、定时器及其初始化在5402内部包括两个完全相同的定时器:定时器0和定时器1。
每个定时器分别包括3个寄存器:定时器周期寄存器PRD、定时器寄存器TIM、定时器控制寄存器TCR,其中TCR 寄存器中包括定时器分频系数TDDR、定时器预分频计数器PSC两个功能寄存器。
通过PRD 和TDDR可以设置定时器的初始值,TIM(16bits)和PSC(4bits)是用于定时的减法计数器。
CLKOUT是定时器的输入时钟,最大频率为100Mhz。
定时器相当于20bit的减法计数器。
定时器的结构如图1所示。
图1 定时器的组成框图定时器的定时周期为:CLKOUT×(TDDR+1)×(PRD+1)其中,CLKOUT为时钟周期,TDDR和PRD分别为定时器的分频系数和时间常数。
在正常工作情况下,当TIM减到0后,PRD中的时间常数自动地加载到TIM。
当系统复位或者定时器单独复位时,PRD中的时间常数重新加载到TIM。
同样地,每当复位或PSC减到0后,定时器分频系数TDDR自动地加载到PSC。
PSC在CLKOUT作用下,作减1计数。
当PSC 减到0时,产生一个借位信号,令TIM作减l计数。
TIM减到0后,产生定时中断信号TINT,传送至CPU和定时器输出引脚TOUT。
例如:欲设置定时器0的定时周期为1ms,当DSP工作频率为100Mhz时,通过上式计算可得出:TDDR=15,PRD=6520。
2、定时器的使用下面是一段定时器应用程序,每检测到一次中断,ms+1,利用查询方式每计500个数就令XF引脚的电平翻转一次,在XF引脚输出一矩形波信号,因定时器1ms中断一次,故500ms就使LED翻转一次,这样LED指示灯就不停地闪烁。
《DSP技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:项目满分5分得分一、实验名称拨码开关实验二、实验目的1.了解DSP开发系统的组成和结构2.了解IO的基本编程方法三、实验内容1. 2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON。
2.E300板上的开关SW4的第二位置ON,其余OFF;SW5开关全部置ON;其余开关全部置OFF。
3.运行Code Composer Studio (CCS)(CCS3.3需要“DEBUG→Connect”)4. 用“Project\open”打开系统项目文件路径为“c:\DSP_examep\DSP281X_examples\e300_02_switch\Example_281x_switch.pjt”双击该文件5、输入主要程序。
6、编译程序并装载。
7.单击“Debug-GoMain”跳到主程序的开始;8. 单击“Debug\RUN”运行程序。
需要判断是高电平亮,还是低电平亮,可以使用中断调试。
在运行状态,在需要设置断点的位置的右边,双击,就可以产生红点。
表明设置了断点。
在view目录下,(如右边图所示:)打开watch window,(此项是用来检查和编辑变量或C表达式可以不同格式显示变量值,还可以显示数值、结构或指针等包含多个元素的变量),在本实验中观察temp变量的变化。
步骤:在debug目录下点run,在断点处,程序会停下来,可以观察temp变量的值。
(也可按“F10”单步运行程序,观察temp变量的值。
)9. 任意拨动E300底板上的拨动开关,观察LED和拨动开关的对应情况。
(LED1-LED7分别对应DSP数据总线的D0-D7)10.单击“Debug \ Halt”暂停持续运行,开关将对灯失去控制.11.关闭所有窗口,本实验完毕.四、实验程序与结果分析实验程序:#include "DSP281x_Device.h" // DSP281x Headerfile Include File#include "DSP281x_Examples.h" // DSP281x Examples Include Filevoid main(void){unsigned int temp;temp = 0;DINT;InitSysCtrl();InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();for(;;){asm(" nop ");temp = *(int *)0x2200&0x00ff;if(temp!=0x80){temp=(temp<<1)&0x00ff;asm(" nop ");* (int *)0x2200 = temp;}else * (int *)0x2200 =0x01;asm(" nop ");}}结果分析:多次拨动E300底板上的拨码开关,观察LED亮灭后,我们发现拨动开关的对LED1-LED7分别对应DSP数据总线的D0-D7,并且LED低电平时导通。
DSP实验报告(第二次实验)实验四、正弦信号发生器学院:信息工程学院班级:11级通信工程3班姓名:李慧学号:2011551309指导老师:姚志强完成日期:2014.4.12验四、正弦信号发生器一、 实验目的1. 掌握利用DSP 产生正弦信号的原理2. 熟悉子程序调用的程序结构以及堆栈的使用3. 掌握CCS 的图形输出操作二、 实验设备1. 集成开发环境Code Composer Studio (简称CCS )2. 实验代码Sin.s54、Lab.cmd 和Lab.gel三、实验内容1. 阅读理解多项式逼近正弦的文档2. 阅读和理解Sin.s543. 调试正弦波发生器4. 加入断点,并选取图形观测,利用动画及时更新5. 试利用迭代的方法来实现正弦信号发生器四、实验结果和提示1.2345sin()= 3.140625 + 0.02026367 - 5.325196 + 0.5446778 + 1.800293x x x x x x ,x 为第一象限内的弧度值。
因为sin()sin(),sin()sin()x x x x π-=-=-,所以只需将第二,三,四象限内的弧度值转换到第一象限即可计算出相应的正弦函数值。
由于有限精度,规定弧度值从~ππ-,其中π=0x7FFF ,π/2=0x4000,π-=0x8000。
利用级数展开产生正弦波,必须在调用计算子程序之前备份好累加器A 中的当前弧度值,以便计算结束后实现x 增量。
正弦波的频率可以通过增幅的大小来进行控制,如果假定程序循环一次为一个时间单位,则正弦波的周期为65536/步长,频率为周期倒数。
x 自动增长时要注意当x 超过π后必须调整到~ππ-的范围内才能调用计算子程序,即若,2x x x ππ>=-则。
2. 需要使用临时数据时,必须用frame 语句留出所需空间,使用结束后要将堆栈指针还原以防堆栈内存泄漏。
要注意的是frame 的下一条指令不能使用直接寻址。
DSP实验报告(二)实验二应用FFT对信号进行频谱分析一、实验目的1、在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。
2、熟悉应用FFT对典型信号进行频谱分析的方法。
3、了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。
二、实验原理与方法①一个连续信号的频谱可以用它的傅立叶变换表示为+ Xa(jW)=-jWtx(t)edtòa-如果对该信号进行理想采样,可以得到采样序列x(n)=xa(nT)同样可以对该序列进行z变换,其中T为采样周期X(z)=+ x(n)z-n+ -令z为ejw,则序列的傅立叶变换X(ejw)=x(n)ejwn-其中ω为数字频率,它和模拟域频率的关系为w=WT=W/fs式中的是采样频率。
上式说明数字频率是模拟频率对采样率的归一化。
同模拟域的情况相似。
数字频率代表了序列值变化的速率,而序列的傅立叶变换称为序列的频谱。
序列的傅立叶变换和对应的采样信号频谱具有下式的对应关系。
1X(e)=Tjw+ - w-2pXa(j)T即序列的频谱是采样信号频谱的周期延拓。
从式可以看出,只要分析采样序列的谱,就可以得到相应的连续信号的频谱。
注意:这里的信号必须是带限信号,采样也必须满足Nyquist定理。
在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。
无限长的序列也往往可以用有限长序列来逼近。
有限长的序列可以使用离散傅立叶变换。
当序列的长度是N时,定义离散傅立叶变换为:X(k)=DFT[x(n)]=其中W=e2pj-NN-1n=0WNkn它的反变换定义为:1x(n)=IDFT[X(k)]=N根据式和,则有N-1n=0X(k)WNknX(z)|z=Wnk=NN-1n=0x(n)WNnk=DFT[x(n)]j2pN可以得到X(k)2pk的点,就NN是将单位圆进行N等分以后第k个点。
所以,X(k)是z变换在单位圆上的等距采样,或者说是序列傅立叶变换的等距采样。
实验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课程的实用性和趣味性。
实验二基本算数运算2.1 实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。
《DSP技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称:拨码开关实验二、实验目的了解DSP开发系统的组成和结构;了解IO的基本编程方法三、实验内容修改例子程序,实现以下功能:(1)调试例子程序,理解程序设计思想;(2)修改例子程序,实现每个拨码开关控制一种不同的LED花样显示。
(3)实现LED流水灯的功能,并且实现由拨码开关键值控制LED流水灯的频率(按键值与LED流水灯频率关系自定义,至少提供两种不同的LED流水灯变化的频率)(加分)四、实验程序与结果分析void Delay(int n){int i=0,j;for(j=0; j<n; j++)for(i=0;i<1000;i++);}void main(void){unsigned int temp,m;unsigned int temp1[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};temp = 0;InitSysCtrl();//初始化PLL,WatchDog,使能外围时钟,该初始化文件在"DSP281x_SysCtrl.c"中DINT;//关闭CPU中断// Initialize PIE control registers to their default state.// The default state is all PIE interrupts disabled and flags// are cleared.InitPieCtrl();IER = 0x0000;//关闭中断和清除所有中断标志IFR = 0x0000;// Initialize the PIE vector table with pointers to the shell Interrupt // Service Routines (ISR).InitPieVectTable();for(;;){asm(" nop ");temp = *(int *)0x2200&0x00ff;switch(temp){case 0xfe: * (int *)0x2200 = temp1[0];break;case 0xfd: * (int *)0x2200 = temp1[1];break;case 0xfb: * (int *)0x2200 = temp1[2];break;case 0xf7: * (int *)0x2200 = temp1[3];break;case 0xef: * (int *)0x2200 = temp1[4];break;case 0xdf: * (int *)0x2200 = temp1[5];break;case 0xbf: * (int *)0x2200 = temp1[6];break;case 0x7f: * (int *)0x2200 = temp1[7];break;}asm(" nop ");if(temp==1){for(m=0; m<8; m++){Delay(1200);* (int *)0x2200 = ~(1<<m);Delay(200);}}if(temp==3){for(m=0; m<8; m++){Delay(800);* (int *)0x2200 = ~(1<<m);Delay(100);}}//temp值输出0x2200地址的LED灯asm(" nop ");}}五、小结通过这次试验让我明白不同模块可以共用同一个地址,这应该是时分复用的功劳吧,其次0x200这地址允许读写操作,这次的试验箱改变以往地址低位在后的设计应该是别出心裁的,目的应该是考验学生对地址的理解。
dsp实验报告DSP实验报告一、引言数字信号处理(Digital Signal Processing,DSP)是一种对数字信号进行处理和分析的技术。
它在许多领域中被广泛应用,如通信、音频处理、图像处理等。
本实验旨在通过实际操作,探索和理解DSP的基本原理和应用。
二、实验目的1. 理解数字信号处理的基本概念和原理;2. 掌握DSP实验平台的使用方法;3. 进行一系列DSP实验,加深对DSP技术的理解。
三、实验器材和软件1. DSP开发板;2. 电脑;3. DSP开发软件。
四、实验内容1. 实验一:信号采集与重构在此实验中,我们将通过DSP开发板采集模拟信号,并将其转换为数字信号进行处理。
首先,我们需要连接信号源和开发板,然后设置采样频率和采样时间。
接下来,我们将对采集到的信号进行重构,还原出原始模拟信号,并进行观察和分析。
2. 实验二:滤波器设计与实现滤波器是DSP中常用的模块,用于去除或增强信号中的特定频率成分。
在此实验中,我们将学习滤波器的设计和实现方法。
首先,我们将选择合适的滤波器类型和参数,然后使用DSP开发软件进行滤波器设计。
最后,我们将将设计好的滤波器加载到DSP开发板上,并进行实时滤波处理。
3. 实验三:频谱分析与频域处理频谱分析是DSP中常用的方法,用于分析信号的频率成分和能量分布。
在此实验中,我们将学习频谱分析的基本原理和方法,并进行实际操作。
我们将采集一个包含多个频率成分的信号,并使用FFT算法进行频谱分析。
然后,我们将对频谱进行处理,如频率选择、频率域滤波等,并观察处理后的效果。
4. 实验四:音频处理与效果实现音频处理是DSP中的重要应用之一。
在此实验中,我们将学习音频信号的处理方法,并实现一些常见的音频效果。
例如,均衡器、混响、合唱等。
我们将使用DSP开发软件进行算法设计,并将设计好的算法加载到DSP开发板上进行实时处理。
五、实验结果与分析通过以上实验,我们成功完成了信号采集与重构、滤波器设计与实现、频谱分析与频域处理以及音频处理与效果实现等一系列实验。
dsp信号处理实验报告DSP信号处理实验报告一、引言数字信号处理(DSP)是一种将连续信号转换为离散信号,并对其进行处理和分析的技术。
在现代通信、音频处理、图像处理等领域中,DSP技术被广泛应用。
本实验旨在通过对DSP信号处理的实践,加深对该技术的理解与应用。
二、实验目的本实验旨在通过对DSP信号处理的实践,掌握以下内容:1. 学习使用DSP芯片进行信号采集和处理;2. 理解离散信号的采样和重构过程;3. 掌握常见的DSP信号处理算法和方法。
三、实验原理1. 信号采集与重构在DSP信号处理中,首先需要对模拟信号进行采样,将连续信号转换为离散信号。
采样过程中需要注意采样频率的选择,以避免混叠现象的发生。
采样完成后,需要对离散信号进行重构,恢复为连续信号。
2. DSP信号处理算法DSP信号处理涉及到多种算法和方法,如滤波、频谱分析、时域分析等。
其中,滤波是一种常见的信号处理方法,可以通过滤波器对信号进行去噪、增强等处理。
频谱分析可以将信号在频域上进行分析,了解信号的频率成分和能量分布。
时域分析则关注信号的时序特征,如幅值、相位等。
四、实验步骤1. 信号采集与重构在实验中,我们使用DSP芯片进行信号采集与重构。
将模拟信号输入DSP芯片的模拟输入端口,通过ADC(模数转换器)将模拟信号转换为数字信号。
然后,通过DAC(数模转换器)将数字信号转换为模拟信号输出。
2. 滤波处理为了演示滤波处理的效果,我们选择了一个含有噪声的信号进行处理。
首先,使用FIR滤波器对信号进行低通滤波,去除高频噪声。
然后,使用IIR滤波器对信号进行高通滤波,增强低频成分。
3. 频谱分析为了对信号的频率成分和能量分布进行分析,我们使用FFT(快速傅里叶变换)算法对信号进行频谱分析。
通过观察频谱图,可以了解信号的频率特性。
4. 时域分析为了对信号的时序特征进行分析,我们使用时域分析方法对信号进行处理。
通过计算信号的均值、方差、峰值等指标,可以了解信号的幅值、相位等特性。
实验报告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\目录。
目录目录 (1)实验一试验名称:RGB转灰度,添加噪声实验 (2)实验二试验名称:图像平滑,中值滤波实验 (7)实验三试验名称:图像锐化实验 (9)实验四试验名称:灰度变换实验 (11)实验五试验名称:灰度直方图,直方图均衡实验 (13)实验六试验名称:边沿提取,灰度反转,二值化实验 (16)实验七试验名称:熟悉imgLib的使用实验 (18)实验一试验名称:RGB转灰度,添加噪声实验一、试验目的1、熟悉CCS,学会运用CCS导入图像,并仿真DSP处理图像2、掌握如何将目标图像由彩色转为灰色3、掌握如何给目标图像添加各类噪声二、试验设备1、PC机一台,windows操作系统2、CCS编程环境三、试验原理(1)彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255个中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。
而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其中一个像素点的变化范围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。
灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫做灰度值。
因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。
图像的灰度化处理,一般有以下三种处理方法:方法一:加权平均法根据重要性及其它指标,将R、G、B三个分量以不同的权值进行加权平均。
由于人眼对绿色的敏感度最高,对蓝色敏感度最低。
因此,在MATLAB中我们可以按下式系统函数,对RGB三分量进行加权平均能得到较合理的灰度图像。
f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))方法二:平均值法将彩色图像中的R、G、B三个分量的亮度求简单的平均值,将得到均值作为灰度值输出而得到灰度图。
DSP实验报告,2DSP 实验报告班班级:学学号:姓姓名:指导教师:实验一常用指令实验 1 1 .实验目的了解 P DSP 系统的组成和结构 2 2 .实验设备 3 3 .实验内容及步骤 4 4 .实验结果及分析 5 5 .实验体会实验七 D A/D 转换实验一、实验目的 1.熟悉 A/D 转换的根本原理; 2.掌握 AD7822 的技术指标和常用方法; 3.掌握并熟悉使用DSP 和 AD7822BN 的接口及其操作。
二、实验设备计算机,CCS2.0 软件,DSP 仿真器,试验箱三、实验步骤和内容 1、拨码开关设置 2、运行 CCS 软件,加载示范程序; 3、观察采样报告; 4、填写实验报告。
5、样例程序实验操作说明6、开关 K9 拨到右边,即选择连接右边的 CPU:CPU2;启动 CCS 2.0,在Project->Open->菜单翻开exp06cpu2 目录下面的工程文件“exp06.pjt”。
用下拉菜单中Project->Open,翻开“exp06cpu2/exp06.pjt”,双击“Sour ”,可查看源程序。
在 File->Load Program 菜单下加载 exp06cpu2\debug 目录下的 exp06.out 文件。
在“782254.c”中如以下图“i=0;”处,设置断点。
单击“Run”运行程序,程序运行到断点处停止:7、用下拉菜单中的 View/Grap 的“Time/Frequen ”翻开一个图形观察窗口; 8、单击“Ani te”运行程序,调节源 1 的频率、幅值、波形调节旋钮,在图形观察窗口观察 A/D 转换后的数据波形变化; 9、单击“Halt”暂停程序运行,用“View”的下拉菜单中“Memory”翻开存储器数据观察窗口;设置该存储器数据观察窗口的参数,选择地址为 databuff,数据格式 C 格式 16进制; 10、单击“Ani te”运行程序,调整存储器数据观察窗口,并在该窗口中观察数据变化,A/D 转换后的数据存储地址为 databuff 单元开始的 256 个单元内,变化数据将变为红色; 11、单击“Halt”停止程序运行;12、关闭“exp06.pjt”工程文件,关闭个窗口,本实验完毕。
一、实验目的1、掌握TMS320系列DSP的性能、结构原理、指令系统及编程方法;2、熟练掌握CCS集成开发环境的常用开发、调试功能;3、利用MATLAB语言与开发环境进行FIR滤波器的高级语言设计与仿真;4、根据MATLAB仿真结果,进行基于CCS的高级语言和汇编语言仿真;5、在DSP实验板上实时实现该滤波器。
二、试验设备1、TMS320C5402DSP实验开发板1块,JTAG仿真探头1个,5V 交流适配器1个;2、音频信号源1个,耳机1对;3、微型计算机1台。
三、试验内容1、试验硬件简介:本试验的板子采用南京航空航天大学DSP实验室自己开发的试验板子,它有以下几个特点:1)试验板子的核心处理器是TMS320VC5402;2)外部单5V电源供电;3)提供了与计算机串行口的数据通信功能,可以与计算机交换数据;4)提供了语音输入和语音输出的街口,可以进行语音信号的分析与处理;5)提供了可与外部相连接的EHPI8、并口、McBSP口等VC5402片上外设接口。
通过这些接口,可以方便的对该试验板子进行功能扩展;6)该试验板子提供大容量的外部程序和数据RAM以及FLASH存储空间,方便学生开发和使用;7)试验板子集成了一块ALTERA公司CPLD(EPM7128S),可以通过该CPLD实现对试验板子上各种逻辑的控制管理;8)试验板子提供了必要的复位,测试和开关插销,为用户调试和测试提供了方便。
本试验用到了试验板子辅助器件为语音处理部分的硬件SRAM、闪烁灯器件等等。
2、在Matlab实现算法仿真试验目的是设计一个64阶FIR数字低通滤波器,其参数如下:截至频率为3000Hz,采样频率为2000Hz。
利用Matlab工具箱设计FIR数字滤波器,其设计语言如下:>>c=fir1(63,0.3);>>freqz(c,1,4096);>>plot(c);得到数字滤波器系数如下:-0.00079887, -0.00039007, 0.0004368, 0.0011085, 0.00095091,-0.00025572, -0.0017797, -0.002173, -0.00046388, 0.0025341,0.0042491, 0.0023285, -0.0027578, -0.0070632, -0.005921, 0.0015267,0.010096, 0.011687, 0.0023706, -0.012368, -0.019945, -0.010603,0.012305, 0.031247, 0.026339, -0.0069494, -0.048111, -0.060186,-0.01384, 0.088797, 0.20863, 0.289, 0.289, 0.20863,0.088797, -0.01384, -0.060186, -0.048111, -0.0069494, 0.026339,0.031247, 0.012305, -0.010603, -0.019945, -0.012368, 0.0023706,0.011687, 0.010096, 0.0015267, -0.005921, -0.0070632, -0.0027578,0.0023285, 0.0042491, 0.0025341, -0.00046388, -0.002173, -0.0017797,-0.00025572, 0.00095091, 0.0011085, 0.0004368, -0.00039007, -0.00079887得到数字滤波器的时域与频域图如下:图一数字滤波器时域图图二数字滤波器的幅频相频图设计一正弦函数进行仿真:sin(2*Pi*10000*t)+sin(2*Pi*3000*t)其中10000与3000为频率,仿真结果看能否过滤高频10000。
D S P 实验报告班级:姓名:学号:实验一 快速傅立叶变换(FFT )的实现一、 实验目的在数字信号处理系统中,FFT 作为一个非常重要的工具经常使用,甚至成为 DSP 运算能力的一个考核因素。
FFT 是一种高效实现离散付氏变换的算法。
离散付氏变换的目的是把信号由时域变换到频域,从而可以在频域分析处理信息,得到的结果再由付氏逆变换到时域。
本实验的目的在于学习FFT 算法, 及其在TMS320C54X 上的实现, 并通过编程掌握C54X 的存储器管理、辅助寄存器的使用、位倒序寻址方式等技巧,同时练习使用 CCS 的探针和图形工具。
另外在 BIOS 子目录下是一个使用 DSP/BIOS 工具实现 FFT 的程序。
通过该程序,你可以使用 DSP/BIOS 提供的分析工具评估 FFT 代码执行情况。
二、 实验原理1) 基 2 按时间抽取 FFT 算法对于有限长离散数字信号{x[n]},0 ≤ n ≤ N -1,其离散谱{x[k]}可以由离散付氏变换(DFT )求得。
DFT 的定义为:1,...,1,0][)()2(10-==--=∑N k en x k X nk N j N n可以方便的把它改写为如下形式:1,...,1,0][)(10-==∑-=N k n x k X W nk N N n不难看出,WN 是周期性的,且周期为 N ,即...2,1,0,))((±±==-++l m W W nk N lN k mN n NWN 的周期性是 DFT 的关键性质之一。
为了强调起见,常用表达式 WN 取代 W 以便明确其周期是 N 。
2) 实数 FFT 运算对于离散傅立叶变换(DFT )的数字计算,FFT 是一种有效的方法。
一般假定输入序列是复数。
当实际输入是实数时,利用对称性质可以使计算 DFT 非常有效。
一个优化的实数 FFT 算法是一个组合以后的算法。
原始的 2N 个点的实输入序列组合成一个 N 点的复序列,之后对复序列进行 N 点的 FFT 运算,最后再由 N 点的复数输出拆散成 2N 点的复数序列, 这 2N 点的复数序列与原始的 2N 点的实数输入序列的 DFT 输出一致。
DSP图像处理实验报告组员:张海星通信1107班陈淑菁通信1103班手势识别1.题目分析不同的手势出现在屏幕上会显示手势的名字,找出不同手势在屏幕上显示的特点,用这个特点来区分出手势的名称,同时将名称显示在屏幕的左下角。
2.步骤:(1)找特征:用运肤色检测的程序调试出来的显示屏幕上图像的特征我们发现肤色的面积大小会随着不同手势透出的皮肤面积的大小而变化,因此我们利用面积的大小来判断不同的手势,并将其名称显示在屏幕的左下角。
(2)采集图像:我们组用石头和剪刀两个手势。
首先用loop2的显示采集两个手势的图像。
在save data 中保存图像的数据,从程序中找到图像的首地址,保存数据的首地址为:OX80000000,图像的大小设置为720*288/4。
然后利用matlab程序读图像并计算框的面积大小的值。
读图程序:% dat文件是由CCS保存的数据文件% dat文件中每个像素用8bit表示,% 0x245A3654表示第一个像素的值为0x54;第二个像素的值为0x36% 第三个像素的值为0x5A;第四个像素的值为0x24% 本例以图像大小为640*240,请根据你的实际做修改% 在使用本程序前请手动删除dat文件的第一行clc;clear all;close all;imagedata=zeros(720,288);% ------------------------------- 低温---------------------------------------I = importdata('C:\Documents and Settings\Administrator\桌面\s1.dat');[M,N] = size(I);for i=1:720*288/4a=cell2mat(I(i));imagedata(i*4) = hex2dec(a(3:4));imagedata(i*4-1) = hex2dec(a(5:6));imagedata(i*4-2) = hex2dec(a(7:8));imagedata(i*4-3) = hex2dec(a(9:10));endimagedata = uint8(imagedata');imshow(imagedata,[0,720])用matlab计算面积值的程序:将图像中手势出现的范围截框,在算出像素点的值就是面积大小。