云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > DSP课程设计正弦波信号发生器报告

DSP课程设计正弦波信号发生器报告

  • 62 次阅读
  • 3 次下载
  • 2026/1/9 23:50:47

DSP原理及应用 课程设计

设计题目:正弦波信号发生器

学校: 学院: 专业班级: 姓名: 学号: 同组人:、

设计题目

正弦波信号发生器

设计目的

学会使用CCS(Code Composer Studio)集成开发环境软件,在此集成开发环境下完成工程项目创建,程序编写,编译,链接,调试以及数据的分析。同时完成一个正弦波信号发生器的程序的编写,并在集成开发环境下进行模拟运行,观察结果。

设计内容

编写一个产生正弦波信号的程序,在CCS软件下进行模拟运行,观察输出结果。

设计原理

正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。本次课程设计只要使用泰勒级数展开法来实现正弦波信号。 1. 产生正弦波的算法

在高等数学中,正弦函数和余弦函数可以展开成泰勒级数,其表达式为

sin(x)?x?x33!x2?x55!x4?x77!x6?x99!x8??

cosx()?1?2!?4!?6!?8!??

若要计算一个角度x的正弦和余弦值,可取泰勒级数的前5项进行近似计算。

2?xsin(x)?x?????x?1??3!5!7!9!2?3?x3x5x7x92?x?1??4?5?2?x?1??6?7??????x?1?????????8?9??????2

2?x?cos(x)?1?????1?1??2!4!6!8!23?4?x2x4x6x8x22?x?1??5?6?2????x?1???????7?8?????

由上述两个式子可以推导出递推公式,即

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的正弦值,并采用子程序的调用

1

方式。在调用前先在数据存储器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) d_coef_s d_xs d_squr_xs d_temp_s d_sinx d_l_s

.word 1556H ;C4=1/(2*3) .usect \.usect \.usect \.usect \.usect \.usect \.text

SSBX FRCT

STM #d_coef_s,AR5 ;move coeffs table_s RPT #3

MVPD #table_s,*AR5+ STM #d_coef_s,AR3 STM #d_xs,AR2 STM #d_l_s,AR4 ST #7FFFH,d_l_s

SQUR *AR2+,A ;A=x^2 ST A,*AR2 ;(AR2)=x^2 ||LD *AR4,B ;B=1

MASR *AR2+,*AR3+,B,A ;A=1-x^2/72,T=x^2

MPYA A ;A=T*A=x^2(1-x^2/72) STH A,*AR2 ;(d_temp)=x^2(1-x^2/72) MASR *AR2-,*AR3+,B,A

;A=1-x^2/42(1-x^2/72);T=x^2(1-x^2/72)

MPYA *AR2+ ;B=x^2(1-x^2/42(1-x^2/72)) ST B,*AR2

;(d_temp)=x^2(1-x^2/42(1-x^2/72))

||LD *AR4,B ;B=1 MASR *AR2-,*AR3+,B,A

;A=1-x^2/20(1-x^2/42(1-x^2/72))

MPYA *AR2+

;B=x^2(1-x^2/20(1-x^2/42(1-x^2/72)))

ST B,*AR2 ;(d_temp)=B ||LD *AR4,B ;B=1 MASR *AR2-,*AR3,B,A

2

;A=1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))

MPYA d_xs ;B=x(1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))) STH B,d_sinx ;sin(theta) RET

⑵计算一个角度的余弦值

利用余弦函数展开的泰勒级数的前五项计算一个角度的余弦值,可采用子程序的调用方式来实现。调用前先将x弧度值放在数据存储器d_xc单元中,计算结果存放在d_cosx单元中。

实现计算一个角度的余弦值的程序片段如下: cosx: d_coef_c table_c d_xc d_squr_xc d_temp_c d_cosx c_l_c

.def d_xc,d_cosx .usect \.data

.word 0249H ;C1=1/(7*8) .word 0444H ;C2=1/(5*6) .word 0AABH ;C3=1/(3*4) .word 4000H ;C4=1/2 .usect \ .usect \.usect \.usect \ .usect \.text

SSBX FRCT

STM #d_coef_c,AR5 ;move coeffs table_c RPT #3

MVPD #table_c,*AR5+ STM #d_coef_c,AR3 STM #d_xc,AR2 STM #c_l_c,AR4 ST #7FFFH,c_l_c

SQUR *AR2+,A ;A=x^2 ST A,*AR2 ;(AR2)=x^2 ||LD *AR4,B ;B=1

MASR *AR2+,*AR3+,B,A ;A=1-x^2/56,T=x^2

MPYA A ;A=T*A=x^2(1-x^2/56) STH A,*AR2 ;(d_temp)=x^2(1-x^2/56) MASR *AR2-,*AR3+,B,A ;A=1-x^2/30(1-x^2/56)

;T=x^2(1-x^2/56)

MPYA *AR2+ ;B=x^2(1-x^2/30(1-x^2/56)) ST B,*AR2

;(d_temp)=x^2(1-x^2/30(1-x^2/56))

||LD *AR4,B ;B=1 MASR *AR2-,*AR3+,B,A

3

搜索更多关于: DSP课程设计正弦波信号发生器报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

DSP原理及应用 课程设计 设计题目:正弦波信号发生器 学校: 学院: 专业班级: 姓名: 学号: 同组人:、 设计题目 正弦波信号发生器 设计目的 学会使用CCS(Code Composer Studio)集成开发环境软件,在此集成开发环境下完成工程项目创建,程序编写,编译,链接,调试以及数据的分析。同时完成一个正弦波信号发生器的程序的编写,并在集成开发环境下进行模拟运行,观察结果。 设计内容 编写一个产生正弦波信号的程序,在CCS软件下进行模拟运行,观察输出结果。 设计原理 正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。通常有两种方法可以产生正弦波

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com