DSP第三次实验报告

合集下载

dsp原理与应用实验报告总结

dsp原理与应用实验报告总结

dsp原理与应用实验报告总结DSP(Digital Signal Processing)数字信号处理是利用数字技术对信号进行处理和分析的一种方法。

在本次实验中,我们探索了DSP的原理和应用,并进行了一系列实验以验证其在实际应用中的效果。

以下是对实验结果的总结与分析。

实验一:数字滤波器设计与性能测试在本实验中,我们设计了数字滤波器,并通过性能测试来评估其滤波效果。

通过对不同类型的滤波器进行设计和实现,我们了解到数字滤波器在信号处理中的重要性和应用。

实验二:数字信号调制与解调本实验旨在通过数字信号调制与解调的过程,了解数字信号的传输原理与方法。

通过模拟调制与解调过程,我们成功实现了数字信号的传输与还原,验证了调制与解调的可行性。

实验三:数字信号的傅里叶变换与频谱分析傅里叶变换是一种重要的信号分析方法,可以将信号从时域转换到频域,揭示信号的频谱特性。

本实验中,我们学习了傅里叶变换的原理,并通过实验掌握了频谱分析的方法与技巧。

实验四:数字信号的陷波滤波与去噪处理陷波滤波是一种常用的去除特定频率噪声的方法,本实验中我们学习了数字信号的陷波滤波原理,并通过实验验证了其在去噪处理中的有效性。

实验五:DSP在音频处理中的应用音频处理是DSP的一个重要应用领域,本实验中我们探索了DSP在音频处理中的应用。

通过实验,我们成功实现了音频信号的降噪、均衡和混响处理,并对其效果进行了评估。

实验六:DSP在图像处理中的应用图像处理是另一个重要的DSP应用领域,本实验中我们了解了DSP在图像处理中的一些基本原理和方法。

通过实验,我们实现了图像的滤波、边缘检测和图像增强等处理,并观察到了不同算法对图像质量的影响。

通过以上一系列实验,我们深入了解了DSP的原理与应用,并对不同领域下的信号处理方法有了更深刻的认识。

本次实验不仅加深了我们对数字信号处理的理解,也为日后在相关领域的研究与实践提供了基础。

通过实验的结果和总结,我们可以得出结论:DSP作为一种数字信号处理的方法,具有广泛的应用前景和重要的实际意义。

dsp实验报告3

dsp实验报告3

数字信号处理实验报告姓名:实验六 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滤波器的设计方法主要有窗函数法、频率抽样法和切比雪夫逼近法三种。

DSP综合实验报告

DSP综合实验报告

基于DSP的三段式电流保护综合实验基于DSP的三段式电流保护一、实验目的:1.通过DSP程序的设计模拟继电保护跳闸实验,进一步了解DSP在继电保护中的应用。

2.理论与实践相结合,强化学生的工程实际能力。

3.通过具体电路的设计和调试,加深对电力系统微机保护整个流程的理解,锻炼运用常用算法编程解决问题的能力。

4.通过实验线路的设计,计算及实际操作,使理论与实践相结合,增加感性认识,使书本中的知识更加巩固。

培养动手能力,增强对DSP运用的能力,培养分析查找故障的能力。

二、硬件电路:2·1实验设备DSP板、仿真器、直流电源、吸锡器、电烙铁、万用表,示波器、调压器、灯泡、螺丝刀、导线若干2·2 DSP芯片F2812介绍DSP2812功能比单片机强大的多,TMS320F2812 是美国TI 公司推出的C2000 平台上的定点32 位DSP 芯片,适合用于工业控制,电机控制等,用途广泛,应该相当于单片的升级版。

运行时钟也快可达150MHz,处理性能可达150MIPS,每条指令周期6.67ns。

IO口丰富,对用户一般的应用来说足够了。

两个串口。

具有12位的0~3.3v的AD转换等。

具有片内128k×16位的片内FLASH,18K ×16 位的SRAM,一般的应用系统可以不要外扩存储器。

(1).ADC编程TMS320F2812带有两个8选1多路切换器和双采样/保持器的12位ADC,模拟量输入范围为 0~3V,最快转换速率为80ns,选用10kSPS采样率,并采用EVA 的定时器(0.1ms)自动触发方式,可同时采样4个通道,并采用每次转换结束的中断方式来纪录采样结果(右移4位)。

转换结果=(212-1)×(输入的模拟信号-ADCLO)/3 ADC转换时,首先初始化DSP系统,然后设置PIE中断矢量表,再初始化ADC模块,接着将ADC中断的入口地址装入中断矢量表并开中断,然后再启动0.1ms定时器,同时等待ADC中断,最后在ADC中断中读取ADC转换结果,并用软件启动下一次中断。

DSP实验报告 3

DSP实验报告 3

实验三定点定标运算一程序分析分析程序的结构和功能,对每条指令进行注释,写出执行结果。

.title "example41.asm".mmregs ;enable memory mapped registersstack .usect "STACK",10h ;set stack section.bss x1,2.bss y,2.bss s1,2.bss z,2table1: .word 35*32768/100 ;0.35的Q15定标.word 9*32768/10 ;0.9的Q15定标.word 0.word 0table2: .word 762*4096/100 ;7.62的Q12定标.word 184*16384/100 ;1.84的Q14定标.def _c_int00;------------------------------------------------------------------------------ .text_c_int00:stm #stack+10h, SP; stm #0x00a8, PMSTstm #0x0000, SWWSRSSBX FRCT ;求y=x1×x2=0.35×0.9=0.315STM #x1,AR2RPT #3MVPD table1,*AR2+STM #x1,AR4STM #x1+1,AR5MPY *AR4,*AR5,ASTH A,yRSBX FRCT ;求z=s1×s2=7.62×1.84=14.0208STM #s1,AR2RPT #1MVPD table2,*AR2+STM #s1,AR4STM #s1+1,AR5MPY *AR4,*AR5,ADST A,zNOPNOP.end二调试说明总结上机调试步骤和调试情况,说明调试中遇到的问题是如何解决的。

三总结定点数定标的方法,总结将十进制数转换为Q 定标的十六进制数的方法。

DSP实验报告3

DSP实验报告3

一种有效的语音信号变调算法及其DSP实现一、实验目的熟悉TMS320VC5402指令体系,熟悉实验开发板的硬件组成,并开发应用程序二、实验设备TMS320VC5402实验板一套,ICETEC_5100USB仿真器一套,电源一个三、实验内容1.使用到的硬件介绍TMS320VC5402是TI公司推出的新一代定点数字信号处理器,采用先进的修正哈佛结构,在片存储器和在片外围电路等硬件,具有功耗低、高度并行等优点。

EPM7128QC100-10是ALTRA公司生产的高性能基于EEPROM可编程逻辑器件,S系列支持JTAG调试,片内可使用门2500个,128个宏单元,10ns响应延迟,引脚电压3.3/5.0V可控等性能。

AD/DA转换使用的是TI公司生产的高性能CODEC芯片,支持模拟电路接口和商业应用,16位宽AD/DA转换,串行编程,89dB信噪比,最高转换频率22.05KHz。

2.程序算法本实验程序的目的是进行声音的变调处理(包括升调和降调),原理图见图1(图1)变调处理原理框图在频域中,如果平移距离过小,平移后的频谱就会有一部分相互交叠,从而使新合成的频谱与原频谱不一致,因而无法准确地恢复原时域信号,这种现象称为混叠。

原因是采样频率fs 太低,原模拟信号不是有限带宽的信号;采取的措施有(1)对非有限带宽的模拟信号,在采样之前先通过模拟低通滤波器滤去高频成分,使其成为带限信号。

这种处理称为抗混叠滤波预处理。

(2)满足采样定理,即fs>=2fh,一般采样频率大大高于信号最高频率DSP变调算法:方案一:利用FFT和IFFT变换,在频域内进行变调处理,算法主要流程是对每帧信号的FFT转换进行展开平移以改变信号的频率特性,图2显示的是升调1.35倍前后的信号谱低频部分(0-3KHz),可以清楚的看到信号的频率向高频方向移动,但噪声干扰明显增加,并能够听到截断噪声。

利用此方法的优点是能够在频率域上对信号进行处理,能够全面反映信号内部特征,在一帧内部可以得到满意的效果;缺点是处理过的数据进行IFFT变换,误差很大,并引入了很多噪音,并且FFT和IFFT在定点处理器中使用误差很大,选取的基点较少时误差不能承受,选取基点较多时,消耗很多的CPU 和RAM资源,不适宜实时处理。

DSP实验报告模版

DSP实验报告模版

我们做的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实验报告3

DSP实验报告3

DSP实验报告实验名称:交通灯控制实验系部:物理与机电工程学院专业班级:09电子信息工程(1)班学生姓名:傅振艺学号:2009041511指导教师:罗锦彬老师完成时间:2012年4月25日报告成绩:交通灯控制实验一、实验目的:(1)熟悉2812的指令系统;(2)熟悉74HC573的使用方法。

(3)熟悉DSP的IO操作使用方法。

二、实验设备:(1)装有CCS软件的计算机;(2)插上2812主控板的DSP实验箱;(3)DSP硬件仿真器三、实验原理:1) 此模块由发光二极管和一个锁存器组成。

2) 数据由2812模块的低八位输入,锁存器的控制信号由2812模块输出,但经由CPLD模块译码后再控制锁存器。

3) 74HC573的引脚图:4) 交通灯示意图:四、实验步骤:1) 把2812模块小板插到大板上;2) 在CCS2000环境中打开本实验的工程编译Example_crossled.pjt,生成输出文件,通过仿真器把执行代码下载到DSP芯片;3) 运行程序,发光二极管按交通灯方式点亮熄灭;4) 参考源代码,自行修改程序,实现不同的交通灯控制方式。

五、实验程序:#include "include/DSP281x_Device.h" // DSP281x Headerfile Include File#include "include/DSP281x_Examples.h" // DSP281x Examples Include Filevoid delay_loop(void);void Gpio_select(void);main(){InitSysCtrl();EALLOW;EDIS;Gpio_select();DINT;InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();while(1){GpioDataRegs.GPADAT.all =0xdc80;Reg00=0x00;delay_loop();GpioDataRegs.GPADAT.all =0xec40;Reg00=0x00;delay_loop();GpioDataRegs.GPADAT.all =0xf0c0;Reg00=0x00;delay_loop();GpioDataRegs.GPADAT.all =0xec40;Reg00=0x00;delay_loop();}}void delay_loop(){short i,j;for (i = 0; i < 32767; i++){for (j = 0; j < 50; j++);}}void Gpio_select(void){Uint16 var1;Uint16 var2;Uint16 var3;var1= 0x0000; // sets GPIO Muxs as I/Osvar2= 0xFFFF; // sets GPIO DIR as outputsvar3= 0x0000; // sets the Input qualifier valuesEALLOW;GpioMuxRegs.GPAMUX.all=var1;GpioMuxRegs.GPBMUX.all=var1;GpioMuxRegs.GPDMUX.all=var1;GpioMuxRegs.GPFMUX.all=var1;GpioMuxRegs.GPEMUX.all=var1;GpioMuxRegs.GPGMUX.all=var1;GpioMuxRegs.GPADIR.all=var2; // GPIO PORTs as outputGpioMuxRegs.GPBDIR.all=var2; // GPIO DIR select GPIOs as outputGpioMuxRegs.GPDDIR.all=var2;GpioMuxRegs.GPEDIR.all=var2;GpioMuxRegs.GPFDIR.all=var2;GpioMuxRegs.GPGDIR.all=var2;GpioMuxRegs.GPAQUAL.all=var3; // Set GPIO input qualifier valuesGpioMuxRegs.GPBQUAL.all=var3;GpioMuxRegs.GPDQUAL.all=var3;GpioMuxRegs.GPEQUAL.all=var3;EDIS;}六、实验现象:(1)东西南北的黄灯亮:(2)东西绿灯亮;南北红灯亮:七、实验总结:通过本次CCS环境下led交通灯控制的仿真实验,让我了解并熟悉了CCS 软件的安装和调试方法,DSP实验箱下载调试的步骤以及CCS环境下的DSP 的C语言程序编写方法,对于使用锁存器驱动LED发光二极管的方法也有了更深的认识,对今后DSP的进一步学习奠定了应用基础。

DSP实验报告_百度文库(精)

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

装订线实验报告课程名称:微机原理及其应用指导老师:徐习东成绩:实验名称:实验一二三综合实验报告实验类型:同组学生姓名:一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求1、了解DSP的基本原理和实验过程。

完成实验一、二、三。

完成4段程序的运行过程。

2、了解DSP的编程方法,学习TI资源文件的使用方法,3、认识中断、GPIO、定时器等的编程使用方法。

二、实验内容和原理实验一LED绿灯的控制:共阳极发光二极管原理图如下图1 发光二极管原理图通过GPIO控制发光二极管DS20~DS25的亮灭。

当GPIOFx=0时,对应的发光二极管被点亮。

GPIO端口:GPIOF13~GPIOF8实验二实验名称:DSP实验综合报告姓名:学号:装订线利用CPU定时器和中断实现点亮了4盏规定的绿灯,同时控制灯分别以1s,100ms,10ms,1ms为周期交替亮灭。

通过设置CPU定时器,使1ms产生1个中断输出,再通过循环计数控制当分别产生1ms、10ms、100ms、1s的时间间隔进入中断,控制相应LED亮灭。

实验三分别用两种TI资源的方法编程,实现控制绿灯和红灯的要求。

方法一是仅仅使用TI规定的变量编程,方法二是使用TI资源的内置文件,初始化文件和.c文件等中的自带函数。

把6盏绿灯及16盏红灯有规律地控制点亮。

红灯的控制:LED接口如图:1、一端接电源高电平红灯的控制:2、一端接锁存器的输出;3、由两个锁存器控制16盏灯;两个锁存器:1、输入数据为实验名称:DSP实验综合报告姓名:学号:装订线GPIOB8 ~GPIOB15;2、锁存信号由GPIOE0 ~GPIOE2 控制;点灯控制:1、先确定第几组,第几盏;2、GPIOE输出组号,GPIOB输出位号;3、延时,GPIOE输出锁存信号三、主要仪器设备TMS实验板、PC机、程序烧写器四、操作方法和实验步骤1、实验一(1)学习DSP的相关内部元件的使用方法。

DSP实验报告最终版

DSP实验报告最终版
DSP实验报告
小组成员
一、实验说明:
为了保证生产质量、生产效率和生产的安全性,在钢铁企业的定期常规设备检修必不可少,在设备检修的过程中,为了保证检修人员的人身安全和设备的安全,通常需设置检修报警提示,如:检修警报、检修指示灯等。
本次实验设计钢铁企业的滚带传送装置的检修控制系统,需要检修时,首先停止传动皮带的工作,切换到检修警报,检修警报开始工作以保证检修人员和设备的安全。当检修工作完成后,停止警报装置,返回传动电机的正常工作状态。
南-绿
北-红
北-黄
北-绿
两个寄存器的地址均映射到2812DSP的扩展空间,CTRLR,DSP通过对该地址的写操作来修改二个寄存器各位的状态,当寄存器某位取‘1’时,相应提示灯被点亮,取‘0’则熄灭。当写入CTRLR的数据(8位有效值)的高两位为‘00’时,数据的低6位将写入EWR寄存器;高两位为‘01’时,数据的低6位将写入SNR寄存器。
图3 利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形 上图是利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形。图中,当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us,t1秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。T2秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的高低电平,直流电动机电枢绕组两端的电压波形如图中所示。电动机的电枢绕组两端的电压平均值Uo为:
图中PWM输入对应ICETEK-CTR-A板上P4外扩插座第26引脚的S22信号,DSP将在此引脚上给出PWM信号开控制直流电机转速;图中的DIR输入引脚ICETEK-CTR-A板上P4外扩插座第29引脚的S14信号,DSP将在此引脚上给出高电平或低电平来控制直流电机的方向。从DSP输出的PWM信号和转向信号先经过2个与门和1个非门再与各个开关管的栅极相连。

DSP第三次实验报告

DSP第三次实验报告

数字信号处理实验报告第三次实验实验名称:FIR数字滤波器的设计一实验目的1.掌握用窗函数法,频率采样法及优化设计法设计FIR滤波器的原理及方法,熟悉相应的MATLAB编程。

2.熟悉线形相位FIR滤波器的幅频特性和相频特性。

3.了解各种不同窗函数对滤波器性能的影响。

二.实验内容1.N=45,计算并画出矩形窗,汉明窗,布莱克曼窗的归一化的幅度谱,并比较各自的主要特点。

实验程序:clear all;N=45;wn仁kaiser(N,O);wn 2=hammi ng(N);wn 3=blackma n( N);[h1,w1] = freqz(w n1,1);[h2,w2] = freqz(w n2,1);[h3,w3] = freqz(w n3,1);plot(w1/pi,20*log10(abs(h1)),'」,w2/pi,20*log10(abs(h2)),' --',w3/pi,20*log10(abs(h3)),':');grid;xlabel('归一化频率八pi'); ylabel('幅度/dB');title('三种窗口函数');legend('矩形窗','汉明窗’,布莱克曼窗',3);实验结果:..... 布莱克曼窗实验分析:比较各自的主要特点。

答:由图中可以看出,各窗口函数的主要特点是:矩形窗:主瓣宽度最小,但旁瓣分量幅度很大,带内带外波动也很大;汉明窗:主瓣宽度为矩形窗的两倍,但旁瓣幅度小,能量更集中在主瓣,带内外波动也小;布莱克曼窗:主瓣宽度最宽,为矩形窗的三倍,但是相应的其旁瓣更低,即旁瓣衰减 更大,能量最集中在主瓣,带内外波动最小。

注意矩形窗口的产生是利用凯塞窗wn 仁kaiser(N,O)产生的,因为凯塞窗的参数 beta 等于0时相当于矩形窗。

2.N=15,带通滤波器的两个同带边界分别是 3 1=0.3 ,冗3 2=0.5。

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. 时域分析为了对信号的时序特征进行分析,我们使用时域分析方法对信号进行处理。

通过计算信号的均值、方差、峰值等指标,可以了解信号的幅值、相位等特性。

dsp实验报告3

dsp实验报告3

§2.1 基础实验一、实验目的1. 掌握CCS3.3实验环境的使用;2. 掌握用C语言编写DSP程序的方法。

二、实验设备1. 一台装有CCS3.3软件的计算机;2. DSP实验箱的TMS320F2812主控板;3. DSP硬件仿真器。

三、实验原理浮点数的表达和计算是进行数字信号处理的基本知识;产生正弦信号是数字信号处理中经常用到的运算;C语言是现代数字信号处理表达的基础语言和通用语言。

写实现程序时需要注意两点:(1)浮点数的范围及存储格式;(2)DSP的C语言与ANSI C语言的区别。

四、实验步骤1.打开CCS3.3 并熟悉其界面;2.在CCS3.3环境中打开本实验的工程(Example_bASe.pjt)[位置为:/ Example_2812/ Example_math/ Example_base],编译并重建.out 输出文件,然后通过仿真器把执行代码下载到DSP芯片中;3.把X0 , Y0 和Z0添加到Watch窗口中作为观察对象(选中变量名,单击鼠标右键,在弹出菜单中选择“Add Watch Window”命令);4.选择view->graph->time/frequency…。

设置对话框中的参数: 其中“Start Address”设为“sin_value”,“Acquisition buffer size”和“Display Data size”都设为“100”,并且把“DSP Data Type”设为“32-bit floating point”,设置好后观察信号序列的波形(sin函数,如图);5.单击运行;6.观察三个变量从初始化到运算结束整个过程中的变化;观察正弦波形从初始化到运算结束整个过程中的变化;7.修改输入序列的长度或初始值,重复上述过程。

五.实验注意事项1.把代码载入硬件时注意操作顺序,要操作规范,以免烧坏硬件2.只有添加了可视窗口才可以看到图形3.读懂程序以后再按要求修改,才能完成要求4.注意观察修改程序的图形变化与之前的比较六.实验程序/** Program for convolve **/#include <math.h>int N1,N2; /*输入数组长度*/int n; /*输出数组长度*/int m,i,k;float x[20];float h[20];float y[20]; /*输出数组*/main(){N1=10; /* x 长度*/N2=10; /* h 长度*/n=N1+N2-1; /* 输出y 的长度*/ for(i=0;i<20;i++) /* 初始化数组*/{x[i]=0;h[i]=0;y[i]=0;}for(i=0;i<n;i++) /* 给x数组赋值*/{if(i<N1){x[i]=i;}else{x[i]=0;}}for(i=0;i<=n;i++) /* 给h数组赋值*/{if(i<N2){h[i]=1;}else{h[i]=0;}}for(i=0;i<n;i++) /* 计算卷积*/{for (k=0;k<=i;k++)y[i]=y[i]+h[k]*x[i-k];}while(1);七.实验结果八.实验小结通过本实验熟悉和使用CCS3.3实验环境,虽然还不是充分解读CCS3.3技巧,但有了这次自己动手,掌握其基本技巧。

DSP第三次实验报告

DSP第三次实验报告

数字信号处理实验报告第三次实验实验名称:FIR数字滤波器的设计一实验目的1.掌握用窗函数法,频率采样法及优化设计法设计FIR滤波器的原理及方法,熟悉相应的MATLAB编程。

2.熟悉线形相位FIR滤波器的幅频特性和相频特性。

3.了解各种不同窗函数对滤波器性能的影响。

二.实验内容1.N=45,计算并画出矩形窗,汉明窗,布莱克曼窗的归一化的幅度谱,并比较各自的主要特点。

实验程序:clear all;N=45;wn仁kaiser(N,O);wn 2=hammi ng(N);wn 3=blackma n( N);[h1,w1] = freqz(w n1,1);[h2,w2] = freqz(w n2,1);[h3,w3] = freqz(w n3,1);plot(w1/pi,20*log10(abs(h1)),'」,w2/pi,20*log10(abs(h2)),' --',w3/pi,20*log10(abs(h3)),':');grid;xlabel('归一化频率八pi'); ylabel('幅度/dB');title('三种窗口函数');legend('矩形窗','汉明窗’,布莱克曼窗',3);实验结果:..... 布莱克曼窗实验分析:比较各自的主要特点。

答:由图中可以看出,各窗口函数的主要特点是:矩形窗:主瓣宽度最小,但旁瓣分量幅度很大,带内带外波动也很大;汉明窗:主瓣宽度为矩形窗的两倍,但旁瓣幅度小,能量更集中在主瓣,带内外波动也小;布莱克曼窗:主瓣宽度最宽,为矩形窗的三倍,但是相应的其旁瓣更低,即旁瓣衰减 更大,能量最集中在主瓣,带内外波动最小。

注意矩形窗口的产生是利用凯塞窗wn 仁kaiser(N,O)产生的,因为凯塞窗的参数 beta 等于0时相当于矩形窗。

2.N=15,带通滤波器的两个同带边界分别是 3 1=0.3 ,冗3 2=0.5。

DSP课程实验报告

DSP课程实验报告

目录目录 (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实验

DSP实验
实验2:PWM输出方波
脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件 的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些 脉冲来代替所需要的方波。 DSP开发板的晶振是30MHz,系统会先进行5倍的倍频,产生 150MHz的系统时钟。由于后面需要进行A/D采样,所以在这 里我们首先要降低系统时钟频率。
Ap=1; As=40; [n,wc]=buttord(wp,ws,ap,as); [b,a]=butter(N,WC); 计算出的N为滤波器阶数 在CCS工程中 #define IIRNUMBER N+1 与 fAn[IIRNUMBER]
计算出的b,a为滤波器分子分母 代入CCS工程的 数组fBn[IIRNU、确定基波和高次谐波 对周期信号进行傅立叶分析,第一项是直流,第二项就是基波了。以 后那些称为谐波。 AD采样可得到,输入信号为1KHz方波,基波为1KHz,高次谐波为 2KHz
2、设计一个4阶Butterworth低通滤波器 使用MATLAB软件,
Wp=0.125;
Ws=0.25;
第一次实验结果(实验条件:N=4) AD采样后得到时域波形
滤波后的时域图
频域
滤波后
第二次实验(实验条件N=10) 时域
频域
第三次实验 (实验条件N=11) 时域
频域
PWM—脉冲宽度调制(Pulse Width Modulation),是一种周期 一定而高低电平可调的方波信号。当输出脉冲的频率一定时,输 出脉冲的占空比越大,相对应的输出有效电压越大。
实验3:AD采样
A/D转换器是用来通过一定的电路将模拟量转变为数字量。 采用逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控 制逻辑电路组成,如图所示。基本原理是从高位到低位逐位试探比较。逐次逼 近法转换过程是:初始化时将逐次逼近寄寄存器各位清零;转换开始时,先将 逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入 比较器,称为 Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo<Vi,该 位1被保留,否则被清除。然后再 置逐次逼近寄存器次高位为1,将 寄存器中新的数字量送D/A转换器, 输出的 Vo再与Vi比较,若Vo<Vi, 该位1被保留,否则被清除。重复 此过程,直至逼近寄存器最低位。 转换结束后,将逐次逼近寄存器中 的数字量送入缓冲寄存器,得到数 字量的输出。逐次逼近的操作过程 是在一个控制电路的控制下进行的。

DSP技术 实验三报告模板

DSP技术 实验三报告模板

《DSP技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称:CPU定时器实验二、实验目的掌握定时器基本工作原理;掌握中断的基本工作原理;掌握定时器控制C语言编程。

三、实验内容(1)调试例子程序,理解程序设计思想,将CPU定时器周期设置成1 S;(2)修改例子程序,实现LED流水灯的功能;(3)在(2)的基础上修改例子程序,实现LED流水灯变化频率可由拨码开关按键控制的功能:由拨码开关1和2控制选择1Hz、2Hz、4Hz和8Hz 不同的LED流水灯变化频率。

四、实验程序与结果分析#include "DSP281x_Device.h" // DSP281x Headerfile Include File#include "DSP281x_Examples.h" // DSP281x Examples Include Fileinterrupt void cpu_timer0_isr(void);#define LED *((volatile int *)0x2200)void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period); void main(void){unsigned int temp=0xff;InitSysCtrl();DINT;InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();EALLOW; // This is needed to write to EALLOW protected registersPieVectTable.TINT0 = &cpu_timer0_isr;EDIS; // This is needed to disable write to EALLOW protected registersInitCpuTimers(); // For this example, only initialize the Cpu Timers ConfigCpuTimer(&CpuTimer0, 150, 1000000);//1sStartCpuTimer0();IER |= M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7 = 1;EINT; // Enable Global interrupt INTMERTM; // Enable Global realtime interrupt DBGMfor(;;){if(LED!=temp){if(LED==0){ConfigCpuTimer(&CpuTimer0, 150, 1000000);}if(LED==1){ConfigCpuTimer(&CpuTimer0, 150, 500000);}if(LED==2){ConfigCpuTimer(&CpuTimer0, 150, 250000);}if(LED==3){ConfigCpuTimer(&CpuTimer0, 150, 125000);}temp=LED;StartCpuTimer0();}if(CpuTimer0.InterruptCount<1){*(int *)0x2200=0x007f;}else if(CpuTimer0.InterruptCount<2){*(int *)0x2200=0x00bf;}else if(CpuTimer0.InterruptCount<3){*(int *)0x2200=0x00df;}else if(CpuTimer0.InterruptCount<4){*(int *)0x2200=0x00ef;}else if(CpuTimer0.InterruptCount<5){*(int *)0x2200=0x00f7;}else if(CpuTimer0.InterruptCount<6){*(int *)0x2200=0x00fb;}else if(CpuTimer0.InterruptCount<7){*(int *)0x2200=0x00fd;}else if(CpuTimer0.InterruptCount<8){*(int *)0x2200=0x00fe;}else{CpuTimer0.InterruptCount = 0;}}}interrupt void cpu_timer0_isr(void){CpuTimer0.InterruptCount++;PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;}五、小结通过这次试验让我们明白了定时器的配置以及相应中断的使用。

dsp实验报告 3

dsp实验报告 3

实验三PWM实验:一、实验目的了解TMS320F28335 的PWM 模块原理二、实验设备(1)装有Windows 的PC 机一台;(2) XDS510 仿真器一套;(3) YX-F28335 开发板一套;(4) 示波器一台;三、实验步骤(1) 首先按照实验一配置CCS4.1.2 软件并打开;(2) 接着把仿真器的USB 与电脑进行连接,将仿真器的另一端JATG 端插到YX-F28335 开发板的JATG 针处;(3) Target->Launch TI Debug 后,点击Target->Connect Target。

(4) 由于工程已经是一个可烧写的可执行文件,所以直接在CCS 中点击Target->LoadProgram……命令,在文件lab24-PWM 下加载Debug 目录下的.out 可执行文件;(5) 在CCS 菜单栏点击Target->Run,之后用户打开示波器,将示波器的地线接到开发板的地线端,另一端接到YX-F28335 开发板J4的第1 脚。

四、实验原理脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

PWM 的控制方法:采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。

PWM 控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。

按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。

五、实验过程1、测量波形(电路连接)并在示波器上显示:的转动情况。

【最新】DSP实验报告模版-实用word文档 (20页)

【最新】DSP实验报告模版-实用word文档 (20页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==DSP实验报告模版我们做的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”处施加软件断点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP第三次实验报告实验五、混合编程实验六、数字图像处理试验学院:信息工程学院班级:08级电子信息工程2班姓名:肖秀学号:指导老师:姚志强完成日期:2011.11.22实验五混合编程一、实验目的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. 看懂代码,比较结果,并画出程序流程图;[C程序代码]#include <stdio.h>#include "mix.h"int mix_func_c(int *wl, int *wr, int val) // C函数{int i, val_min, tmp[8];for(i=0; i<8; i++) //乘法tmp[i] = wl[i] * wr[i];val_min = val;for(i=0; i<8; i++) //最小值{if(val_min>tmp[i])val_min = tmp[i];}return val_min; //最小值作为程序的返回值}void main(){ int val, i, wl[8], wr[8];int min_asm, min_c;//寄存器设置asm(" stm #0, SWWSR");asm(" stm #0x00A0, PMST");// 汇编程序里面的最小值 min_asm=1900;// C程序里面的最小值 min_c=2000;//调用系统函数 call system functionval = -100;val = abs(val);//绝对值printf("val = %d\n", val); //输出val//call asm function //调用汇编程序for(i=0; i<8; i++) ?//表赋初值 0 1 2 3 4 5 6 7// 0 1 3 5 7 9 11 13{wl[i]=i;wr[i]=2*i+1;}min_asm = mix_func(wl, wr, val); // 汇编最小值printf("val = %d\n", min_asm); //输出min_c = mix_func_c(wl, wr, val); // C 最小值printf("val = %d\n", min_c); //输出return;}[汇编程序代码].mmregs;------------------------------------------------;int mix_func(int *wl, int *wr, int val);{; int i, val_min, tmp[8];;------------------------------------------------var_tmp .set 0;ST1off_m .set -8off_p .set 8frame_size .set 9;return addressarg_wr .set frame_size+1arg_val .set frame_size+2.global _mix_func ;说明:外部变量非私有.text; 在变量名前加一下划线"_"_mix_func:pshm ST1frame #off_mssbx OVM;置 1;如果 OVM位为1,则 80 0000 0000h 的绝对值为 00 7FFF FFFFh ;如果 OVM位为0,则 80 0000 0000h 的绝对值为 80 0000 0000h;表赋值----------------------------; for(i=0; i<8; i++); tmp[i] = wl[i] * wr[i];;------------------------------------------------ stm #8-1, BRCmvdk *SP(arg_wr), AR3 ;AR3=wrmvmm SP, AR4 ;AR4=tmpstlm A, AR2 ;AR2=wlrptb tmp_loop-1mpy *AR2+, *AR3+, Astl A, *AR4+tmp_loop:;查找最小值---------------------------------------; val_min = val;; for(i=0; i<8; i++); {; if(val_min>tmp[i]); val_min = tmp[i];; };; return val_min;;};------------------------------------------------ ld *SP(arg_val), Amvmm SP, AR2 ;AR2=tmpstm #8-1, BRCrptb compare_loop-1ld *AR2+, Bmin Acompare_loop:;比较???frame #off_ppopm ST1ret四、程序流程图:五、实验思考题1、此程序实现的功能是什么?答:此程序实现的函数功能是求最小值。

分别可以用C语言和汇编语言两种编写方法。

2、C语言与汇编语言是如何调用的?有何不同?编译器会自动在标识符的开头加上下划线,因此在汇编程序中访问C函数的变量和函数,只需要在此变量前加上下划线,例如,名为“x”的C变量在汇编程序中的名字为“_x”。

对于志在汇编程序中使用的标识符,就不必在前面加下划线。

3、他们的参数是如何传递的?答:汇编程序调用C函数,第一个参数(最左边的参数)必须置入累加器A 中,其他参数必须按逆序压入堆栈。

六、、实验结果分析1. 实时运行库实时运行库提供了标准C中的大部分函数,帮助建立C语言的环境,同时也提供一些基本的调试手段,如printf( )等。

2. 程序接口参数传递是混合编程中非常重要的一部分:第一个参数放置在寄存器A中,其他参数按照逆序压入堆栈;返回的数据放置在寄存器A中。

3. 局部数据局部数据是在堆栈中开设的,程序返回前消除。

4. 关于堆栈保护在子程序addfun中,由于需要改变ST1中的数值,所以在子程序入口处先用语句pshm ST1 ; ST1的值在堆栈中保护起来;在子程序返回前,再用语句popm AR1 ;恢复ST1原来的值。

七、实验心得本次实验相对于前面两次试验来说又增加了一定的难度,可是在助教的帮助下还是顺利地完成了试验。

这次试验使我对DSP有了进一步的了解,更加熟悉了ccs软件的使用。

学习使用了实时运行库,熟悉用C和汇编混合编程的方法,弄懂了怎样用C调用汇编,怎样用汇编调用C语言,例如,在汇编中调用C函数就要加上相应的下划线,同时也掌握了混合编程的调试方法。

虽然现在的我还不具备混合编写程序的能力,但我相信持之以恒的努力必有效果。

实验六数字图象处理实验一、实验目的1. 学习使用实时运行库并了解数字图象处理的基本原理;2. 熟悉用C和汇编混合编程的方法及混合编程的调试方法;3. 学习灰度图象反色处理技术及其二值化处理技术。

二、实验环境1. 集成开发环境Code Composer Studio2.0(简称CCS)2. 实验程序DSP54X-28-Tuxiangchuli.c,DSP54X-28-Tuxiangchuli.cmd,rts.lib,c5402.gel(说明同前)。

三、实验步骤实验操作流程参照前面实验。

1. 建立新项目DSP54X-28-Tuxiangchuli.pjt,添加所需文件。

双击打开源程序DSP54X-28-Tuxiangchuli.c,找到打开图片语句,根据源语句及Tupian文件夹所在位置,重新设置好图片的打开路径(保存时注意文件属性。

必须修改好,否则会要求手动输入64*64个数据,如出现这种情况,通过任务管理器关闭CCS后重新打开修改)。

2. 改设置:Build option子菜单linker中Basic项Autoinit Model 改为load-time Initialization或Run-time Initialization(用No Initialization 得不到正确的图像)。

3. 编译连接Build后, 装载得到的.out程序。

主程序中,在三个“i=0”处设置三个断点,如下图所示。

选择Debug_>Go main,使程序从main处开始执行。

单击“Run”,程序运行到第一个断点处停止;4. 用View/Graph/Image打开一个图形观察窗口,以观察程序载入的“Lena64.bmp”图像,该图像在“....\Tupian”目录中;按下图设置该观察窗口,以观察变量y为64*64的二维数组(也可在程序执行前就打开图形窗口,设置完确定时对y选择“否”即可):下图为“Lena64.bmp”在CCS环境下第一个断点处的显示图像;单击“Run”,程序运行到第二个断点处停止,这时可在图形观察窗口中,观察原图像经反色处理后的结果图像,如下图:再单击“Run”,程序运行到第三个断点处停止,这时可在图形观察窗口中,观察到原图像二值化处理后的结果图像,本程序中,二值化处理阀值设为128,见下图:5.修改程序,对图像做其它处理(如反向显示,上下颠倒等),记录实验数据及结果,写出报告。

相关文档
最新文档