DSP课设.docx
- 文档编号:9855350
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:11
- 大小:42.35KB
DSP课设.docx
《DSP课设.docx》由会员分享,可在线阅读,更多相关《DSP课设.docx(11页珍藏版)》请在冰豆网上搜索。
DSP课设
目录
一、设计目的………………………………………………………1
二、设计原理………………………………………………………1
三、设计内容………………………………………………………2
四、总体设计方案…………………………………………………2
五、源程序…………………………………………………………2
六、仿真结果及分析……………………………………………10
七、设计总结……………………………………………………11
正弦信号发生器课程设计报告
一、设计目的
1、掌握正弦信号发生器的设计过程;
2、掌握用泰勒级数展开法实现正弦波信号的原理和方法;
3、学习编写用DSP实现正弦信号发生器的汇编程序;
4、利用CCS的波形观察窗口观察正弦波的性质。
二、设计原理
正弦波信号发生器被广泛地应用于通信,仪器仪表和工业控制等领域的信号处理系统中。
通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。
查表法主要用于对精度要求不高的场合,而泰勒级数展开法是一种比查表法更为有效的方法,它能精确地计算出一个角度的正弦和余弦值,且只需较小的存储空间。
本设计采用泰勒级数展开法来实现正弦波信号。
取泰勒级数的前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)x和cos(n-2)x。
三、设计内容
编写用DSP实现正弦信号发生器的汇编程序,最终产生正弦波信号,并观察其波形。
四、总体设计方案
利用计算一个角度的正弦值和余弦值程序可实现正弦波,其实现步骤如下:
1、利用角度正余弦值计算的子程序,计算0~45°(间隔为0.5°)的正弦和余弦值。
2、利用sin(2x)=2sin(x)cos(x)公式,计算0°~90°的正弦值(间隔为1°)。
3、通过复制,或得0°~359°的正弦值。
4、将0°~359°的正弦值重复从PA口输出,便可得到正弦波。
五、源程序
1、计算一个角度的正弦值,用子程序的调用方式
程序如下sinx.asm:
.title"sinx.asm"
.mmregs
.defstart
.refsin_start,d_xs,d_sinx
STACK:
.usect"STACK",10
start:
STM#STACK+10,SP
LD#d_xs,DP
ST6487H,d_xs;x→d_xs
CALLsin_start
end:
Bend
sin_start:
.defsin_start
d_coef_s.usect"coef_s",4
table_s:
.word01C7H
.word030BH
.word0666H
.word1556H
d_xs.usect"sin_vars",1
d_squr_xs.usect"sin_vars",1
d_temp_s.usect"sin_vars",1
d_sinx.usect"sin_vars",1
c_l_s.usect"sin_vars",1
.text
SSBXFRCT
STM#d_coef_s,AR4
RPT#3
MVPD#table_s,*AR4+
STM#d_coef_s,AR2
STM#d_xs,AR3
STM#c_l_s,AR5
ST#7FFFH,c_l_s
SQUR*AR3+,A
STA,*AR3
||LD*AR5,B
MASR*AR3+,*AR2+,B,A
MPYAA
STHA,*AR3
MASR*AR3-,*AR2+,B,A
MPYA*AR3+
STB,*AR3
||LD*AR5,B
MASR*AR3-,*AR2,B,A
MPYA*AR3+
STB,*AR3
||LD*AR5,B
MASR*AR3-,*AR2,B,A
MPYAd_xs
STHB,d_sinx
RET
.end
2、计算一个角度x的余弦值,用子程序的调用方式。
程序如下cosx.asm
.title"cosx.asm"
.mmregs
.defstart
.refcos_start,d_xc,d_cosx
STACK:
.usect"STACK",10
start:
STM#STACK+10,P
LD#d_xc,DP
ST#6487H,d_xc;x→d_xc
CALLcos_start
Bend
cos_start
.defcos_start
d_coff_c.usect"coef_c",4
.data
table_c:
.word0249H;c1=1/(7*8)
.word0444H;c2=1/(5*6)
.word0AABH;c3=1/(3*4)
.word4000H;c4=1/2
d_xc.usect"cos_vars",1
d_squr_xc.usect"cos_vars",1
d_temp_c.usect"cos_vars",1
c_l_c.usect"cos_vars",1
.text
SSBXFRCT
STM#d_coef_c,AR4
RPT#3
MVPD#table_c,*AR4+
STM#d_coef_c,AR2
STM#d_xc,AR3
STM#7FFFH,c_l_c
SQUR*AR3+,A
STA,*AR3
||LD*AR5,B
MASR*AR3+,*AR2+,B,A
MPYAA
STHA,*AR3
MASR*AR3-,*AR2+,B,A
MPYA*AR3+
STB,*AR3
||LD*AR5,B
MASR*AR3-,*AR2,B,A
SFTAA,-1,A
NEGA
MPYA*AR3+
MAR*AR3+
RETD
ADD*AR5,16,B
STHB,*AR3
RET
.end
3、正弦波的产生
源程序如下sin.asm
.title"sin.asm"
.mmregs
.defstart
.refd_xs,d_sinx,d_xc,d_cosx,sinx,cosx
sin_x:
.usect"sin_x",360
STACK:
.usect"STACK",10
k_theta.set286;theta=pi/360(0.5deg)
PA0.set0
start:
.text
STM#STACK+10,SP
STMk_theta,AR0
STM#0,AR0
STM#sin_x,AR7
STM#90,BRC
RPTBloop1-1
LDMAR0,A
LD#d_xs,DP
STLA,@d_xs
STLA,@d_xc
CALLsin_start
CALLcos_start
LD#d_sinx,DP
LD@d_sinx,16,A;A=sin(x)
MPYA@d_cosx;B=sin(x)*cos(x)
STHB,1,*AR7+;AR6----2*sin(x)
MAR*AR0+0
loop1:
STM#sin_x+89,AR6;sin91(deg.)-sin179(deg.)
STM#88,BRC
RPTBloop2-1
LD*AR6-,A
STLA,*AR7+
loop2:
STM#179,BRC;sin180(deg.)-sin359(deg.)
STM#sin_x,AR6
RPTBloop3-1
LD*AR6+,A
NEGA
STLA,*AR7+
loop3:
STM#sin_x,AR7;generatesinwave
STM#1,AR1
STM#360,BK
Loop4:
PORTW*AR7+0%,PA0
Bloop4
.end
4、正弦波链接命令文件sin.cmd的产生
程序如下:
vectors.obj
sin.obj
-osin.out
-msin.map
-estart
MEMORY
{
PAGE0:
EPROM:
org=0E000H,len=1000H
VECS:
org=0FF80H,len=0080H
PAGE1:
SPRAM:
org=0060H,len=0020H
DARAM1:
org=0080H,len=0010H
DARAM2:
org=0090H,len=0010H
DARAM3:
org=0200H,len=0200H
}
SECTIONS
{
.text:
>EPROMPAGE0
.data:
>EPROMPAGE0
STACK:
>SPRAMPAGE1
sin_vars:
>DARAM1PAGE1
coef_s:
>DARAM1PAGE1
cos_vars:
>DARAM2PAGE1
coef_c:
>DARAM2PAGE1
sin_x:
align(512){}>DARAM3PAGE1
.vectors:
>VECSPAGE0
}
六、仿真结果及分析
1.仿真结果如下:
仿真图
2.分析
由结果可以看出在CCS图形观察窗口得到了频率稳定,信号干扰小,波形失真度较小的正弦信号,仿真结果较为理想,这表明在CCS软件平台上,采用汇编语言编写程序,利用泰勒级数展开法的原理,可以实现正弦波信号发生器。
七、设计总结
这次设计的是正弦信号发生器,在课程设计过程中,遇到了很多困难,因为平时对ccs这个软件不是太熟悉,刚开始安装软件就遇到了很大的困难,在这个上面花了很长的功夫,但是经过不断地查阅资料和课本,在老师和同学的帮助下终于克服了困难找到解决的办法,然后就是编写源程序同样遇到了巨大的困难,但是通过不断的询问和请教最终完成了课程设计。
通过这次课程设计使我对DSP这门课程有了更加深刻的认识,基于课程理论只是和网上资料,是我对DSP的功能和芯片应用有了更广泛和具体的了解和掌握,对利用CCS软件编程的数字信号处理方法有了进一步的理解。
在本设计过程中积累到的种种分析问题解决问题的思路方法也尤为可贵,不仅对本门课程的学习是一个指导,也将有利于其他课程的学习掌握,真正达到了融会贯通的功用。
这次课程设计使我学到了很多课本中没有的知识,不仅仅是对于CCS环境的应用和DSP的设计方面,在日常生活中,为人处世的等方面都有多感悟。
更加明白了,做什么事都不容易。
这些都将是我以后学习生活和工作中不可多得的宝贵财富,在以后学习和工作中指导自己前进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP