DSP技术及课程设计实验报告二(精)

合集下载

交通灯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课程设计实验报告

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实验报告定时器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技术课程设计实验报告

实验设计报告实验项目名称:基于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技术实习报告_实习报告_

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实验报告(二)

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技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称:拨码开关实验二、实验目的了解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实验报告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开发板上进行实时处理。

五、实验结果与分析通过以上实验,我们成功完成了信号采集与重构、滤波器设计与实现、频谱分析与频域处理以及音频处理与效果实现等一系列实验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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函数的值会改变定时器周期,使得指示灯闪烁的速度产生变化。

相关文档
最新文档