施一剑《DSP原理与应用精品教学》实践三 正弦余弦信号发生实验.docVIP

施一剑《DSP原理与应用精品教学》实践三 正弦余弦信号发生实验.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 正弦余弦信号发生器 一 实验目的 了解产生正弦余弦信号的方法及各自的优缺点; 熟悉使用C语言编写较复杂的程序; 熟悉使用汇编语言编写较复杂的程序 ; 二 实验内容 本试验要求产生连续的余弦信号,本文给出两种程序:C语言编写的程序和汇编语言编写的程序。下面编译调试的是C语言程序。 三 实验原理 产生连续的余弦波形的方法主要有两种,第一种方法为查表法,即事先将需要输出的数据计算好,存储在DSP中,然后依次输出就可以了。查表法的优点是速度快,可以产生频率较高的波形,而且不占用DSP的计算时间;查表法的缺点是在于需要占用DSP的内部的存储空间,尤其对采样频率尤其比较大的输出波形,这样,需要占用的内部的空间将更大,而DSP内部的存储空间毕竟有所限制。这样使得查表法的应用场合十分有限。 第二种方法为计算法,即采用计算的方法依次计算数据而后输出,然后再计算而后输出。计算法的优缺点正好和查表法相反。其优点是不占用DSP的存储空间,其缺点是占用DSP的计算时间,使得执行程序的开销变大。 由于查表法实现较为方便,本实验仅介绍计算法产生一个余弦波信号,余弦信号的递推公式为: 从上式得知,它分两步产生余弦。第一步是估计的值,第二步是使用n控制的乘法和减法运算产生信号。然后就可以利用上式计算出后面的数据。 四 程序设计 本实验程序基于以上设计思路,使用C语言实现连续余弦波的输出,主程序如下: /* Program for generates a sequence cosine signal */ /**********余弦信号产生程序**********************/ /* If you use oscillograph you can see this signal */ ioport unsigned port0bfff; #define IOSR port0bfff #define _cosx 0.999390827 #pragma DATA_SECTION(_cosx,data_buf1) float _cosx[200]; #pragma DATA_SECTION(dacdata,data_buf2) int dacdata[180]; void delay(void); void main(void) { unsigned int i=0; _cosx[0]=1.000; dacdata[0]=4095; _cosx[1]=_COSX; dacdata[1]=_COSX*2047+2048; i=1; while(1) { if(i++179) break; _cosx[i]=2*_COSX*_cosx[i-1]-_cosx[i-2]; dacdata[i]=_cosx[i]*2047+2048; } i=0; while(1) { if(i179) i=0; IOSR=dacdata[i++]; /*delay*/ } } void delay(void) { long int j; for(j=0; j200; j++) asm(_nop); } 程序所使用的配置文件为: -c -o cosine.out -l rts.lib MEMORY { PAGE 0: PARAM : origin=0x1000, length=0x0efd PAGE 1: DARAM : origin=0x2000, length=0x2000 } SECTIONS { .text : {} PARAM PAGE 0 .cinit: {} PARAM PAGE 0 .data: {} DARAM PAGE 1 .bss: {} DARAM PAGE 1 .const: {} DARAM PAGE 1 } 对程序的说明: 使用标准C语言编写程序,使用CCS自带的C Compiler将C语言文件转换成标准汇编语言文件; CCS中的C Compiler对程序中用到的变量是自动分配RAM空间的,用户也可以自己分配RAM的特定空间给特定的变量; 标准C语言不提供直接访问硬件的语句,所以对硬件的访问必须使用CCS提供的硬件访问语句; 如果必要,可以使用C和汇编的嵌套编程,使用asm“_xxxxx”; 五 实验步骤 如实验一所示,把cos目录中的所有程序拷贝到ti\myproject\cos下,在C5402 Dvice Simulator界面

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档