下载此文档

计算一个角度的正弦值.doc


文档分类:高等教育 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
洛阳理工学院实验报告
系部
计算机与信息工程系
班级
学号
姓名
课程名称
DSP技术
实验日期
实验名称
计算一个角度的正弦值
成绩
实验目的:
1. 熟悉 DSP 的汇编语言程序构架,S开发环境。
2. 利用 DSP 汇编语言实现正弦信号的计算。
实验条件:
S开发环境的电脑
实验原理:
正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。
用 DSP 实现正弦波信号发生器通常有三种方法:
(1) 查表法将某个频率的正弦/余弦值计算出来后制成一个表,通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。
(2) 迭代法利用数字震荡器通过迭代方法产生正弦信号。
(3) 泰勒级数展开法根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。
正弦函数和余弦函数可以展开成泰勒级数,其表达式:

取泰勒级数的前 5 项,得近似计算式:

由式(3)和由式(4)可推导出递推公式:
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。
实验内容:
计算一个角度的正弦值
计算一个角度 x 的正弦值,可利用泰勒级数的展开式,采用子程序的调用方式来实现。
在调用前先在数据存储器 d_x 单元中存放 x 的弧度值,计算结果存放在 d_sinx 单元中。
:
/********************** *********************/
.mmregs
.def CodeStart
.def d_sinx, d_temp, c_1, d_x, d_squr_x, d_coeff
d_coeff .sect "coeff"
.word 01C7H
.word 030BH
.word 0666H
.word 1556H
d_x .usect "sin_vars", 1
d_squr_x .usect "sin_vars", 1
d_temp .usect "sin_vars", 1
d_sinx .usect "sin_vars", 1
c_1 .usect "sin_vars", 1
.text
CodeStart:
STM #d_coeff, AR3
STM #d_x, AR2
STM #c_1, AR4
sin_angle:
LD #0000H, DP
ST #4305H, d_x
ST #1FFFH, c_1
SQUR *AR2+, A
ST A, *AR2
||LD *AR4, B
MASR *AR2+, *AR3+, B, A
MPYA A
SFTA A, 3, A
STH A, *AR2
MASR *AR2-, *AR3+,

计算一个角度的正弦值 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539606
  • 文件大小0 KB
  • 时间2015-09-17