1、 DSP 原理及应用原理及应用 课程设计课程设计 设计题目:正弦波信号发生器设计题目:正弦波信号发生器 学校:学校: 学院:学院: 专业班级:专业班级: 姓名:姓名: 学号:学号: 同组人:同组人: 、 1 设计题目设计题目 正弦波信号发生器 设计目的设计目的 学会使用 CCS(Code Composer Studio)集成开发环境软件,在此集成开发环 境下完成工程项目创建,程序编写,编译,链接,调试以及数据的分析。同时完 成一个正弦波信号发生器的程序的编写,并在集成开发环境下进行模拟运行,观 察结果。 设计内容设计内容 编写一个产生正弦波信号的程序,在 CCS 软件下进行模拟运行,观察输出
2、结果。 设计原理设计原理 正弦波信号发生器已被广泛地应用于通信、 仪器仪表和工业控制等领域的信 号处理系统中。通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开 法。 查表法是通过查表的方式来实现正弦波, 主要用于对精度要求不很高的场合。 泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号, 它能精确地计算出 一个角度的正弦和余弦值,且只需要较小的存储空间。 本次课程设计只要使用泰 勒级数展开法来实现正弦波信号。 1. 产生正弦波的算法 在高等数学中,正弦函数和余弦函数可以展开成泰勒级数,其表达式为 !9!7!5!3 )sin( 9753 xxxx xx !8!6!4!2 1)c o
3、s ( 8642 xxxx x 若要计算一个角度x的正弦和余弦值, 可取泰勒级数的前5项进行近似计算。 98 1 76 1 54 1 32 1 !9!7!5!3 )sin( 22229753 xxxx x xxxx xx 87 1 65 1 43 1 2 1 !8!6!4!2 1)cos( 22228642 xxxxxxxx x 由上述两个式子可以推导出递推公式,即 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。 2. 正弦波的实现 计算一个角度的正弦值 利用泰勒级数的展开式,可计算一个角度x的正弦值,并采用子程序的调用 2 方式。在调用前先在数据存储器d_xs单元中存放x的弧度值,计算结果存放在 d_sinx单元中。 实现计算一个角度的正弦值的程序片段如下: sinx: .def d_xs,d_sinx .data table_s .word 01C7H ;C1=1/(8*9) .word 030BH ;C2=1/(6*7) .word 0666H ;C3=1/(4*5) .word 1556H ;C4=1/(2*3) d_