-
内蒙古工业大学信息工程学院
实
验
报
告
课程名称:
DSP
技术
实验名称:
正弦波振荡器
实验类型:
验证性□ 综合性□
设计性■
实验室名称:
信息学院机房
班
级
:
电子
09-1
学
号:
2
姓
名
:
郝彩清
组
别
:
同
组
人
:
p>
成
绩
:
实
验
日
p>
期
:
2
012
年
6
月
27
日
内蒙古工业大学信息工程学院
实
验
报
p>
告
撰
写要
求
一、
实验前用预习报告纸撰写预习报告,
预习报告包括以下内容
1
、
实验目的
2
、
实验用仪器设备、器材或软件环境
3
、
实验原理、方案设计、程序框图、预编程序等
4
、
实验过程中需要记录的实验数据表格
二、
实验过程中,要认真观察,仔细记录
三、
完成实验后用实验报告纸撰写实验报告,包括以下内容
1
、
仪器设备型号及编号
2
、
实验器材或软件环境
3
、
实验步骤、程序调试方法
4
、
实验数据处理及结果分析
5
、
实验中存在的问题
6
、
体会及思考题
四、
报告撰写时,要求格式规范、书写整齐
内蒙古工业大学信息工程学院
预习报告成绩:
指
导教师审核
(签名)
:
年
月
日
预
p>
习
报
告
1
、实验目的
(
1
)了解利用
CCS
进行
DSP
工程项目创建、编译和运行的过程;
p>
(
2
)会利用
CCS
中提供的图形化显示工具、断点、探点等调试工具进行工
程项目的简单
调试;
(
3
)能够设计基于迭代法的数字正弦振荡器;
(
4
)掌握定时器中断的设置和使用。
2
、实验用仪器设备、器材或软件环境
(
1
)微机一台;
(
2
)
CCS
软件;
(
3
)
DES5402PP-U
实验
箱。
3
、实验原理
本实验采用递归的差分方程方法计算正弦和余弦值,其数字振荡器的实现原理与实验
5
(
c
)相同。其实现公式为:
y[n]=2cos
α
×y[n
-1]
-
y[n-2]
式中:
?
?
2
?
?
f
p>
为角度的计算步长,
f
0
< br>是正弦信号的频率,
f
s
是
p>
D/A
转换速率。
0
f
s
利用上面的递推公式计算正弦
或余弦值
y[n]
需要已知
cos
p>
α
和正弦
/
余弦的
前两个初始
值
y[0]
和
y[1]
。
在产生周期性的正弦信号时,
必须以一定的
D/A
转换速率
f
s
将各个样点值送
往
D/A
转换器。正弦信号每个周期的样点数
N
p>
由正弦信号的频率
f
0
及
D/A
转换速率
f
s
决定,
即
f
N
?
p>
s
f
0
例如,当利
用递归的差分方程产生正弦信号时,若设定
D/A
转换速率
p>
f
s
=
16000
Hz
,则产
生
f
0
=
1000Hz
的正弦波信号时,
存在
N
?
f
s
f
0
?
p>
1
6
0
0
0
1
0
0
0
?
1
6
< br>
,此时
?
?
2
?
?
f
0
f
s
?
2
?
N
?<
/p>
2
?
1
6
?
0.3
9
2
7
首先在程序中计算出
cos
α
及初始值
y[0]
和
y[1]
。
p>
cos
α
=
0.9
238795
;
y[0]
=
sin0
=
0
;
y[1]
=
sin
α
=
0.382683
;
n≧2
以后的
y[n]
的值,都可以通过前面的递推
公式递归计算得出。
在产生正弦信号的过程中,由于
sinx
的值总是小于
1
的数,而
F206
DSP
是
16
位定点处
理器,
所以要将其乘以
2
15
,
变成
Q15
的数据格式,
才
能够在
DSP
中送到
D/A
转换器进行处理。
本实验采用低速
D/A
转换器
(
AIC10
)
进行
D/A
转换。
在
AIC10
中包含
A/D
和
D/A
两部分电路,
在实验中只使用
D/A
转换部分。
F
206
DSP
通过片内外设
SSP<
/p>
(
同步串行口)
与
EVM
板上的
AIC10
相连。当<
/p>
F206 DSP
的发送
FIFO
缓冲区空时,产生
SSP
发送中断。此时调用
XmitIsr
中断服
务程序。
XmitIsr
中断服务程序的功能:
p>
对于软件仿真时,
中断服务程序根据正弦振荡器的算法计
算出
1000h
点正弦波的波形值,并把这些波形
值存储到板载存储器
900h
开始的存储单元上;
对于硬件仿真时,中断服务程序除了根据正弦振荡器的算法产生正弦波波形值以外,还要将
该波形数据通过
AIC10
进行
< br>D/A
转换。
内蒙古工业大学信息工程学院
如果需
要改变输出信号的幅值,可以将数据乘以或除以相应的因子即可。如果需要增加
直流分量
,可以在数据上加上或减去某个数值。
若使用
D/A
转换器,
必须首先对
D
/A
转换器的进行初始化设置,
即设置
D/A
转换器的工作模
式(
15+1b
it
模式,
16bit
模式)、抽样频
率(
8000Hz
,
16000Hz<
/p>
)以及输出增益等
4
、预编程序
.title
=
400
00Hz
,
25 us TINT)
.mmregs
.global _c_int00
.global y0,y1,y2,AA,BB,CC
.ref vector
OFF_INTIMER .set
04Ch vector of INTtimer at
VECTOR+OFF_INTIMER
INIT_A
.set 079bch A/2=0.951
INIT_B .set 0c000h
; B/2=-0.5
INIT_C .set
0278dh C
.bss
y0,1
.bss y1,1
.bss y2,1
.bss temp,1
.bss AA,1
.bss BB,1
.bss CC,1
.text
_c_int00:
ld #0,dp
ssbx intm disable all interrupt !
st #1fffh,sp
ld
#vector, a
and
#0FF80h, a
andm #007Fh, pmst
or pmst, a
stlm
a, pmst set IPTR
stm
#10h,TCR init TIMER
stm #2499,PRD f=100M/(2499+1)=40kHz
stm #20h,TCR reset
TIMER
ldm IMR,a
read back IMR
or #08h,a
; enable TIMER interrupt
stlm
a,IMR set IMR
ld #temp,dp set DP
=
0.325
get
vector table address !
内蒙古工业大学信息工程学院
ssbx FRCT prepare for fraction
mpy
st #INIT_A,AA
init AA
st #INIT_B,BB
init BB
st #INIT_C,CC
init CC
pshd CC
popd y2 init y2,y2=CC
ld AA,T T=AA
mpy y2,a y2*AA
-> a
sth a,y1
y2*AA -> y1
stm #0h,TCR
; enable TIMER
nop
rsbx intm
; enable all interrupts !
idle:
nop
b idle
.end
4
.实验要求
(
1
)
p>
对自己编写的实验程序进行汇编、运行,对出现的问题进行调试,并作必要的记
录。
(
2
)
p>
记录数字序列在不少于
2
个周期内的数据及
对应的时域波形
(注意地址的一致性)
。
(
3
)
分析数字序列的频谱(需要注明
FFT
点数、窗函数和其他关键信息)。
(
4
)
p>
观察量化(不同
Q
值)对定点
DSP
算法的影响(频谱纯度、稳定性),记录关键数
据和波形。
5.
实验报告要求
(
1
)说明设计过程(包括滤波器系数、量化结果、定
时器设置等);
(
2
)绘制程序流程图(要求与代码相对应);
(<
/p>
3
)实验要求记录的数据、波形以及其他关键信息;
(
4
)程序调试中遇到
的问题以及解决过程;
(
5
)实验代码清单;
-
-
-
-
-
-
-
-
-
上一篇:各芯片控制字及操作字格式
下一篇:霍兰德职业代码职业兴趣代码及职业对照表