欢迎来到天天文库
浏览记录
ID:35940274
大小:639.50 KB
页数:11页
时间:2019-04-26
《dsp原理与应用 实验六》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验六正弦波产生与图像增强的DSP实现(C语言)一、实验目的1.初步掌握用C语言进行DSP程序设计。2.掌握递推法产生正弦型信号的C语言程序设计方法。3.掌握查表法进行图像直方图变换增强的C语言程序设计方法。二、实验环境1.奔腾IV计算机2.CodeComposerStudio(CCS)软件3.matlab6.5软件三、实验内容*C54xDSP软件设计的方法通常有三种:(1)用汇编语言开发。用汇编语言开发产品,周期长,软件修改和升级困难。(2)用C语言开发。优点是增强软件的可读性,提高了软件的开发速度,方便软件的修改和移植。但无法实现在任何情况下都能合理地利用DSP芯片的各
2、种资源。(√)(3)用C和汇编语言混合编程开发,能更好地达到设计要求。1.递推法产生正弦型信号递推法产生N点余弦波和正弦波的公式:cos(nx)=2cos(x)cos[(n-1)x]-cos[(n-2)x](1)sin(nx)=2cos(x)sin[(n-1)x]-sin[(n-2)x](2)其中:x--角度步长;n---离散时间(n=0:N)(1)产生余弦信号(本例取x=10,N=200点)变量:_COSX=cos(10)=0.99390827-----角度步长x的余弦值;数组:1)_cosx-------存放余弦波输出值(共200点)2)dacdata=_cosx*20
3、47+2048------输出结果(将余弦信号的幅度范围从-1~1调整至0~4096,成为整数)根据公式(1)循环,逐次计算出各点的余弦信号。/*源程序cose.c*/ioportunsignedport0bfff;/*设输入输出口地址为0bfffH*/#defineIOSRport0bfff/*定义IOSR代表输入输出口地址*/#define_COSX0.999390827/*定义_COSX代表0.99390827*/#pragmaDATA_SECTION(_COSX,"data_buf1")/*将_COSX存入起始地址为"data_buf1"的数据段中*/float_c
4、osx[200];/*_cosx数组(小数型)*/#pragmaDATA_SECTION(dacdata,"data_buf2")/*将dacdata存入起始地址为"data_buf2"的数据段中*/intdacdata[180];/*dacdata数组(整数型)*/voiddelay(void);/*定义延时子程序delay*/voidmain(void)/*主程序*/{unsignedinti=0;/*无符号整数i=0*/_cosx[0]=1.000;/*数组_cosx的初始值=1*/dacdata[0]=4095;/*数组dacdata的初始值=_cosx[0]*20
5、47+2048*/_cosx[1]=_COSX;/*_cosx[1]=0.999390827=cos(1度)*/dacdata[1]=_COSX*2047+2048;/*dacdata[1]*/i=1;while(1)/*循环*/{if(i++>179)break;/*i从1开始,i=i+1,若>179则跳出循环,否则i=i+1*/_cosx[i]=2*_COSX*_cosx[i-1]-_cosx[i-2];/*根据公式(1)计算_cosx[i]*/dacdata[i]=_cosx[i]*2047+2048;/*计算dacdata[i]*/}i=0;while(1){if(
6、i>179)i=0;IOSR=dacdata[i++];/*将dacdata中的各数据输出至IOSR*/delay();/*调用延时子程序delay*/}}voiddelay(void)/*延时子程序delay*/{longintj;for(j=0;j<800;j++)/*设j=0:800,循环*/asm("_nop");/*嵌入汇编语句"_nop",空操作,延时一个单元*/}/*链接命令文件cose.cmd*/MEMORY{PAGE0:PARAM:origin=0x1000,length=0x0efdPAGE1:DARAM:origin=0x2000,length=0x2
7、000}SECTIONS{.text:{}>PARAMPAGE0/*存放可执行代码*/.cinit:{}>PARAMPAGE0/*存放初始化变量和常数表*/.data:{}>DARAMPAGE1/*数据段*/.bss:{}>DARAMPAGE1/*保留全局和静态变量空间。程序运行时C的引导程序将数据从.cinit段拷贝到.bss段。*/.const:{}>DARAMPAGE1/*存放字符串常量和以const关键字定义的常量。*/}实验要求:[1]将cose.c,cose.cmd及c:tic5400cgtool
此文档下载收益归作者所有