DSP课程设计报告(优)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP课程设计报告

——多波形信号发生器

目录

一、实验目的 (2)

二、实验内容 (2)

三、实验原理 (3)

1.产生连续的波形的方法 (3)

1.1 查表法: (3)

1.2计算法: (3)

2. TLV320AIC23B的内部结构及工作原理 (3)

四、程序设计 (4)

五、程序调试 (10)

1、编译过程 (10)

2、.cmd程序(5502.cmd)全文及其解释: (10)

3、程序运行结果(图形和数据显示): (12)

六、硬件输出演示: (14)

七、实验感想与体会....................................................................................... 错误!未定义书签。

八、参考文献 (16)

一、实验目的

1.学习并掌握D/A转换器的初始化设置及其应用

2.学习并掌握使用DSP产生正弦波的原理和算法,进而掌握任意信号波形(如三角波、锯齿波、矩形波等信号)产生的原理和算法。

3.比较产生信号的两种主要方法(查表法和计算法)的优缺点。

4.熟练使用软件CCS3.3对程序的完整调试过程。

二、实验内容

使用DSP产生300~16000Hz的正弦、方波、锯齿波和三角波信号,输出信号的幅度从0~1Vrms(有效值)。要求使用计算法,并且频率可变、幅度可变。

本实验要求用软件CCS3.3编程实现,并与硬件连接进行功能演示。

三、实验原理

1.产生连续的波形的方法

1.1 查表法:

把事先将需要输出的数据计算好,存储在DSP 中,然后依次输出就可以了。查表法的优点是速度快,可以产生频率较高的波形,而且不占用DSP 的计算时间;查表法的缺点在于需要占用DSP 的内部的存储空间,尤其对采样频率比较大的输出波形,这样,需要占用的内部的空间将更大,而DSP 内部的存储空间毕竟有所限制。这使得查表法的应用场合十分有限。

1.2计算法:

采用计算的方法依次计算数据而后输出,然后再计算而后输出。计算法的优缺点正好和查表法相反。即:其优点是不占用DSP 的存储空间,其缺点是占用DSP 的计算时间,使得执行程序的开销变大。本实验将用第二种方法即计算法产生一个正弦波信号,从DA 输出。由余弦信号的递推公式:

得知:如果需要产生连续的余弦信号,必须知道首先两个余弦值的大小,然后就可以利用上式计算出后面的数据,这就是下面编程依据的核心算法。

正弦函数和余弦函数的泰勒级数数学表达式为:

=x sin +--+-+-+---)!

12()1(!9!7!5!31

219753n x x x x x x n n ,x ∀),(∞-∞∈ =x cos +-+-+-+-)!

2()1(!8!6!4!2128

642n x x x x x n n ,x ∀),(∞-∞∈. 如果要计算一个角度ⅹ的正弦和余弦值,可以取其前五项进行近似计算。

也可以用递推公式求正弦和余弦值:

θθθθ)2sin()1sin(cos 2sin ---•=n n n

θθθθ)2cos()1cos(cos 2cos ---•=n n n

利用递推公式计算正弦和余弦值需已知cos(x)、sin(n-1)x 、sin(n-2)x 和cos(n-2)x 的值。用这种方法,求少数点可以,如产生连续正弦、余弦波,则累积误差太大,不可取。 最终产生信号的频率为f0=fs/N ,其中N 为抽样点数。

2. TLV320AIC23B 的内部结构及工作原理

TLV320AIC23B 是TI 公司生产的高性能语音CODEC 芯片,16、20、24、32位串行A/D 、

D/A转换电路。

采样速率:可通过DSP编程来设置,范围8KHz~96KHz。

内含抗混叠滤波器和重构滤波器。

//AIC23波特率设置,CLKIN=CLKOUT=MCLK,采样率32KHz,时钟模式为普通模式,Uint16 Sample_Rate_Control[2] = {

Codec_SRC_REV,

SRC_CLKIN(0)+SRC_CLKOUT(0)+SRC_SR(6)

+SRC_BOSR(0)+SRC_USB(0)

};

在AIC23中设置如下:

// AIC23的波特率设置,采样率为32k,CLKIN=CLKOUT=MCLK

// 时钟模式设为普通模式,基过采样率为250Fs

//96k 7

//48k 0

//32k 6

//8k 3

Uint16 Sample_Rate_Control[2] = {

Codec_SRC_REV,

SRC_CLKIN(0)+SRC_CLKOUT(0)+SRC_SR(6)+SRC_BOSR(0)+SRC_USB(0)};

本报告中所有程序的采样频率波特率均为32000Hz

四、程序设计

我们的设计围绕要求展开,需要实现的基本功能为:

1.产生正弦、方波、三角波、锯齿波四种波形

2.波形幅度、频率可借助GEL的slider调整

通过对GEL的学习,我们发现其slider也可以实现选择波形,于是整个演示过程就不需要切换程序了。

主程序设计思路如下图:

代码:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#include "E2PROM_Function.h"

#include "CODEC.h"

#define Nx 360 //每周期抽取点数

#pragma DATA_SECTION(output1,"data_out1"); //存放sin数据,浮点型float output1[Nx];

#pragma DATA_SECTION(output2,"data_out2"); //存放sin数据,浮点型

相关文档
最新文档