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课程设计实验语音信号的频谱分析:要求首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。
在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技术课程设计实验报告
实验设计报告实验项目名称:基于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实验报告――离散信号的产生及运算(精)
离散信号的产生(chǎnshēng)及运算报告一、实验(shíyàn)目的:1、复习(fùxí)和巩固数字信号处理中离散信号的产生和运算2、学习和掌握(zhǎngwò)用MATLAB产生离散信号的方法3、学习(xuéxí)和掌握用MATLAB对离散信号进行运算二、实验原理:1.用MATLAB函数产生离散信号信号是数字信号处理的最基本内容。
没有信号,数字信号处理就没了工作对象。
MATLAB7.0内部提供了大量的函数,用来产生常用的信号波形。
例如,三角函数(sin,cos),指数函数(exp),锯齿波函数(sawtooth), 随机数函数(rand)等。
1 产生被噪声污染的正弦信号用随机数函数产生污染的正弦信号。
2 产生单位脉冲序列和单位阶跃序列按定义,单位脉冲序列为单位阶跃序列为。
3 矩形脉冲信号:在MATLAB 中用rectpuls 函数来表示,其调用形式为:y=rectpuls(t,width,用以产生一个幅值为1,宽度为width,相对于t=0 点左右对称的矩形波信号,该函数的横坐标范围(fànwéi)由向量t 决定,是以t=0 为中心向左右各展开width/2 的范围,width 的默认值为1。
例:以t=2T(即t-2×T=0为对称中心的矩形脉冲信号(xìnhào)的MATLAB 源程序如下:(取T=1)t=0:0.001:4;T=1;ft=rectpuls(t-2*T,2*T;plot(t,ft;grid on; axis([0 4 –0.5 1.5];4 周期性矩形波(方波)信号在MATLAB 中用square 函数来表示,其调用形式为:y=square(t,DUTY,用以产生一个周期为2π、幅值为±1 的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值(zhènɡ zhí)所占的百分比。
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实验报告实验一:CCS入门实验实验目的:1. 熟悉CCS集成开发环境,掌握工程的生成方法;熟悉SEED-DEC643实验环境; 掌握CCS集成开发环境的调试方法。
2.学习用标准C 语言编写程序;了解TI CCS开发平台下的C 语言程序设计方法和步骤; 熟悉使用软件仿真方式调试程序。
3. 学习用汇编语言编写程序; 了解汇编语言与 C 语言程序的区别和在设置上的不同;了解TMS320C6000 汇编语言程序结果和一些简单的汇编语句用法学习在CCS 环境中调试汇编代码。
4. 在了解纯C 语言程序工程和汇编语言程序工程结构的基础上,学习在C 工程中加入汇编编程的混合编程方法; 了解混合编程的注意事项;理解混合编程的必要性和在什么情况下要采用混合编程5. 熟悉CCS集成开发环境,掌握工程的生成方法; 熟悉SEED-DEC643实验环境;掌握CCS集成开发环境的调试方法。
实验原理:CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力序。
使用此命令后,要重新装载.out 文件后,再执行程序。
使用 CCS常遇见文件简介1. program.c: C 程序源文件;2. program.asm: 汇编程序源文件;3. filename.h: C 程序的头文件,包含DSP/BIOS API模块的头文件;4. filename.lib: 库文件;5. project.cmd: 连接命令文件;6. program.obj: 由源文件编译或汇编而得的目标文件;7. program.out: 经完整的编译、汇编以及连接后生成可执行文件; 8. program.map: 经完整的编译、汇编以及连接后生成空间分配文件; 9.project.wks: 存储环境设置信息的工作区文件。
P.S(CMD文件中常用的程序段名与含义1. .cinit 存放C程序中的变量初值和常量;2. .const 存放C程序中的字符常量、浮点常量和用const声明的常量;3. .text 存放C程序的代码;4. .bss 为C 程序中的全局和静态变量保留存储空间;5. .far 为C 程序中用far声明的全局和静态变量保留空间;6. .stack 为 C 程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;7. .sysmem 用于 C 程序中malloc、calloc 和 realloc 函数动态分配存储空间。
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技术与应用课程设计报告
华北水利水电大学DSP技术及应用课程设计题目:基于DSP的FIR数字滤波器设计学院:信息工程学院专业:电子信息工程姓名:学号:201215523目录摘要 (3)一、设计要求和设计目的 (4)二、FIR滤波器理论研究 (4)三、CCS完成的流程示意图 (4)四、滤波器源程序: (7)五、通过,ATLAB设定滤波器参数 (8)六、生成.dat文件输入数据 (9)七、CCS滤波器实现 (10)八、扩展语音信号滤波观察 (12)九、心得与体会 (13)参考文献: (14)摘要FIR数字滤波器以其良好的线性特性被广泛应用于现代电子通信系统中,是数字信号处理的重要内容之一。
在实际信号处理中,往往要求系统兼具实时性和灵活性。
使用MATLAB实现FIR滤波器,既有很强的实时性,又兼顾了灵活性,为数字信号处理提供了一种很好的解决方案。
论文借助MATLAB工具箱,选择合适的窗函数,设计了两种FIR数字滤波器,给出了实现的设计流程和一般步骤,并对其进行了相关仿真分析,展望数字滤波器设计技术的未来。
关键字:FIR滤波器,MATLAB,CCS。
正文一、设计要求和设计目的1)利用数字信号处理理论设计一个滤波器;2)利用CCS实现滤波器;3)通过实际信号作用,验证滤波器是否达到设计目标;通过CCS集成开发环境,源程序采用C语言或者汇编语言实现一个FFR滤波器,实现FIR运算,结合数字信号处理理论知识,通过MATLAB设计一个低通滤波器的所有参数,生成一个C的头文件.h文件。
并且通过MATLAB产生一个语音信号或者三个频率不相同的正弦信号相叠加,生成一个.dat文件,输入到CCS集成开发环境中,运行程序,观察信号输入和输出的波形图和频谱变换,通过观察数值窗口,得到滤波之后的频率同输入进行比较,得到FIR的滤波性能。
二、FIR滤波器基本理论(1)FIR滤波器的特点数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。
它的实现方法有很多,其中比较常用到的是无限长脉冲响应滤波器IIR和有限长脉冲响应滤波器FIR 两种。
DSP实验报告2-数字信号处理
23 系 2012 级 丛松宇 PB12210075
3. clear; n=1:8; for i=1:4 x(i)=i; end for i=5:8 x(i)=9-i; end close all; subplot(2,4,1); stem(x);grid on; title('8 点三角波序列'); subplot(2,4,2); stem(abs(fft(x,8)));grid on; n=1:16; for i=9:16 x(i)=0; end subplot(2,4,3); stem(x);grid on; title('16 点三角波序列'); subplot(2,4,4); stem(abs(fft(x,16)));grid on; n=1:8; for i=1:4 x(i)=5-i; end
23 系 2012 级 丛松宇 PB12210075
1.② n=0:15; q=8;p=8; x=exp(-1*(n-p).^2/q); close all; subplot(3,2,1); stem(x),grid on title('q=8,p=8 的时域特性'); subplot(3,2,2); stem(abs(fft(x))),grid on;title('频域特性'); q=8;p=13; x=exp(-1*(n-p).^2/q); subplot(3,2,3); stem(x),grid on title('q=8,p=13 的时域特性'); subplot(3,2,4); stem(abs(fft(x))),grid on;title('频域特性'); q=8;p=14; x=exp(-1*(n-p).^2/q); subplot(3,2,5); stem(x),grid on title('q=8,p=14 的时域特性'); subplot(3,2,6); stem(abs(fft(x))),grid on;title('频域特性');
DSP原理及应用课程设计实验报告
学院:信息与电气工程学院班级:电信081 姓名:学号:课程:DSP原理及应用实验日期:_____年月日成绩:实验一开发环境建立一、实验目的(1) 学会CCS软件的安装方法。
(2) 熟悉CCS集成开发环境,掌握工程的生成方法。
(3) 熟悉CCS常用菜单的使用。
(4) 掌握CCS集成开发环境的调试方法。
二、实验原理CCS是进行DSP开发的一个集成环境,它是在 WINDOWS系统下工作的一个软件,通过该软件,我们可以进行DSP程序及系统的开发。
CCS提供了配置、建立、调试、跟踪和分析程序的工具,是进行DSP开发的常用工具,它是在WINDOWS系统下工作的一个软件,通过该软件,我们可以进行DSP程序的编辑及系统的开发。
3. 实验仪器和设备(1) 主机1台(2) 仿真器1台(3) 主机1台三、实验内容及步骤3.1 CCS 安装双击Code Composer Studio 图标;按照光标与提示依次执行,最后安装完成后重启计算机。
3.2 SEED-XDS510PLUS 的驱动安装1、将SEED-XDS510PLUS 仿真器的USB 插头插入PC 机的USB 插槽中,启动计算机后识别SEED-XDS510PLUS 硬件,识别后安装其驱动程序。
2.按照提示依次执行,同时默认路径为CCS 的安装路径。
3.安装完毕后打开控制面板查看系统中的设备管理器,出现如下结果,证明硬件连接成功。
学院:信息与电气工程学院班级:电信081 姓名:学号:课程:DSP原理及应用实验日期:_____年月日成绩:4.将仿真器JTAG 插头与实验箱主控板SEED-DEC6713 的JTAG 插头J1 相连,打开实验箱电源开关。
观察SEED-DTK_MBoard 单元的+5V、+3.3V、+15V、-15V 的电源指示灯以及SEED-DEC6713 的D2 与D4 的电源指示灯均亮。
5.双击usb20rest.exe,如下图。
可以对仿真器进行复位:3.3 驱动程序的配置1.双击桌面上的Setup CCS 2(6000)。
DSP课程设计实验报告
目录1.实验一指示灯演示 (3)2.实验二键盘输入 (7)3.实验三液晶显示器控制显示 (11)4.实验四FIR/IIR 算法 (18)实验一指示灯演示一.实验目的1.了解ICETEK–VC5509-A板在TMS320VC5509DSP外部扩展存储空间上的扩展。
2.了解ICETEK–VC5509-A板上指示灯扩展原理。
3.学习在C语言中使用扩展的控制寄存器的方法。
二.实验设备计算机,ICETEK-VC5509-A实验箱(或ICETEK仿真器+ICETEK–VC5509-A系统板+相关连线及电源)。
三.实验原理1.TMS320VC5509DSP的EMIF接口:存储器扩展接口(EMIF)是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和寄存器映射的外设。
ICETEK–VC5509-A评估板在EMIF接口上除了扩展了片外SDRAM外,还扩展了指示灯、DIP开关和D/A设备。
具体扩展地址如下:400800-400802h:D/A转换控制寄存器400000-400000h:板上DIP开关控制寄存器400001-400001h:板上指示灯控制寄存器与ICETEK–VC5509-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:602800-602800h:读-键盘扫描值,写-液晶控制寄存器600801-600801h:液晶辅助控制寄存器602801h 、600802h:液晶显示数据寄存器602802-602802h:发光二极管显示阵列控制寄存器2.指示灯扩展原理:四.实验程序流程图五.实验程序编写/*实现每个灯分别亮一段时间,正向顺序和反向顺序亮灯,乱序亮灯,两个灯乱序同时亮灭,四个灯产生频谱效果,单个灯闪烁*/#include "myapp.h"#define LBDS (*((unsigned int *)0x400001))// 定义指示灯寄存器地址和寄存器类型void Delay(unsigned int nDelay); // 延时子程序main(){unsigned int uLED[10]={1,2,4,8,5,10,6,9,1,0};// 控制字,逐位置1unsigned int vLED[20]={7,15,1,7,3,7,15,7,3,1,0,1,7,3,15,7,1,7,0,1};// 控制字,逐位置2int i,j;PLL_Init(72); // 初始化DSP运行时钟SDRAM_init(); // 初始化EMIF接口while ( 1 ){i=0;j=0; //每个灯亮一遍,时间偏长,检查灯是否完好LBDS=uLED[i+3]; //4灯亮Delay(8192);LBDS=uLED[i+2]; //3灯亮Delay(8192);LBDS=uLED[i+1]; //2灯亮Delay(8192);LBDS=uLED[i]; //1灯亮Delay(8192);for ( i=0;i<4;i++ ){LBDS=uLED[i]; // 正向顺序送控制字Delay(1024); // 延时}for ( i=3;i>=0;i-- ){LBDS=uLED[i]; // 反向顺序送控制字Delay(1024); // 延时}for ( i=0;i<2;i++) //按1-3-2-4顺序亮灯{j=i+2;LBDS=uLED[i];Delay(2048);LBDS=uLED[j];Delay(2048);}for ( i=4;i<6;i++) //1、3灯与2、4灯交替亮{LBDS=uLED[i];Delay(4096);}for ( i=0;i<10;i++) //23灯,14灯循环亮{for(j=6;j<8;j++){LBDS=uLED[j];Delay(1024);}}for(i=0;i<20;i++) //频谱效果{LBDS=vLED[i];Delay(512);}for(i=0;i<15;i++) //一个灯闪烁{for(j=8;j<10;j++){LBDS=uLED[j];Delay(256);}}}}void Delay(unsigned int nDelay) //延时子程序{int ii,jj,kk=0;for ( ii=0;ii<nDelay;ii++ ){for ( jj=0;jj<1024;jj++ ){kk++;}}}六.实验步骤1.实验准备:连接实验设备。
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实验报告班级:11050641学号:姓名:指导教师:实验一、二 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。
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课程设计实验报告
基于MATLAB的音乐信号处理和分析一、设计题目:基于MATLAB 的音乐信号处理和分析二、设计目的:通过对音乐信号的采样、抽取、调制、解调等多种处理过程的理论分析和MATLAB实现进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;对已掌握的基本理论和分析方法知识得到进一步扩展;增强软件编程实现能力和解决实际问题的能力。
三、课程设计内容:1、音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;③使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
2、音乐信号的抽取(减抽样)①观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠);②输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释;③播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。
3、音乐信号的AM调制①观察音乐信号频率上限,选择适当调制频率对信号进行调制(给出高、低两种调制频率);②输出调制信号的波形和频谱,观察现象,给出理论解释;③播放调制音乐信号,注意不同调制频率下的声音,解释现象。
4、AM调制音乐信号的同步解调①设计巴特沃斯IIR滤波器完成同步解调;观察滤波器频率响应曲线;②用窗函数法设计FIR滤波器完成同步解调,观察滤波器频率响应曲线;(要求:分别使用矩形窗和布莱克曼窗,进行比较);③输出解调信号的波形和频谱,观察现象,给出理论解释;④播放解调音乐信号,比较不同滤波器下的声音,解释现象。
5、音乐信号的滤波去噪①给原始音乐信号叠加幅度为0.05,频率为3kHz、 5kHz、8kHz的三余弦混合噪声,观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;②给原始音乐信号叠加幅度为0.5的随机白噪声(可用rand语句产生),观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;③根据步骤①、②观察到的频谱,选择合适指标设计滤波器进行滤波去噪,观察去噪后信号音谱和频谱,并播放音乐,解释现象。
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函数的值会改变定时器周期,使得指示灯闪烁的速度产生变化。