DSP多波形任意信号发生器实验解说.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京交通大学 数字信号处理(DSP) 综合设计性实验报告 题目:任意信号发生器的设计 学 院: 电 子 信 息 工 程 学 院 班 级: 指导教师: 钱满义 学 生: 北京交通大学电工电子教学基地 2013年7月15日 目 录 一、设计任务 ………………………………………………… 二、实验目的 ………………………………………………… 实验要求及目标………………………………………………… 实验原理………………………………………………… 五、程序代码及仿真结果………………………………………………… 1. 泰勒级数产生正弦波 2. 泰勒级数产生余弦波 3. 三角波 4. 方波 5. 锯齿波 六、实验总结………………………………………… 七、参考资料………………………………………… 一. 设计任务 信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。信号发生器在现代工程中应用非常广泛。在实际中常需要产生一些特殊波形,用于仿真实际信号的波形,以检测和调试测量装置。 使用 DSP可以产生连续的正弦波信号,同样也能产生方波、锯齿波、三角波等其它各种信号波形。本设计要求采用DSP及其CODEC产生上述各种信号波形。 二. 实验目的 (1)了解产生信号的两种方法及各自的优缺点。 (2)掌握使用DSP产生正弦波的原理和算法,进而掌握一般信号产生的原理和方法。 (3)掌握5502DSK CODECC的工作原理和初始化过程。 三. 设计要求及目标 基本部分: 使用DSP产生300—4000HZ的正弦信号,要求使用计算法,并且频率可变、幅度可变、直流分量可变。 发挥部分: 使用DSP产生300—4000HZ的方波、锯齿波和三角波。 四. 设计思路 产生连续信号的方法通常有两种:查表法和计算法,查表法不如计算法使用灵活。计算法可以使用泰勒级数展开法进行计算,也可以使用差分方程进行迭代计算或者直接使用三角函数进行计算。计算结果可以边计算边输出,也可以先计算后输出。 正弦函数和余弦函数的泰勒级数数学表达式为: , ,. 如果要计算一个角度ⅹ的正弦和余弦值,可以取其前五项进行近似计算。或使用下面递归的差分方程进行计算。 y[n]=A*y[n-1]-y[n-2] 其中:A=2cos(x),x=2πF/FS。F—信号频率,FS—D/A转换频率。 利用递推公式计算正弦和余弦值需要已知cos(x)和正弦、余弦的前两个值。计算时所需的计算量小,但如果用来产生连续的正弦和余弦信号,则累积误差太大。要得到精确的计算结果,可以使用泰勒级数展开法进行计算,当然计算时所需的计算量很大。在实际应用时可以根据需要选择相应的算法。 要产生一个正弦信号,首先要算出一个周期内各样点的值,因为sin(x)的值总是小于1的小数,而5402 DSP是16位的定点处理器,所以要将其乘以215,变为Q15的数据格式,才能够在DSP中送到D/A转换器进行处理。 查表法与计算法的优缺点比较: 查表法:事先将要输出的数据计算好,存储在DSP的内部RAM中,然后依次循环输出,从而才生波形。这种方法的优点在于其速度快,可以产生频率很高的波形,而且不占用DSP的计算时间,它的缺点是需要占用DSP的内存空间,尤其是对采样频率比较大的输出波形,所需要的内部空间很大,所以这种方法用于对精度和频率要求不高的场合。 计算法:采用计算的方法依次计算数据然后输出。计算法的优缺点正好和查表法相反。其优点是不占用DSP的存储空间,可以根据信息随时间改变或调整输出波形的周期波形;其缺点是占用DSP的计算时间,使得执行程序的开销大 在本次实验中我们采用计算法来产生正弦波,并且同时使用了泰勒级数、递归差分方程和三角函数计算三种方法来进行计算,以对这三种算法进行横向比较。 五. 程序代码及仿真结果 1.泰勒级数法实现正弦波 程序代码: #include math.h #include stdio.h #include csl.h #include csl_chip.h #include csl_i2c.h #include csl_pll.h #include csl_mcbsp.h #include csl_emif.h #include csl_emifBhal.h #include stdio.h //#include E2PROM_Function.h #include CODEC.h #define Nx 720 //每周

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档