DSP技术及课程设计实验报告二(精)
交通灯DSP上课实验报告(精)
一、课题名称 DSP实验—按键弹奏音乐及显示二、实验目的在硬件上,通过实验了解ICETEK –VC5509-A 评估板技术指标以及原理图和实物图。
对于试验箱的链接和使用及其原理,也有了一定的了解;在软件上,熟悉了DSP 开发集成环境Code Composer Studio的使用,了解Code Composer Studio3.1 软件的操作环境和基本功能以及DSP 开发系统和计算机与目标系统的连接方法。
学会了基本的编译和调试功能、观察窗口的使用。
三、实验内容及设计思想本次试验,主要完成了通过按键来弹奏音乐,单独按下1-6时,分别弹奏不同的音调,并且在液晶显示屏上显示相应的数字,当按下按键9时,自动弹奏一首指定的音乐,然后自动退出程序。
四、实验设备计算机,ICETEK-VC5509-A 实验箱(或ICETEK 仿真器+ICETEK-VC5509-A 系统板+相关连线及电源)。
DSP 教学实验箱结构图ICETEK –VC5509-A 原理框图五、实验原理1.EMIF 接口:TMS320C5509DSP 的扩展存储器接口(EMIF用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。
这一接口提供地址连线、数据连线和一组控制线。
ICETEK-VC5509-A 将这些扩展线引到了板上的扩展插座上供扩展使用。
2.蜂鸣器:蜂鸣器由DSP 通用I/O 管脚输出控制,可将此管脚上的频率输出转换成声音输出。
5509A 的通用I/O 口S13 控制蜂鸣器的输出频率。
控制的方法是使用DSP 通用定时器设置S13 以一定的频率改变高低状态,输出方波。
对于通用定时器周期寄存器的设置,计数值为所需频率计数值的二分之一。
音乐的频率(C 调:C D E F G A B ^C1 2 3 4 5 6 7 ^1C: 264,297,330,352, 396,440,495,5283.蜂鸣器的连接:由于选用的蜂鸣器所需电流较小,所以采用将DSP 通用I/O 引脚直接驱动的方式。
dsp课程设计实验报告
DSP课程设计实验语音信号的频谱分析:要求首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。
在MATLAB中, 可以利用函数fft对信号进行快速傅立叶变换, 得到信号的频谱特性, 从而加深对频谱特性的理解。
其程序为:>> [y,fs,bits]=wavread('I:\xp.wav',[1024 5120]);>> sound(y,fs,bits);>> Y=fft(y,4096);>> subplot(221);plot(y);title('原始信号波形');>> subplot(212);plot(abs(Y));title('原始信号频谱');程序运行结果为:设计数字滤波器和画出频率响应:根据语音信号的特点给出有关滤波器的性能指标:低通滤波器性能指标, =1000Hz, =1200Hz, =100dB, =1dB;高通滤波器性能指标, =4800Hz, =5000Hz, =100dB, =1dB;带通滤波器性能指标, =1200Hz, =3000Hz, =1000Hz, =3200Hz, =100dB, =1dB;要求学生首先用窗函数法设计上面要求的三种滤波器, 在MATLAB中, 可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器, 在MA TLAB中, 可以利用函数butte、cheby1和ellip设计IIR滤波器;最后, 利用MATLAB中的函数freqz画出各种滤波器的频率响应, 这里以低通滤波器为例来说明设计过程。
低通:用窗函数法设计的低通滤波器的程序如下:>> fp=1000;fc=1200;As=100;Ap=1;fs=22050;>> wc=2*fc/fs;wp=2*fp/fs;>> N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1;>> beta=0.1102*(As-8.7);>> Win=Kaiser(N+1,beta);>>b=firl(N,wc,Win);>>freqz(b,1,512,fs);程序运行结果:这里选用凯泽窗设计, 滤波器的幅度和相位响应满足设计指标, 但滤波器长度(N=708)太长, 实现起来很困难, 主要原因是滤波器指标太苛刻, 因此, 一般不用窗函数法设计这种类型的滤波器。
DSP实验报告定时器2
实验二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技术课程设计实验报告
实验设计报告实验项目名称:基于DSP的数字滤波器设计与仿真目录一、课程设计的目的和要求 (3)二、系统功能介绍及总体设计方案 (3)1、系统功能介绍 (3)2、总体设计方案流程图 (3)三、主要内容和步骤 (4)1、滤波器原理 (4)2、DSP 实现FIR滤波的关键技术 (4)3.操作步骤 (6)四、详细设计 (7)1、MATLAB程序流程图 (7)2、CCS汇编程序流程图 (8)五、实验过程 (8)1.汇编语言 (8)2.C语言 (13)六、结论与体会 (18)七、参考文献 (19)八、附件:源程序清单 (19)汇编程序清单: (19)C程序清单 (21)一、课程设计的目的和要求通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。
学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。
二、系统功能介绍及总体设计方案1、系统功能介绍一个实际的应用系统中,总存在各种干扰。
数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。
在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。
设定模拟信号的采样频率为32000Hz,。
设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: Fs=40000Hz通带: 4000Hz~4500Hz过渡带: 2500Hz~3000Hz,3500Hz~4000Hz带内波动: 0.5dB阻带衰减: 50dB滤波器级数: N=154滤波器系数:由MATLAB根据前述参数求得。
2、总体设计方案流程图三、主要内容和步骤1、滤波器原理对于一个FIR 滤波器系统,它的冲击响应总是又限长的,其系统函数可记为:其中N-1是FIR 的滤波器的阶数,为延时结,为端口信号函数。
DSP技术实习报告_实习报告_
DSP技术实习报告一、实习题目1、灰度线性变换2、灰度的对数变换3、锯齿波变换4、图像剪取二、:1、巩固和深化数字图像处理技术所涉及的数理基础、基本算法和各种图像处理技术方法,学习和掌握图像变换。
2、对学习图像处理的基础知识对其应用工程实践有一定的认识,提高学生对应用软件的使用能力。
3、通过理论联系实际,综合运用所学知识,提高学生独立分析和解决实际问题的能力,增强学生的工程意识,打好专业基础三、实习要求:1、能够根据设计题目要求查阅检索有关的文献资料,结合题目选学有关参考书;2、熟悉计算机图像处理的设计方法;3、熟悉图像灰度变换程序的设计方法;4、掌握图像灰度变换的仿真方法;5、完成图像的灰度变换。
四、系统原理描述:灰度变换将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应的输入像素点的值决定。
它常用于改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。
灰度变换因其作用性质有时也被称为对比度增强、对比度拉伸或点运算,称之为灰度变换。
灰度变换实际上是灰度到灰度的映射过程。
设输入图像为A(x,y)输出图像为B(x,y),则灰度变换可表示为:即灰度变换完全由灰度映射函数决定。
显然灰度变换不会改变图像内像素点之间的空间关系。
1. 灰度线性变换设图像灰度值f(x,y)的可能值域为D,但在一定条件下,使得其取值范围缩小为且如图7-11所示,这种状态常出现于连续图f(x,y)值的动态范围小,或摄影曝光不足中,因而其对应的直方图P (D)如图所示,集中于某个较小的灰度区间内。
但是通常人们希望灰度直方图在全部灰度区域内均匀分布,最简单地是把低反差图像进行灰度变换得到高反差图像,即线性变换,如下式:该式可以使变换后的灰度的取值范围扩大到一般来说,只有当两个相邻像素的灰度值(亮度值)相差到一定程度时,人的视觉才能分辨。
若灰度值D仅在较小区间内时,则人眼可分辨的亮度差的总级数则亦很少,从而造成目标图像灰度值与背景灰度值相接近,人眼而无法分辨检出。
DSP实验报告(二)
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变换在单位圆上的等距采样,或者说是序列傅立叶变换的等距采样。
DSP技术 实验二报告模板
《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实验报告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实验报告2(精)
实验报告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\目录。
DSP实验报告
DSP课程设计实验报告学院班级姓名学号指导教师2010年 6月课程设计第一部分:学习程序实例[实验4.1] 卷积运算一、 实验目的1. 掌握卷积运算的基本原理;2. 掌握用C 语言编写DSP 程序的方法。
二、 实验设备1. 一台装有CCS 软件的计算机;2. DSP 实验箱的TMS320C5410主控板;3. DSP 硬件仿真器。
三、 实验原理卷积是数字信号处理中经常用到的运算。
其基本的表达式为:()()()∑=-=nm 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; //10n=45; //40修改了for循环:for(i=0;i<n;i++){x[i]=2; //1y[i]=i+1; //i绘制出更改之后r的波形图:[实验4.3] 快速傅里叶变换(FFT) 实现一、实验目的1. 掌握FFT算法的基本原理;2. 掌握用C语言编写DSP程序的方法。
DSP实验报告2
一、实验目的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。
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课程的实用性和趣味性。
实验二基本算数运算2.1 实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。
DSP课程设计报告(精)
DSP课程设计实验报告语音压缩、存储与回放成绩:工程设计50报告20答辩30总分、—评语:指导教师签字:日期:一、实验背景与内容语音通信是现代多媒体通信中一个重要的组成部分,而语音信号是信息的重要形式, 语音信号处理有着广泛的应用领域,同时语音压缩在语音信号的传输、存储等方面有非常广泛的作用,而且在通信领域中已经有较成熟的发展和广泛应用。
本设计要求采用DSP及其A/D、D/A转换器进行语音信号的压缩、存储和回放。
语音的数字通信无论在可靠性、抗干扰能力、保密性还是价格方面都远优于模拟语音信号,但这是以信道占用宽频带宽为代价的。
因此为了减少语音信号所占用的带宽或存储空间,就必须对数字语音信号进行压缩编码。
一个优秀的语音压缩系统要求能够在软硬件资源占用比例低和压缩编解码时间短的同时,可以实现多通道语音实时压缩。
【DSP仿真器用于DSP的在线调试开发,可以通过软件在线控制DSP的运行状态,并能够查看DSP内部寄存器。
PC是开发人员和DSP系统之间的交互界面,通过PC上安装的CCS集成开发环境,开发人员可以在友好的图形界面下对目标系统进行操作。
本次实验采用DSP C5402实验板实现语音信号的压缩解压的。
SEED-VC5402 DSK实验板上集成了SRAM,FLASH,音频输入输出接口等部件。
二、实验目的1、应用DSP算法实现对语音信号的压缩、存储和回放。
2、熟悉使用C语言编写较复杂的程序;3、熟悉C语言对外设(DSK板或示波器)的访问(软件编程、硬件连接);4、熟练使用软件CCS5000对程序的完整调试过程。
三、实验设计要求及目标>1要求(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用、等语音压缩算法。
(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM存储器中,存储时间不小于10秒。
(3)存储器存满之后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
DSP 实验报告
东南大学DSP技术及课程设计BLDCM的速度控制实验报告东南大学自动化学院实验报告课程名称:DSP技术及课程设计实验名称:直流无刷电机控制综合实验院(系):专业:自动化姓名:学号:实验室:实验组别:同组人员:实验时间:评定成绩:审阅教师:目录一.实验目的 (3)二.实验原理 (3)三.几大模块分析 (8)四.核心代码注释 (15)五.实验总结及展望 (19)(一)实验目的利用F28335核心板与ICETEK-MOTOR-E运动控制板,实现直流无刷电机的驱动。
本次实验的目标是:通过实验,验证霍尔传感器指示灯与捕获端口读取的状态是否一致,总结出电机正转和反转霍尔传感器捕获端口读取的状态的变化顺序。
通过利用ti的bldc提供的库,给pwm状态指针赋值,观察电机转动状态,和与霍尔传感器状态的对应关系,使之能够总结出使电机正转,和反转的pwm指针变化顺序,霍尔传感器捕获数据的变化顺序。
通过总结的变化顺序,能够自行控制电机正转,反转。
和锁定状态。
利用F28335核心板与ICETEK-MOTOR-E运动控制板,实现直流无刷电机的驱动与转速控制,利用小键盘或电位器对直流无刷电机进行转速调节,并利用液晶屏显示转速等状态信息。
具体要求:1. 基本功能①掌握F28335核心板与ICETEK-MOTOR-E运动控制板的使用方法,接线正确,能捕获并证实霍尔传感器状态变化规律;②能正确总结出正/反转控制表,从而控制电机正转/反转;③能通过修改占空比,用示波器观察pwm口输出波形的变化。
2. 提高功能①能通过阅读学习“ICETEK-Motor-E使用说明书.pdf”,发现ICETEK-MOTOR-E运动控制板中的电位器信号,编制程序从DSP相应的ADC输入端口采集该电位器信号,能用CCS图形显示AD变换结果曲线;②能编制程序,利用AD变换结果调节PWM占空比,从而对直流无刷电机进行调速;③能设计基本的人机接口软件,即编制程序,利用小键盘进行正转、反转、停止功能选择,利用液晶屏显示(示意)正转、反转、停止等状态信息,并可自行扩展其它辅助功能。
DSP实验报告(精)
DSP上机实验:DTMF信号的编码一、实验要求设计作业:双音多频(DTMF)信号的编码:把自己的电话号码DTMF编码生成为一个.wav文件。
【wavwrite()】技术指标:根据ITU Q.23建议,DTMF信号的技术指标是:传送/接收率为每秒10个号码,或每个号码100ms。
每个号码传送过程中,信号存在时间至少45ms,且不多于55ms,100ms的其余时间是静音。
在每个频率点上允许有不超过±1.5%的频率误差。
任何超过给定频率±3.5%的信号,均被认为是无效的,拒绝接收。
二、实验思想:1、编码:DTMF拨号键盘由一个4*4行列构成,每列代表一个高频信号,每行代表一个低频信号,每当按下一个键时,产生高、低频率的两个正弦信号,代表一个特定的数字或符号,根据ITU Q.23颁布的国际标准,DTMF传送或接受每个号码的时间为100ms,其中每个号码传送的过程中,信号存在时间至少45ms,其余时间静音。
用一个字符串变量来接受输入的电话号码,并将各个数字和符号的ASCII码用一个4*4矩阵表示,每接收到一个数字就对应两个频率,并产生由两个正弦波叠加的信号,完成DTMF编码,利用matlab提供的fft函数画出其频谱,用sound函数发出声音。
2、解码:采用Goertzel算法来检测DTMF信号,它是用IIR滤波器实现DFT算法的一种特殊方法,在实际DTMF解码中,只需要知道输入信号即DTMF信号的离散傅里叶变换X(k)的幅度信息,忽略相位信息,因为只要能得到8个特定频率点的幅度值,看哪两个频率对应的幅度最大,就能知道对应的是哪个数字,达到解码的目的,可以利用matlab提供的goertzel函数来对信号解码。
三、实验代码:d=input('请键入电话号码: ','s');sum=length(d);total_x=[];sum_x=[];sum_x=[sum_x,zeros(1,800)];for a=1:sumsymbol=abs(d(a));tm=[49,50,51,65;52,53,54,66;55,56,57,67;42,48,35,68]; for p=1:4;for q=1:4;if tm(p,q)==abs(d(a));break,endendif tm(p,q)==abs(d(a));break,endendf1=[697,770,852,941];f2=[1209,1336,1477,1633];n=1:400;x=sin(2*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000); x=[x,zeros(1,400)]; sum_x=sum_x+x;total_x=[total_x,x];endwavwrite(total_x,'soundwave')sound(total_x);t=(1:8800)/8000;subplot(2,1,1);plot(t,total_x);axis([0,1.2,-2,2]);xlabel('时间/s')title('DTMF信号时域波形')xk=fft(x); mxk=abs(xk);subplot(2,1,2);k=(1:800)*sum*8000/800;plot(k,mxk); xlabel('频率');title('DTMF信号频谱');disp('双频信号已生成并发出')四、实验结果图:请键入电话号码: 130xxxxxxxx。
dsp课程设计实验
dsp课程设计实验一、教学目标本课程的教学目标是让学生掌握数字信号处理(DSP)的基本理论、方法和应用,培养学生运用DSP技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握数字信号处理的基本概念、原理和算法。
(2)了解DSP芯片的性能、结构和编程方法。
(3)熟悉信号处理软件工具的使用。
2.技能目标:(1)能够运用DSP算法进行信号处理。
(2)具备使用DSP芯片进行程序设计和系统实现的能力。
(3)学会使用信号处理软件工具进行仿真和分析。
3.情感态度价值观目标:(1)培养学生的团队合作精神和创新意识。
(2)增强学生对DSP技术的兴趣和信心。
(3)培养学生关注社会热点,运用DSP技术解决实际问题的责任感。
二、教学内容本课程的教学内容主要包括以下几个部分:1.数字信号处理基本理论:采样理论、离散时间信号处理、数字滤波器设计等。
2.DSP芯片及其编程:DSP芯片的结构、指令系统、编程方法等。
3.信号处理算法实现:FFT、IIR、FIR滤波器设计及其实现。
4.信号处理软件工具的使用:MATLAB、Simulink等。
5.实际应用案例分析:语音处理、图像处理、通信系统等。
三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:用于传授基本理论、原理和方法。
2.讨论法:鼓励学生积极参与,培养团队合作精神和创新意识。
3.案例分析法:分析实际应用案例,加深学生对理论知识的理解。
4.实验法:动手实践,提高学生运用DSP技术解决实际问题的能力。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选用国内外优秀教材,如《数字信号处理》(郑维民编著)等。
2.参考书:提供相关领域的经典著作和最新研究成果,供学生自主学习。
3.多媒体资料:制作课件、教学视频等,丰富教学手段。
4.实验设备:配置DSP开发板、仿真器等实验设备,为学生提供实践平台。
通过以上教学设计,我们期望学生能够在本课程中掌握数字信号处理的基本知识和技能,培养实际应用能力,为未来的学习和研究工作打下坚实基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东南大学自动化学院
实验报告
课程名称: D SP 原理及C 程序开发
第二次实验
实验名称:基于DSP 系统的实验——指示灯、拨码开关和定时器院(系):自动化专业:自动化
姓名:学号:
实验室:实验组别:
同组人员:实验时间:2012 年 4 月 18日
评定成绩:审阅教师:
第一部分实验:基于DSP 系统的实验——指示灯和拨码开关
一.实验目的
1. 了解ICETEK –F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。
2. 了解ICETEK –F28335-A 评估板上指示灯和拨码开关扩展原理。
3. 学习在C 语言中使用扩展的控制寄存器的方法。
二.实验设备
计算机,ICETEK –F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 评估板+相关连线及电源)。
三.实验原理
1.TMS320F28335DSP 的存储器扩展接口
存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。
-ICETEK –F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。
具体扩展地址如下:
0x180004- 0x180005:D/A 转换控制寄存器
0x180001:板上DIP 开关控制寄存器
0x180000:板上指示灯控制寄存器
-与ICETEK –F28335-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备:
208000-208004h :读-键盘扫描值,写-液晶控制寄存器
208002-208002h :液晶辅助控制寄存器
208003-208004h :液晶显示数据寄存器
2.指示灯与拨码开关扩展原理
图1指示灯扩展原理
图2拨码开关扩展原理
四.实验步骤
LED 程序如下:
#define LED (*(unsigned short int *0x180000 for(;;
{
LED=0x01; Delay(1000; LED=0x02;
Delay(1000;
LED=0x04;
Delay(1000;
LED=0x08;
Delay(1000;
}
开关程序如下;
#define SW (*(unsigned short int *0x180001 for(;;
{
LED=SW;
}
五.实验结果
可知:映射在扩展存储器空间地址上的指示灯寄存器在设置时是低4位有效的,数据的最低位对应指示灯D1,次低位对应D2,... 依次类推。
LED 灯以流水灯的形式闪灭。
可知:映射在扩展存储器空间地址上的拨码开关控制寄存器在回读时是低4位有效的,数据的最低位对应拨码开关1,次低位对应2,... 依次类推。
拨动开关对应的LED 灯随开关闪灭。
程序二中的led 灯与拨码开关不是正向对应的,而是相反的。
六. 问题与思考
ICETEK –F28335-A 评估板上的指示灯控制寄存器是可读可写的,请问用什么办法可以回读指示灯状态?
答:可以将指示灯控制寄存器的数据传递给一个参数,将参数输出,可以根据二进制数据的后四位知道指示灯的状态。
第二部分实验:基于DSP 系统的实验——定时器
一.实验目的
1.通过实验熟悉F28335A 的定时器;
2.掌握F28335A 定时器的控制方法;
3.掌握F28335A 的中断结构和对中断的处理流程;
4.学会C 语言中断程序设计,以及运用中断程序控制程序流程。
二.实验设备
计算机,ICETEK-F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 系统板
+
相关连线及电源)。
三.实验原理
1.通用定时器介绍及其控制方法
TMS320F28335A 内部有三个32 位通用定时器(TIMER0/1/2),定时器1 和2 被保留给实时操作系统(DSPBIOS )用,只有定时器0 可以提供给用户使用。
2.中断响应过程
a .接受中断请求。
必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。
b .响应中断。
必须能够响应中断请求。
如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去执行。
而对于非可屏蔽中断和软件中断,会立即作出响应。
c .准备执行中断服务程序并保存寄存器的值。
d .执行中断服务子程序。
调用相应得中断服务程序ISR ,进入预先规定的向量地址,并且执行已写好的
ISR 。
3.中断类别
可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。
不可屏蔽中断:这些中断不能够被屏蔽,将立即响应该类中断并转入相应的子程序去执行。
所有软件调用的中断都属于该类中断。
4.中断的优先级
如果多个中断被同时激发,将按照他们的中断优先级来提供服务。
中断优先级是芯片内部已定义好的,不可修改。
四.实验步骤
打开工程文件Lab303-Timer 目录中的“Timer.pjt ”。
编译下载运行,观察指示灯在定时器的定时中断中按照设计定时闪烁(流水)。
改变CpuTimer0Regs.PRD. all = 0xffff函数里的值,观察实验现象。
初始化LED =0,m=0;
修改中断服务程序如下:
interrupt void cpu_timer0_isr(void
{
CpuTimer0.InterruptCount++;
m++;
// Acknowledge this interrupt to receive more interrupts from group 1
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
CpuTimer0Regs.TCR.bit.TIF=1;
CpuTimer0Regs.TCR.bit.TRB=1;
if(m >100
{
m=0
LED=(~ LED;
}
}
五.实验结果程序实现LED定时亮灭,但是因为定时器本身设定的周期比较小,所以在100个中断过程后才执行一次具体的任务,,使得指示灯变化。
改变CpuTimer0Regs.PRD. all函数的值会改变定时器周期,使得指示灯闪烁的速度产生变化。