1、最新DSP课设汇总DSP课设DSP 原 理 及 应 用课程设计报告 课题名称:正弦信号发生器的设计 姓 名:王 也 学 号: 07100602 院 系 部:现代科技学院信息工程系 专 业:信息07-1正弦信号发生器的设计引言数字信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号(例如声音信号)都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。目前,常用的信
2、号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积大和功耗都很大,而由数字电路构成的低频信号发生器,虽然其低频性能好但体积较大,价格较贵,而本文借助DSP运算速度高,系统集成度强的优势设计的这种信号发生器,比以前的数字式信号发生器具有速度更快,且实现更加简便。一、设计目的 1. 了解DSP及DSP控制器的发展过程及其特点2. 较熟练地在硬件上掌握DSP及DSP硬件器的结构、各部件基本工作原理3.学习DSP程序的调试及编写,及运用观察变量的方法查看程序的运行情况。二、设计内容用TMS320C54x的汇编语言程序设计正
3、弦信号发生器大大方便了程序的编写、调试和加快了程序的运行速度。三、实验原理 1. 正弦波产生原理一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。本文采用了泰勒级数展开法。一个角度为的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得:Skip Record If.(1)Skip Record If.(2)式中:x为的弧度值,x=2ffs(fs是采样频率;f是所要发生的信号频率)。2.
4、 硬件设计系统硬件主要由微机、DSP芯片、数模转换模块组成。其中,DSP芯片采用的是TI公司性价比良好的TMS320VC5402。它有一组程序总线和三组数据总线、高度并行性的算术逻辑单元ALU、专用硬件逻辑片内存储器、增强型HPI口和高达100 MHz的CPU频率。它可以在一个周期里完成两个读和一个写操作,并且具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法。DA采用了一种双极型8位、低功耗数模转换器DAC08,实现了高速同步数模转换。硬件结构框图如图1所示。3 软件设计软件设计是基于CCS开发环境的。CCS是TI公司推出的为开发TMS32
5、0系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。本文采用了与硬件开发板相结合的在线编程模式,通过CCS软件平台上应用C语言及C54X汇编语言来实现正弦信号发生装置。软件设计的思想是:正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法
6、的SIN子程序组成,相应的软件流程图如图2和图3所示。程序中,N值为产生正弦信号一个周期的点数,产生的正弦信号频率与N数值大小及DA转换频率fDA有关,产生正弦波信号频率f的计算公式为: f=fDA/N因此,选择每个正弦周期中的样点数,改变每个采样点之间的延迟,即通过调节N值产生不同频率的波形,同时也可以利用软件改变输出的离散波形值乘以相应的缩放因子A,从而调节波形的幅度。四、总体方案设计1.基于DSP的特点,本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。2.用泰勒级数展开法实现正弦波信号。3.设置波形时域观察窗口,得到其滤波前后波形变化图;4.设置频域观察窗口,
7、得到其滤波前后频谱变化图。五、主要参数 Coeff , x ,squr_x, temp, sinx 六、源程序 .mmregs .def start .def sin_start, d_x, d_sinxSTACK: .usect STACK,10Hstart: STM #STACK+10,SP LD #d_x, DP ST #6487H, d_x CALL sin_startend: B endsin_start: .def sin_startd_coeff .usect coeff,4 .datatable: .word 01C7H ;C1=1/(8*9) .word 030BH ;C2=
8、1/(6*7) .word 0666H ;C3=1/(4*5) .word 1556H ;C4=1/(2*3)d_x .usect sin_vars,1d_squr_x .usect sin_vars,1d_temp .usect sin_vars,1d_sinx .usect sin_vars,1c_l .usect sin_vars,1 .text SSBX FRCT STM #d_coeff, AR5 RPT #3 MVPD #table,*AR5+ STM #d_coeff, AR3 STM #d_x,AR2 STM #c_l,AR4 ST #7FFFH,c_l SQUR *AR2+,
9、A ;A=x2 ST A,*AR2 ;(AR2)=x2 LD *AR4,B ;B=1 MASR *AR2+,*AR3+,B,A ;A=1-x2/72,T=x2 MPYA A ;A=T*A=x2(1-x2/72) STH A,*AR2 ;(d_temp)=x2(1-x2/72) MASR *AR2-,*AR3+,B,A ; A=1-X2/42(1-X2/72),T=x2(1-x2/72) MPYA *AR2+ ;B=x2(1-x2/42(1-x2/72) ST B,*AR2 ;(d_temp)=x2(1-x2/42(1-x2/72) LD *AR4,B ;B=1 MASR *AR2-,*AR3+
10、,B,A ; A=1-x2/20(1-x2/42(1-x2/72) MPYA *AR2+ ; B=x2(1-x2/20(1-x2/42(1-x2/72) ST B,*AR2 ; (d_temp)=B LD *AR4,B ;B=1 MASR *AR2-,*AR3+,B,A ; A=1-x2/6(1-x2/20(1-x2/42(1-x2/72) MPYA d_x ; B=x(1-x2/6(1-x2/20(1-x2/42(1-x2/72) STH B,d_sinx ;sin(theta) RET .end七、实验结果及分析图4 波形实现结果图5 信号频谱图输出结果显示,在CCS图形观察窗口得到了频率稳定,信号干扰小,波形失真度较小的正弦信号。八、设计总结 本次课程设计,基于课程理论只是和网上资料,使我们对数字信号处理课程有了更深一步的了解和掌握,对利用ccs软件编程的数字信号处理方法有了进一步的了解。在理论课的基础上进行实验实习,是对本门课程的深入学习和掌握,在以后的工作学习中,数字信号的处理都是采用计算机仿真的方法进行测试,因此,掌握基于计算机的数字信号处理方法对以后的工作和学习有很大的帮助。这样一个课程设计对我们的发展有着极大的帮助!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1