正弦波信号发生器 石茹玉.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正弦波信号发生器 石茹玉.doc

DSP原理及应用 课程设计报告书 课题名称: 利用DSP实现正弦波信号 姓 名: 学 号: 院 系: 指导老师: 正弦波信号发生器课程设计 课程设计基础 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。,它所涉及的范围极其广泛。如数学领域中的微积分、概率统计、随机过程、数字分析等都是数字信号处理的基础工具。它与网络理论、信号与系统、控制理论、通信理论、故障诊断等密切相关。 一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等组成。 DSP信号处理过程: 将输入信号x(t)进行抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠; 经采样和A/D转换器,将滤波后的信号转换为数字信号x(n); 数字信号处理器对x(n)进行处理,得数字信号y(n); 经D/A转换器,将y(n)转换成模拟信号; 经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。 课程设计目的 1、了解DSP对数据的处理能力 2、利用DSP实现正弦信号发生器 课程设计总体方案 总体方案设计 ① 基于DSP的特点,本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。 ② 用泰勒级数展开法实现正弦波信号。 ③ 设置波形时域观察窗口,得到其滤波前后波形变化图; ④ 设置频域观察窗口,得到其滤波前后频谱变化图。 正弦波信号发生器 正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。 通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。 查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。 泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。 本次主要用泰勒级数展开法来实现正弦波信号。 产生正弦波的算法正弦函数和余弦函数可以展开成泰勒级数,其表达式: 取泰勒级数的前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)xcos(n-2)x。?sin.pjt,装载程序; ②在程序的适当处加上一个断点。作用:这里定义了一个显示缓冲区dis_buf,将要输出到D/A的数据送到显示缓冲区当中去,以便在CCS图形显示的时候可以从图形显示中得到数据。 ③打开CCS的图形显示窗口,修改如下参数: Start Address=0x1010、 Page=Data、Acquisition Buffer Size=1、Display Data Size=1000;DSP Data Type=16-bit signed integer修改后的界面如下: 4.点击CCS的Debug/Animate运行此程序,就可以在CCS的图形观察窗口看到正弦波的显示。注:Animate运行方式是在遇见断点后继续执行的一种方式,在显示图形是特别方便,显示效果如下: 附:源程序: * 用泰勒级数开展开式计算一个角度的正弦值 * *sin(x)=x(1-x*x/2*3(1-x*x/4*5(1-x*x/6*7(1-x*x/8*9))))* ****************************************************** .title sinx.asm .mmregs .def start STACK: .usect STACK,10 start: STM #STACK+10,SP LD #d_x,DP ST #6487H,d_x ;x--d_x CALL sin_start end: B end sin_start: .def sin_start d_coeff .usect coeff,4 .data table: .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_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 .u

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档