网站大量收购独家精品文档,联系QQ:2885784924

实验三用定时器实现数字振荡器.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

实验三 用定时器实现数字振荡器 1 实验目的 在数字信号处理中,会经常使用到正弦/余弦信号。通常的方法是讲某个频率的正弦/余弦值余弦计算出来后制成一个表,DSP工作时仅作查表运算即可。在本实验中将介绍另一种获得正弦/余弦信号的方法,即利用数字振荡器用叠代方法产生正弦信号。 本实验除了学习数字振荡器的DSP实现原理外,同时还学习C54X定时器使用以及中断服务程序编写。另外,在本实验中我们将使用汇编语言和C语言分别完成源程序的编写。 2 实验要求 本实验利用定时器产生了一个2kHz的正弦信号,定时器被设置成每25uS产生一次中断,(等效于采样速率未40k)利用该中断,在该中断服务程序中用叠代算法计算出一个SNT值,病利用CCS的图形显示功能查看波形。 3 实验原理 (1)数字振荡器原理 设一个传递函数为阵线序列sinkwT,其z变换为 其中,A=2coswT,B=-1,C=sinwT。设初始条件为0,求出上式的反Z变换得: y[k]=Ay[k-1]+By[k-2]+Cx[k-1] 这是个二阶差分方程,其单位冲击响应即为sinkwT。利用单位冲击函数x[k-1]的性质,即仅当k=1时,x[k-1]=1,代入上式得: k=0 y[0]=Ay[-1]+By[-2]+0=0 k=1 y[1]=Ay[0]+By[-2]+c=c k=2 y[2]=Ay[1]+By[0]+0=Ay[1] k=3 y[3]=Ay[2]+By[1] k=n y[n]=Ay[n-1]+By[n-2] 在k﹥2以后,y[k]能用y[k-1]和y[k-2]算出,这是一个递归得方法。 根据上面得说明,我们可以开始数字振荡器得设计。设该振荡器得频率为2kHz,采样率为40kHz(通过定时器设置,每隔25us中断一次,即产生一个y[n])则递归得差分方程系数为: A=2coswT=2cos(2×PI×2000/40000)=2×0B=-1 C=sinwT=sin(2×PI×2000/40000)=0为了便于定点DSP处理,我们将所有系数除以2,然后用16为定点格式表示为: 这便是本实验中查生2kHz阵线信号的三个系数。在本实验中,主程序在初始化时先计算出y[1]和y[2],然后开放定时器中断。以后每次进入定时器中断服务程序时,利用前面的y[1]和y[2],计算出新的所有y[n],通过CCS提供的图形显示工具,我们将在图形窗口中看到一个正弦信号波形。下面时初始化和中断服务程序代码片断: 初始化y[1]和y[2]: ssbx FRCT :置FRCT =1,准备进行小数乘法运算 st #INIT_A,AA :将常数A装入变量AA st #INIT_B,BB :将常数B装入变量BB st #INIT_C,CC :将常数C装入变量CC pshd CC :将变量CC压入堆栈 popd y2 :初始化y2=CC ld AA.T :装AA到T寄存器 mpy y2,a :y2乘系数A,结果放入A寄存器 sth a,y1 :将A寄存器得高16位存入变量y1 中断服务程序片断 ld BB,T :将系数B 装入T寄存器 mpy y2,a :y2乘系数B,结果放入A寄存器 ltd y1 :将y1装入T寄存器,同时复制到y2 mac AA,a :完成新正弦数据的计算,a寄存器中为 y1*AA+y2*BB sth a,l,y1 :将新数据存入y1,因所有系数都除过2,所以在 保存结果时转移一位,恢复数据正常大小 sth a,l,y0 :将新正弦数据存入y0 (2)C54X的定时器操作 C54X的片内定时器利用CLKOUT时钟计数,用户使用三个寄存器(TIM,PRD,TCR)来控制定时器,参见表4-1。

文档评论(0)

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

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

1亿VIP精品文档

相关文档