资源描述:
《太原理工大学DSP课程设计报告正弦波的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、太原理工大学DSP原理及应用课程设计报告专业班级:通信08022010年12月30日一、设计目的学会用ccs集成开发软件,在开发环境下完成工程项目创建,程序编辑,编译,链接,调试和数据分析。二、设计内容编写程序,利用ccs软件产生正弦波三、设计原理正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的
2、正弦和余弦值,且只需要较小的存储空间。本次主要用泰勒级数展开法来实现正弦波信号。产生正弦波的算法正弦函数和余弦函数可以展开成泰勒级数,其表达式:取泰勒级数的前5项,得近似计算式:递推公式:sin(nx)=2cos(x)sin[(n-1)x]-sin[(n-2)x]cos(nx)=2cos(x)sin[(n-1)x]-cos[(n-2)x]由递推公式可以看出,在计算正弦和余弦值时,需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。四、总体方案设计(1)建立工程:点击菜单project-new,在弹出的
3、窗口中输入工程名,后缀是.pjt;(2)建立文件:点击菜单file-new-sourcefile,建立汇编语言文件和链接命令文件;(3)将文件加入工程:点击菜单project-addfilestoproject,选择要加入的文件添加到工程;(4)工程的汇编链接:点击菜单project-rebuildall,若汇编链接成功会生成.out文件;(5)装载可执行程序:点击菜单file-loadprogram,装载.out文件;(6)执行程序:点击菜单debug-run;(7)观察结果。注意事项:(1)标号区分大小写,标号从第一列开始;(
4、2)星号(*)从第一列开始;(3)指令助记符不能从第一列开始;(4)MEMORY和SECTIONS要大写;(5)在链接命令文件中解释说明用符号/**/;(6)PAGE与0或与1之间要有空格。五、主要参数(1)sin(theta)=x(1-x^2/2*3(1-x^2/4*5(1-x^2/6*7(1-x^2/8*9))))(2)cos(theta)=1-x^2/2*3(1-x^2/4*5(1-x^2/6*7(1-x^2/8*9)))(3)sin(2*theta)=2*sin(theta)*cos(theta)六、设计源程序代码正弦波形
5、的汇编程序.title"sinx.asm".mmregs.def_c_int00.refd_xs,d_sinx,d_xc,d_cosxsin_x:.usect"sin_x",360STACK:.usect"STACK",10k_theta.set286PA0.set0_c_int00:.textSTM#STACK+10,SPSTM#0,AR1STMk_theta,AR0STM#sin_x,AR7STM#90,BRCRPTBloop1-1LDMAR1,ALD#d_xs,DPSTLA,@d_xsSTLA,@d_xcCALLsin_st
6、artCALLcos_startLD#d_sinx,DPLD@d_sinx,16,AMPYA@d_cosxSTHB,1,*AR7+MAR*AR1+0loop1:STM#sin_x+89,AR6STM#88,BRCRPTBloop2-1LD*AR6-,ASTLA,*AR7+loop2:STM#179,BRCSTM#sin_x,AR6RPTBloop3-1LD*AR6+,ANEGASTLA,*AR7+loop3:NOPend:Bendsin_start:.defsin_startd_coef_s.usect"coef_s",4.dat
7、atable_s:.word01C7H.word030BH.word0666H.word1556Hd_xs.usect"sin_vars",1d_squr_xs.usect"sin_vars",1d_temp_s.usect"sin_vars",1d_sinx.usect"sin_vars",1c_1_s.usect"sin_vars",1.textSSBXFRCTSTM#d_coef_s,AR4RPT#3MVPD#table_s,*AR4+STM#d_coef_s,AR2STM#d_xs,AR3STM#c_1_s,AR5ST#7
8、FFFH,c_1_sSQUR*AR3+,ASTA,*AR3
9、
10、LD*AR5,BMASR*AR3+,*AR2+,B,AMPYAASTHA,*AR3MASR*AR3-,*AR2+,B,AMPYA*AR3+STB,*AR3
11、
12、LD*AR5,BMASR*A