基于dsp的正弦信号发生器yjffiucb.docVIP

  • 5
  • 0
  • 约6.16千字
  • 约 11页
  • 2018-09-11 发布于湖北
  • 举报
基于DSP的正弦信号发生器 班级: 学号: 姓名: 设计目的 设计一个基于DSP的正弦信号发生器 设计内容 利用基于CCS开发环境C54X汇编语言来实现正弦信号发生装置。 一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。本文采用了泰勒级数展开法。一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得: 式中:x为θ的弧度值,x=2πf/fs(fs是采样频率;f是所要发生的信号频率。 正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如。 利用 CCS 集成开发环境,用户可以在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作环节。创建工程(project)文件选择 Project→New在“Project”文本框中键入将要创建的工程项目名,本例工程项目名为“sin”向工程中添加文件选择 Project→Add Files to Project,将 sine.文件自动添加到 Project→Source 中。 用同样的方法 将 sine.cmd 文件添加到对应的目录中。构建工程工程所需文件编辑完成后,可以对该工程进行编译链接,产生可执行文件, 为调试做准备。选择 Project→Build系统提示出信息系统自动生成一个可执行文件,sine.out 文件。载入可执行选择 File→Load Program 载入编译链接好的可执行sine.out 5.运行程序选择 Debug→Run运行,可以通过查看内存表等方法,看到程序运行的结果。观察数据选择 View→→Time/Frequence 调整输出图形参数 源程序 正弦波源程序sin.asm .title sin.asm .mmregs .def start .def d_xs,d_sinx,d_xc,d_cosx,sinx,cosx sin_x: .usect sin_x,360 STACK: .usect STACK,10 k_theta .set 286 PA0 .set 0 start: .text STM #STACK+10,SP STM k_theta,AR0 STM 0,AR1 STM #sin_x,AR6 STM #90,BRC RPTB loop1-1 LDM AR1,A LD #d_xs,DP STL A,@d_xs STL A,@d_xc CALL sinx CALL cosx LD #d_sinx,DP LD @d_sinx,16,A MPYA @d_cosx STH B,1,*AR6+ MAR *AR1+0 loop1: STM #sin_x+89,AR7

文档评论(0)

1亿VIP精品文档

相关文档