文档库 最新最全的文档下载
当前位置:文档库 › DSP正弦波实验

DSP正弦波实验

DSP正弦波实验
DSP正弦波实验

正弦波发生器

1.实验原理

产生连续的波形的方法主要有以下两种方法:

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

2、计算法:采用计算的方法依次计算数据而后输出,然后再计算而后输出。计算法的优缺点正好和查表法相反。即:其优点是不占用DSP的存储空间,其缺点是占用DSP的计算时间,使得执行程序的开销变大。

下面是一个采用C编写的信号产生程序以及所必须的配置文件

#include

#include "sine.h"

#include

//增益控制变量

int gain = INITIALGAIN;

//声明并初始化一个IO缓冲器

BufferContents currentBuffer;

// 定义一些函数

static void processing(); //处理输入并生成输出

static void dataIO(); // 用探测点使用虚拟函数

int a[360],i;

void main()

{

puts("SineWave example started.\n");

for(i=0;i<360;i++)

a[i]=0;

for(i=0;i<360;i++)

a[i]=(int)(sin(i*3.14159/180)*32767);

while(TRUE) // 无限循环

{

/*使用探针点连接到一个主机文件读取输入数据。

通过连接一个探测点写输出数据到图形中。*/

dataIO();

/*应用增益到输入,以获得输出*/

processing();

}

}

/*

*功能:用信号处理转换输入信号产生输出信号

*参数:BufferContents的内容结构包含输入/输出数组的大小BUFSIZE

*返回值:无。

*/

static void processing()

{

int size = BUFFSIZE;

while(size--){

currentBuffer.output[size] = currentBuffer.input[size] * gain; }

}

/*

*功能: 使用探测点来读输入信号和写处理了的输出信号

*参数:无。

*返回值:无。

*/

static void dataIO()

{

return;

}

配置文件:

MEMORY

{

PAGE 0: EPROG: origin = 0x1400, len = 0x7c00

VECT: origin = 0xff80, len = 0x80

PAGE 1: USERREGS: origin = 0x60, len = 0x1c

BIOSREGS: origin = 0x7c, len = 0x4

IDATA: origin = 0x80, len = 0x1380

EDATA: origin = 0x1400, len = 0x8000

EDATA1: origin = 0x9400, len = 0x4c00

}

SECTIONS

{

.vectors: {} > VECT PAGE 0

.sysregs: {} > BIOSREGS PAGE 1

.trcinit: {} > EPROG PAGE 0

.gblinit: {} > EPROG PAGE 0

frt: {} > EPROG PAGE 0

.text: {} > EPROG PAGE 0

.cinit: {} > EPROG PAGE 0

.pinit: {} > EPROG PAGE 0

.sysinit: {} > EPROG PAGE 0

.bss: {} > IDATA PAGE 1

.far: {} > IDATA PAGE 1

.const: {} > IDATA PAGE 1

.switch: {} > IDATA PAGE 1

.sysmem: {} > IDATA PAGE 1

.cio: {} > IDATA PAGE 1

.MEM$obj: {} > IDATA PAGE 1

.sysheap: {} > IDATA PAGE 1

.stack: {} > IDATA PAGE 1

}

2.实验步骤

1.打开CCS,新建立一工程文件sinewave.pjt。

2.将C源文件sine.c 和链接命令文件sinewave.cmd ,库文件rts.lib 添加到sinewave.pjt 中。

3.在project 菜单下选择build options 选项,选取Linker 选项, 调整为下图所示

4.编译,连接。

5.在file 菜单下,选择load program 选项,将生成的sinewave.out 文件装载到DSP 中,再运行。

6.可以在view 菜单下选择graph/time frequence,弹出如下对话框。

按照下图所示,设置好相应的参数,观测时域的波形。

3.实验结果

正弦波信号时域波形:

正弦信号频域波形

https://www.wendangku.net/doc/bb4742625.html,S的使用总结:

1. 打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定。

2. 在Project 中填入工程名,Location 中输入工程路径;其余按照默认选

项,点击完成即可完成工程创建。

3. 点击Project 选择add files to project,添加工程所需文件。

4. 在弹出的对话框中的下拉菜单中分别选择.c 点击打开,即可添加源程.c 添加到工程中,在此实验中是将sine.c添加到工程中。

5.同样的方法可以添加文件.cmd、.lib 到工程中;

6.工程的编译与调试,点击Project → Build all,对工程进行编译,如正确则生成out 文件;若是修改程序,可以使用Project → Build 命令,进行编译连接,它只对修改部分做编译连接工作。可节省编译与连接的时间。编译通过,生成.out 文件。

7.点击File → load program,在弹出的对话框中载入debug 文件夹下的.out 可执行文件。

8.对于波形的参数修改,可以在view 菜单下选择graph/time frequence进行参数的修改。

基于DSP的正弦波信号发生器

第1章 绪论 1.1 DSP 简介 数字信号处理(Digital Signal Processing ,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,信号处理已经在通信等领域得到极为广泛的应用。 图一是数字信号处理系统的简化框图。此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。其中抗混叠滤波器的作用是将输入信号 x(t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。随后,信号经采样和A/D 转换后,变成数字信号x(n)。数字信号处理器对x(n)进行处理,得到输出数字信号 y(n),经D/A 转换器变成模拟信号。此信号经低通滤波器,滤除不需要的高频分量, 最后输出平滑的模拟信号y(t)。 图1.1 数字信号处理系统简化框图 数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。 抗混叠 滤波器 A/D 数字信号处理 D/A 低通滤波器 x(n) y(n) x(t) y(t)

DSP实验报告-深圳大学-自动化

深圳大学实验报告课程名称:DSP系统设计 实验项目名称:DSP系统设计实验 学院:机电与控制工程学院 专业:自动化 指导教师:杜建铭 报告人1:. 学号:。班级:3 报告人2:. 学号:。班级:3 报告人3:. 学号:。班级:3 实验时间: 实验报告提交时间: 教务处制

实验一、CCS入门试验 一、实验目的 1. 熟悉CCS集成开发环境,掌握工程的生成方法; 2. 熟悉SEED-DEC2812实验环境; 3. 掌握CCS集成开发环境的调试方法。 二、实验仪器 1.TMS320系列SEED-DTK教学试验箱24套 2. 台式PC机24台 三、实验内容 1.仿真器驱动的安装和配置 2. DSP 源文件的建立; 3. DSP程序工程文件的建立; 4. 学习使用CCS集成开发工具的调试工具。 四、实验准备: 1.将DSP仿真器与计算机连接好; 2.将DSP仿真器的JTAG插头与SEED-DEC2812单元的J1相连接; 3.启动计算机,当计算机启动后,打开SEED-DTK2812的电 源。SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯及SEED-DEC2812的电源指示灯D2是否均亮;若有不亮,请断开电源,检查电源。 五、实验步骤 (一)创建源文件 1.进入CCS环境。

2.打开CCS选择File →New →Source File命令 3.编写源代码并保存 4.保存源程序名为math.c,选择File →Save 5.创建其他源程序(如.cmd)可重复上述步骤。 (二)创建工程文件 1.打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定弹 出对话框: 2.在Project中填入工程名,Location中输入工程路径;其余按照默认选项,点击完成 即可完成工程创建; 3.点击Project选择add files to project,添加工程所需文件;

基于DSP设计正弦信号发生器

基于DSP设计正弦信号发生器 一.设计目的 设计一个基于DSP的正弦信号发生器 二.设计内容 利用基于CCS开发环境中的C54X汇编语言来实现正弦信号发生装置。三.设计原理 一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。本文采用了泰勒级数展开法。一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得: 式中:x为θ的弧度值,x=2πf/fs(fs是采样频率;f是所要发生的信号频率。 正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相

对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图。

三.总体方案设计 本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。 通过计算一个角度的正弦值和余弦值程序可实现正弦波,其步骤如下: 1.利用sinx和cosx子程序,计算0°~45°(间隔为0.5°)的正弦和余弦值 2.利用sin(2x)=2sin(x)cos(x)公式,计算0°~90°的正弦值(间隔为1°) 3.通过复制,获得0°~359°的正弦值 4.将0°~359°的正弦值重复从PA口输出,便可得到正弦波 四.软件操作 DSP 集成开发环境 CCS是 Code Composer Studio 的缩写,即代码设计工作室。它是 TI 公司推出的集成可视化 DSP 软件开发工具。DSP CCS 内部集成了以下软件工具:◆ DSP 代码产生工具(包括 DSP 的 C 编译器、汇编优化器、汇编器和链接器)◆ CCS 集成开发环境(包括编辑、建立和调试 DSP 目标程序)◆ 实时基础软件 DSP/BIOS (必须具有硬件开发板)◆ RTDX、主机接口和 API(必须具有硬件开发板)在 CCS 下,用户可以对软件进行编辑、编译、调试、代码性能测试(profile)和项目管理等工作。CCS 可以提供如下功能:◆ 设置断点◆ 在断点处自动修改窗口◆ 观察变量◆ 观察和编辑存储器和寄存器◆ 利用测试点使数据流在目标系统和文件之间流动◆ 观察调用堆栈◆ 观察图形信号◆ 代码性能测试(profiling)◆ 观察反汇编和 C 指令执行◆ 提供 GEL (通用扩展语言)语言。此语言能增加一个函数或功能到 CCS 菜单中来完成用户自己设定的任务,是扩展 CCS 功能的专用语言。使用 CCS,可以加速 DSP 的开发进程,是 DSP 开发应用的得力助手。这里以 C54x DSP 的 CCS 3.1 为例介绍正弦波的产生。 利用 CCS 集成开发环境,用户可以在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作环节。 1.创建工程(project)文件 选择Project→New,在“Project”文本框中键入将要创建的工程项目名,本例工程项目名为“sin”

DSP实验报告

DSP实验报告 软件实验 1无限冲激响应滤波器(IIR) 算法 一.实验目的 1 .掌握设计IIR 数字滤波器的原理和方法。 2 .熟悉IIR 数字滤波器特性。 3 .了解IIR 数字滤波器的设计方法。 二.实验设备 PC 兼容机一台,操作系统为Windows2000( 或Windows98 ,WindowsXP ,以下默认为Windows2000) ,安装Code Composer Studio 2.21 软件。 三.实验原理 1 .无限冲激响应数字滤波器的基础理论。 2 .模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。 3 .数字滤波器系数的确定方法。 4 .根据要求设计低通IIR 滤波器: 要求:低通巴特沃斯滤波器在其通带边缘1kHz 处的增益为-3dB ,12kHz 处的阻带衰减为30dB ,采样频率25kHz 。设计: - 确定待求通带边缘频率fp1Hz 、待求阻带边缘频率fs1Hz 和待求阻带衰减-20log δsdB 。 模拟边缘频率为:fp1=1000Hz ,fs1=12000Hz 阻带边缘衰减为:-20log δs=30dB - 用Ω= 2πf/fs 把由Hz 表示的待求边缘频率转换成弧度表示的数字频率,得到Ωp1 和Ωs1 。 Ωp1=2 πfp1/fs=2 π1000/25000=0.08 π弧度 Ωs1=2 πfs1/fs=2 π12000/25000=0.96 π弧度 - 计算预扭曲模拟频率以避免双线性变换带来的失真。 由w=2fs tan( Ω/2) 求得wp1 和ws1 ,单位为弧度/ 秒。 wp1=2fs tan( Ωp1/2)=6316.5 弧度/ 秒 ws1=2fs tan( Ωs1/2)=794727.2 弧度/ 秒 - 由已给定的阻带衰减-20log δs 确定阻带边缘增益δs 。

DSP运行实验报告

DSP运行实验报告 一、实验目的 熟悉CCS软件仿真下,DSP程序的下载和运行;熟悉借助单片机的DSP程序下载和运行; 熟悉借助仿真器的DSP程序下载和运行;熟悉与DSP程序下载运行相关的CCS编程环境。 二、实验原理 CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运行。 如果要让程序在实验板的DSP中运行、调试和仿真,可以用仿真器进行DSP程序下载和运行。初学者也可以不用仿真器来使用这款实验板,只是不能进行程序调试和仿真。 在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP 的片外存储器(相对于FLASH),用于固化程序。 三、实验设备、仪器及材料 安装有WINDOWS XP操作系统和CCS3.3的计算机。 四、实验步骤(按照实际操作过程) 1、CCS软件仿真下,DSP程序的下载和运行。 第一步:安装CCS,如果不使用仿真器,CCS 的运行环境要设置成一个模拟仿真器(软仿真)。

第二步:运行CCS,进入CCS 开发环境。 第三步:打开一个工程。 将实验目录下的EXP01目录拷到D:\shiyan下(目录路径不能有中文),用[Project]\[Open]菜单打开工程,在“Project Open”对话框中选 EXP01\CPUtimer\CpuTimer.pjt,选“打开”, 第四步:编译工程。 在[Project]菜单中选“Rebuild All”,生成CpuTimer.out文件。 第五步:装载程序。 用[File]\[Load Program]菜单装载第四步生成CpuTimer.out文件,在当前工程目录中的Debug 文件夹中找到CpuTimer.out文件,选中,鼠标左键单击“打开”。

基于DSP的信号发生器设计..

基于DSP的信号发生器设计设计题目:正弦信号发生器 专业班级电科11级-1班 学号 311108001417 学生姓名王博 指导教师王科平

摘要 正弦信号发生器是信号中最常见的一种,它能输出一个幅度可调、频率可调的正弦信号,在这些信号发生器中,又以低频正弦信号发生器最为常用,在科学研究及生产实践中均有着广泛应用。 目前,常用的信号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积大和功耗都很大,而由数字电路构成的低频信号发生器,虽然其低频性能好但体积较大,价格较贵,而本文借助DSP运算速度高,系统集成度强的优势设计的这种信号发生器,比以前的数字式信号发生器具有速度更快,且实现更加简便。正弦信号发生器是信号中最常见的一种,它能输出一个幅度可调、频率可调的正弦信号,在这些信号发生器中,又以低频正弦信号发生器最为常用,在科学研究及生产实践中均有着广泛应用。 目前,常用的信号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积大和功耗都很大,而由数字电路构成的低频信号发生器,虽然其低频性能好但体积较大,价格较贵,而本文借助DSP运算速度高,系统集成度强的优势设计的这种信号发生器,比以前的数字式信号发生器具有速度更快,且实现更加简便。

目录 一、概述 (3) 二、系统设计 (4) 2.1 总体方案 (4) 2.2正弦波信号发生器 (4) 三、硬件设计 (5) 3.1硬件组成部分 (5) 3.2控制器部分 (6) 3.4人机接口部分 (7) 四、软件设计 (8) 4.1流程图 (8) 4.2 正弦信号发生器程序清单 (9) 五、总结 (14) 参考文献 (14)

DSP正弦波信号发生器

第1章绪论 1.1 DSP简介 数字信号处理(Digital Signal Processing,简称DSP>是一门涉及许多学科而又广泛应用于许多领域地新兴学科.20世纪60年代以来,随着计算机和信息技术地飞速发展,数字信号处理技术应运而生并得到迅速地发展.数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号地方法,这些信号由数字序列表示.在过去地二十多年时间里,信号处理已经在通信等领域得到极为广泛地应用. ,经 x(t>,信号经采样和A/D 转换后,得到输出数字信号y(n>,, 图1.1数字信号处理系统简化框图 数字信号处理是以众多学科为理论基础地,它所涉及地范围极其广泛.例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理地基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关.近来新兴地一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分.可以说,数字信号处理是把许多经典地理论体系作为自己地理论基础,同时又使自己成为一系列新兴学科地理论基础. 1.2 课题来源 数字信号处理器(DSP>是在模拟信号变成数字信号以后进行高速实时处理地专用处理器.DSP芯片以其独特地结构和快速实现各种数字信号处理算法地突出优点,发展十分迅速.数字信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中应用很多地一种信号发生装置和信号源.而正弦信号是一种频率成分最为单一地常见信号源,任何复杂信号(例如声音信号>都可以通过傅里叶变换分解为许多频率不同、幅度不等地正弦信号地叠加,广泛地应用在电子技术实验、自动控制系统和通

DSP实验报告

DSP实验报告

软件实验 1无限冲激响应滤波器(IIR) 算法 一.实验目的 1 .掌握设计IIR 数字滤波器的原理和方法。 2 .熟悉IIR 数字滤波器特性。 3 .了解IIR 数字滤波器的设计方法。 二.实验设备 PC 兼容机一台,操作系统为Windows2000( 或Windows98 ,WindowsXP ,以下默认为Windows2000) ,安装Code Composer Studio 2.21 软件。 三.实验原理 1 .无限冲激响应数字滤波器的基础理论。 2 .模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。 3 .数字滤波器系数的确定方法。 4 .根据要求设计低通IIR 滤波器: 要求:低通巴特沃斯滤波器在其通带边缘1kHz 处的增益为-3dB ,12kHz 处的阻带衰减为30dB ,采样频率25kHz 。设计: - 确定待求通带边缘频率fp1Hz 、待求阻带边缘频率fs1Hz 和待求阻带衰减-20log δsdB 。 模拟边缘频率为:fp1=1000Hz ,fs1=12000Hz 阻带边缘衰减为:-20log δs=30dB - 用Ω= 2πf/fs 把由Hz 表示的待求边缘频率转换成弧度表示的数字频率,得到Ωp1 和Ωs1 。 Ωp1=2 πfp1/fs=2 π1000/25000=0.08 π弧度 Ωs1=2 πfs1/fs=2 π12000/25000=0.96 π弧度 - 计算预扭曲模拟频率以避免双线性变换带来的失真。 由w=2fs tan( Ω/2) 求得wp1 和ws1 ,单位为弧度/ 秒。 wp1=2fs tan( Ωp1/2)=6316.5 弧度/ 秒 ws1=2fs tan( Ωs1/2)=794727.2 弧度/ 秒 - 由已给定的阻带衰减-20log δs 确定阻带边缘增益δs 。 因为-20log δs=30 ,所以log δs=-30/20 ,δs=0.03162

基于Matlab_DSPBuilder的正弦信号发生器设计.

基于Matlab/DSP Builder的正弦信号发生器设计 引言 近年来随着通信技术的不断发展,信号的正确传输显得日益重要,也就是说要有一个可靠的能产生稳定确信号的发生器,基于Matlab/DSP Builder的正弦信号发生器是利用Matlab/DSP Builder的模块进行的模快化设计,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了、易懂、易学。使硬件在软件的控制下协调运作。 DSP Builder可以帮助设计者完成基于FPGA的DSP系统设计设计,除了图形化的系统建模外,还可以完成及大部分的设计过程和仿真,直至将设计文件下载到DSP 开发板上。此次实验的目的就是将两者的优势有机的结合在一起,利用DSP的优势开发正弦信号发生器。 在设计中主要采用DSP Builder库中的模块进行系统的模型设计,然后再进行Simulink仿真。 1.设计思想 1.1 DSP Builder特点 DSP Builder系统级(或算法级设计工具,它架构在多个软件工具之上,并把系统级(算法仿真建模和RTL(硬件实现两个领域的设计工具连接起来,最大程度的发挥了两种工具的优势。DSP Builder依赖于MathWorks公司的数学分析工具 Matlab/Simulink,可以在Simulink中进行图形化设计和仿真,同时又通过Signal Compilder把Matlab/Simulink的设计文件(.mdl转换成相应的硬件描述语言VHDL 设计文件(.vhd,以及用于控制和编译的tcl脚本。而对后者的处理可以用Quartus II 来实现。 1.2 QuartusII特点

dsp实验报告5

一、实验原理: 1、无限冲击响数字滤波器的基础理论; 2、模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器); 3、双线性变换的设计原理。 二、实验内容: 1、复习有关巴特沃斯滤波器设计和用双线性变换法设计IIR数字滤波器的知识; 2、阅读本实验所提供的样例子程序; 3、运行CCS软件,对样例程序进行跟踪,分析结果; 4、填写实验报告。 5、样例程序实验操作说明 1)正确完成计算机、DSP仿真器和实验箱连接后,开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2; 2)“A/D转换单元”的拨码开关设置: JP3 3)检查:计算机、DSP仿真器、实验箱是否正确连接,系统上电; 4)置拨码开关S23的1、2拨到OFF,用示波器分别观测模拟信号源单元的2号孔“信号源1”和“信号源2”输出的模拟信号,分别调节信号波形选择、信号频率、信号输出幅值等旋钮,直至满意,置拨码开关S23的1到ON,两信号混频输出; 三、程序分析: cpu_init(); //CPU初始化 fs = 25000; //设置采样频率为2500HZ nlpass = 0.18; //设置通带上限频率归一化参数为0.18 nlstop = 0.29; //设置阻带下限截止频率归一化参数为0.29 biir2lpdes(fs,nlpass,nlstop,a,b); 根据双线性变换法求滤波器的系数a和b set_int(); //调用低通滤波器子程序对信号进行滤波 中断程序注释: interrupt void int1()

{ in_x[m] = port8002; //读取port8002端口的数值 in_x[m] &= 0x00FF; //取后八位送入X[m] m++; //每取一个数字m加1 intnum = m; if (intnum == Len) //当取到128个字节时,重新读取port8002端口的数值 { intnum = 0; xmean = 0.0; for (i=0; i

DSP硬件实验报告北邮

北京邮电大学DSP硬件实验报告 学院: 电子工程学院 专业: 姓名: 学号: 班级:

实验一常用指令实验 一、实验目的 熟悉DSP开发系统的连接 了解DSP开发系统的组成和结构和应用系统构成 熟悉常用C54X系列指令的用法(程序寻址,寄存器,I/O口,定时器,中断控制)。 二、实验步骤与内容 (一)简单指令程序运行实验 源程序: ;File Name:exp01.asm ;the program is compiled at no autoinitialization mode --程序在非自动初始化模式下编译 .mmregs --(enter memory-mapped registers into the symbol table) --进入记忆映射注册进入符号表 .global _main --(identify one or more global(external)symbols)--定义一个或多个全局变量 _main: stm(累加器的低端存放到存储器映射寄存器中) #3000h,sp(堆栈指针寄存器);堆栈指针的首地址设为#3000h ssbx(状态寄存器位置位)xf ;状态寄存器位置位,灯亮 call (非条件调用,可选择延迟)delay(存储器延时) ;调用delay函数延时 rsbx(状态寄存器复位)xf ;状态寄存器位复位,灯灭 call delay ;调用delay函数延时 b (累加器)_main ;可选择延迟的无条件转移,循环执行 nop(无操作) nop ;delay .5 second delay: ;延迟0.5秒 stm 270fh,ar3 (辅助寄存器3) ;把地址存放到存储器映射寄存器中 loop1: stm 0f9h,ar4 (辅助寄存器4);把地址存放到存储器映射寄存器中 loop2: banz loop2,*ar4- ;AR4不为0时转移,指针地址减一

基于DSP的信号发生器

基于DSP的信号发生器 ——正弦信号 院系: 班级: 学号: 姓名: 老师:

2015年12月15日 一、DSP简介 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,信号处理已经在通信等领域得到极为广泛的应用。 图1是数字信号处理系统的简化框图。此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。其中抗混叠滤波器的作用是将输入信号x(t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。随后,信号经采样和A/D转换后,变成数字信号x(n)。数字信号处理器对x(n)进行处理,得到输出数字信号y(n),经D/A转换器变成模拟信号。此信号经低通滤波器,滤 图1数字信号处理系统简化框图 数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例

如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。 二、信号发生器简介 信号源有很多种分类方法,其中一种方法可分为混和信号源和逻辑信号源两种。其中混和信号源主要输出模拟波形,逻辑信号源输出数字波形。混和信号源又可分为函数信号发生器和任意波形/函数发生器,其中函数信号发生器输出标准波形,如正弦波、方波等,任意波/函数发生器输出用户自定义的任意波形;另外,信号源还可以按照输出信号的类型分类,如射频信号发生器、扫描信号发生器、频率合成器、噪声信号发生器、脉冲信号发生器等等。信号源也可以按照使用频段分类,不同频段的信号源对应不同应用领域。 函数信号发生器: 函数发生器是使用最广的通用信号源,提供正弦波、锯齿波、方波、脉冲波等波形,有的还同时具有调制和扫描功能。 函数波形发生器在设计上分为模拟和数字合成式。众所周知,数字合成式函数信号源(DDS)无论就频率、幅度乃至信号的信噪比(S/N)均优于模拟式,其锁相环(PLL)的设计让输出信号不仅是频率精准,而且相位抖动(phase Jitter)及频率漂移均能达到相当稳定的状态,但数字式信号源中,数字电路与模拟电路之间的干扰始终难以有效克服,也造成在小信号的输出上不如模拟式的函数信号发生器,如今市场上的大部分函数信号发生器均为DDS信号源。 任意信号发生器: 任意波形发生器,是一种特殊的信号源,不仅具有一般信号源波形生成能力,而且可以仿真实际电路测试中需要的任意波形。 由于任意波形发生往往依赖计算机通讯输出波形数据,在计算机传输中,通过专用的波形编辑软件生成波形,有利于扩充仪器的能力,和更进一步的仿

DSP技术及课程设计实验报告二(精)

东南大学自动化学院 实验报告 课程名称: D SP 原理及C 程序开发 第二次实验 实验名称:基于DSP 系统的实验——指示灯、拨码开关和定时器院(系):自动化专业:自动化 姓名:学号: 实验室:实验组别: 同组人员:实验时间:2012 年 4 月 18日 评定成绩:审阅教师: 第一部分实验:基于DSP 系统的实验——指示灯和拨码开关 一.实验目的 1. 了解ICETEK –F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。 2. 了解ICETEK –F28335-A 评估板上指示灯和拨码开关扩展原理。 3. 学习在C 语言中使用扩展的控制寄存器的方法。 二.实验设备 计算机,ICETEK –F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 评估板+相关连线及电源)。 三.实验原理

1.TMS320F28335DSP 的存储器扩展接口 存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。 -ICETEK –F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下: 0x180004- 0x180005:D/A 转换控制寄存器 0x180001:板上DIP 开关控制寄存器 0x180000:板上指示灯控制寄存器 -与ICETEK –F28335-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备: 208000-208004h :读-键盘扫描值,写-液晶控制寄存器 208002-208002h :液晶辅助控制寄存器 208003-208004h :液晶显示数据寄存器 2.指示灯与拨码开关扩展原理

DSP课程设计正弦信号发生器的设计

太原理工大学 DSP课程设计:正弦信号发生器的设计 学号: 班级:

姓 名: 指导教师: 一、设计目的 1、通过实验掌握DSP 的软件开发过程 2、学会运用汇编语言进行程序设计 3、学会用CCS 仿真模拟DSP 芯片,通过CCS 软件平台上应用C54X 汇编语言来实现正弦信号发生装置。 二、设计原理 本实验产生正弦波的方法是泰勒级数展开法。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。求一个角度的正弦值取泰勒级数的前5项,得近似计算式: 三、总体方案设计 ))))((((9 81761541321 ! 9!7!5!3)sin(2 2229 753?-?-?-?-=+-+-=x x x x x x x x x x x

本实验是基于CCS开发环境的。CCS是TI公司推出的为开发TMS320系列DSP 软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。通过CCS软件平台上应用C54X汇编语言来实现正弦信号发生装置。 总体思想是:正弦波的波形可以看作由无数点组成,这些点与x轴的每一个 角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展 开法的SIN子程序组成,相应的软件流程图如图。 四、设计内容 1、设置 在Family下选择C55xx,将看到所有C55xx的仿真驱动,包括软件仿真和硬件仿真; 在Platform下选择Simulator,在Available Factory Boards中只显示软件仿真驱动,选中相应的驱动; 双击C55xx Rev4.0 CPU Functional Simulator,可以在My System下看到所加入的驱动; 点击Save & Quit,将保存设置退出Setup CCStudio v3.1并启动运行CCStudio。

DSP实验报告word版

实验一 离散系统的时域分析 一、实验目的 1、掌握离散时间信号的MATLAB 表示; 2、信号运算; 3、差分方程的求解; 4、离散时间信号的卷积运算。 二、实验原理 1、离散时间信号 离散时间信号只在某些离散的瞬时给出函数值,而在其他时刻无定义。它是时间上不连续按一定先后次序排列的一组数的集合,称为时间序列,用x(n)表示,n 取整数代表时间的离散时刻。 在matlab 中用向量来表示一个有限长度的序列。 2、序列的类型 为了分析的方便,在数字信号处理中规定了一些基本的序列。 a) 单位采样序列 function [x,n]=impseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)==0]; 调用该函数 [x,n]=impseq(-2,8,2); stem(n,x) 00 10 ()00 1()0n n n n n n n n n δδ =?= ? ≠? =?-? ≠?

单位采样序列的另一种生成方法 n0=-2; n=[-10:10]; nc=length(n); x=zeros(1,nc); for i=1:nc if n(i)==n0 x(i)=1 end end stem(n,x) b) 单位阶跃序列 function [x,n]=stepseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)>=0]; 调用该函数 [x,n]=stepseq(-2,8,2); stem(n,x) 000 10()001() 0n n n n n n n n n εε >=?=? =?-?

c) 实数指数序列 x(n)=an (运算符“.^”) n=[0:10]; x=0.9.^n; stem(n,x) d) 复数指数序列 n=[-10:10]; alpha=-0.1+0.3*j; x=exp(alpha*n); real_x=real(x); image_x=imag(x); mag_x=abs(x); phase_x=angle(x); subplot(2,2,1); stem(n,real_x) subplot(2,2,2); stem(n,image_x) subplot(2,2,3); stem(n,mag_x) subplot(2,2,4); stem(n,phase_x) ()()j n x n e αω+=(0.1j0.3)n x(n)e (10n 10) -+= -<<

正弦波信号发生器的DSP设计.

正弦波信号发生器的DSP设计 姜颖韬 (苏州工业职业技术学院,江苏苏州215104) 摘 数字信号处理器(DSP)是在模拟信号变成数字信号以后进行高速实时处理的专用处理器。DSP芯片以其独特的结要: 构和快速实现各种数字信号处理算法的突出优点,发展十分迅速。本文介绍了正弦信号产生的典型算法,并结合数字振荡器 原理,应用迭代法编程完成了TMS320VC5402DSP正弦波信号发生器的设计。DSP;正弦振荡;信号发生器关键词: 正弦信号发生器能输出一个幅度可调、频率可调的正弦信 号,特别是低频正弦信号发生器在科学研究及生产实践中均有 目前,常用的信号发生器绝大部分是由模拟电路构着广泛应用。 当这种模拟信号发生器用于低频信号输出时,往往需要的成的。 RC值很大,这样不但参数准确度难以保证,而且体积和功耗都很大。而由数字电路构成的低频信号发生器,虽然其低频性能 系好,但体积较大,价格较贵。而借助DSP芯片的运算速度高, 统集成度强的优势设计的这种信号发生器,比以前的任意一种信号发生器速度更快,且实现更加简便。 1正弦波信号的产生方式1.1采样回放法 通过对已有的标准正弦信号源进行采样得到数据后直接回放或进行变频变幅处理后回放。该方法的关键在于合理设计高性能的硬件电路,尽量避免信号处理过程中的波形失真,来确保采样数据的精准性。同时在数字域处理时,数据的回归点数必须 以免频谱混迭情况的发生。满足Nyquist定理, 1.2查表法 5402的片内ROM中存有256字的正弦及余弦数据表,可以通过程序直接调用该表中的数据,由D/A回放出正弦波。通过MATLAB模拟仿真自己生成的正弦数据表,不但可以解决频率单一的问题,还可以增加精度,并改善系统的兼容性。 1.3泰勒级数展开法 任一角度的正弦及余弦波都可以展开成泰勒级数,取前五项的近似公式为: y(-2)的起始值,从而使系统满足起始条件。这样系统差分方程变为: fs为采样频率,f0和A分别为正弦波的频率和幅度。这样y(-2)就决定了正弦波的幅度。而数字频率振荡器产生正弦波的实质就是如何用程序实现上述的差分方程。

DSP实验报告模版

我们做的dsp实验是实验一,实验二,实验三!模板上只有1 3 !2要自己仿照实验一写! 不要弄错了!实验题目在另外一个共享表格里! 实验一数据存储实验 一、实验目的 1. 掌握ccs的使用 2. 掌握 tms320c54x 程序空间的分配; 3. 掌握 tms320c54x 数据空间的分配; 4. 能够熟练运用tms320c54x 数据空间的指令。 二、实验设备 计算机,ccs 3.1版软件,dsp仿真器,e300实验箱,dsp-54xp cpu板。 三、实验步骤与内容 1. 在进行 dsp实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示: 2. e300 底板的开关sw4 的第1位置on,其余位置off。其余开关设置为off。 sw5全部置on;其余开关不做设置要求 3. 上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的“红色指示灯”应点亮,否则dsp开发系统与计算机连接存在问题。 4. 运行ccs程序 1) 待计算机启动成功后,实验箱220v电源置“on”,实验箱上电 2) 启动ccs3.1,进入ccs界面后,点击“debug—connect” 3) 此时仿真器上的“绿色指示灯”应点亮,ccs正常启动,表明系统连接正常;否则仿真器的连接、jtag 接口或ccs 相关设置存在问题,这时需掉电检查仿真器的连接、jtag 接口连接是否正确,或检查ccs相关设置是否存在问题。 5. 成功运行ccs 程序后,首先应熟悉ccs的用户界面; 6. 学会在ccs环境下创建工程文件、添加程序文件、编写程序、编译、装载、调试,学习如何使用观察窗口等。 7. 用“project\open”打开“c:\ti5000\myprojects\01_mem\ mem.pjt”. 编译并装载“\ 01_mem\debug\mem.out” 8.用“edit”下拉菜单中的“memory/fill”编辑内存单元,参数设置如下图: 单击“ok”此时以0x1000 为起始地址的16个内存单元被修改成:0x0009 9.用“view”下拉菜单“memory”观察内存单元变化,输入要查看的内存单元地址,本实验要查看0x1000h~0x100fh 单元的数值变化,输入地址0x1000h; 单击“ok”如下图所示: 10. 点击“debug\go main”进入主程序,在程序中“加软件断点1”和“加软件断点2”处 施加软件断点。 11. 单击“debug\run”运行程序,也可以“单步”运行程序;当程序运行到“软件断点1” 处时,查看0x1000h~0x1007h单元的值变化, 12. 再单击“debug\run”,当程序运行到“软件断点2”处时,查看0x1008~0x100f

基于DSP的正弦信号发生器

武汉理工大学华夏学院设计报告 课程名称《DSP技术》结业论文 题目基于DSP的正弦信号发生器 班级自动化1122 学号____ 姓名 _2015__年__10__ 月__24___日

一、摘要 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多的学科为理论基础的,它所涉及的范围及其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。一些新兴的学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。 长期以来,信号处理技术—直用于转换或产生模拟或数字信号。其中应用得最频繁的领域就是信号的滤波。此外,从数字通信、语音、音频和生物医学信号处理到检测仪器仪表和机器人技术等许多领域中,都广泛地应用了DSP。数字信号处理己经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统。世界上三大DSP芯片生产商:1.德克萨斯仪器公司(TI) 2.模拟器件公司(ADI) 3.摩托罗拉公司(Motorola).这三家公司几乎垄断了通用DSP芯片市场。数字信号处理的书籍很多,其中以麻省理工学院奥本海姆编著的《Discrete Time Signal Processing》最为经典,有中译本《离散时间信号处理》由西安交通大学出版。现在是第二版。 关键字:数字信号处理正弦信号发生器 DSP 信号处理技术

DSP实验报告一

电子信息工程系实验报告 课程名称:现代DSP技术 成绩: 实验项目名称:I/O实验实验时间: 2011-10-18 指导教师(签名): 班级:电信082 姓名:李江水学号:810706210 实验目的 1、了解I/O口的扩展;掌握I/O口的操作方法; 2、熟悉在C语言中访问IO口的方法 3、了解数字量与模拟量的区别和联系。 实验设备 计算机,CCS 2.0版软件,DSP仿真器,实验箱。 实验原理 1、开关量输入输出单元 采用8位的数字量输入即由八拨码开关来控制LED灯的显示,当拨码开关都是低电平即都为0时,LED 灯全亮,反之则不亮。。 2、CPU初始化 第一步:时钟模式寄存器的初始化clkmd; 第二步:状态寄存器st0、st1的初始化,复位值为0x1800、0x6900; 第三步:处理器工作模式状态寄存器(PMST)的初始化; 第四步:软件等待状态寄存器、软件等待状态控制寄存器的初始化; 第五步:分区转换控制寄存器(BSCR)初始化。 第六步: *(unsigned int*)IMR=0x0;屏蔽所以中断,IMR为中断屏蔽寄存器。 *(unsigned int*)IFR=0xffff;IFR为中断标志寄存器,中断标志清0 实验步骤与结果分析 开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;启动CCS 2.0,在Project→Open菜单打开exp03_cpu2目录下面的工程文件“exp03.pjt”。用下拉菜单中Project-->Open,打开“exp03_cpu2\ exp03.pjt”,双击“Source”,可查看源程序。 在File→Load Program菜单下加载exp03_cpu2\debug目录下的exp03.out文件。 运行程序,分别调整开关量输入单元的开关K1~K8,观察LED指示灯LED1~LED8亮灭的变化,以及开关量输入和输出状态是否一致。关闭所有窗口,本实验完毕。 分别调整K1到K8的开关,当开关为低电平即为零时,LED灯亮,当开关为高电平即为1时,LED灯不亮。当K1、K3、K5、K7为0时,LED灯的显示如下图1。

基于dsp的正弦波信号发生器

自本4班 14号王文亮基于DSP的正弦信号发生器 引言 随着计算机技术的飞速发展,对信号发生器波形的要求越来越高。目前,常用信号发生器大部分是由模拟电路构成,当这种模拟信号发生器用于低频输出时,由于需要较大的RC值,导致参数准确度难以保证,且造成体积和功耗偏大,而数字式波形发生器,因其输出幅值稳定、输出频率连续可调的优点,已逐渐取代了模拟电路信号发生器。由于其运算速度高,系统集成度强的优势,可以设计基于DSP的正弦信号发生器,该发生器实时性强、可扩展性好、波形精度高、可调节频率和幅度、稳定性好、用途广泛,各方面均优于模拟信号发生器和数字信号发生器。 而利用DSP产生正弦波的方法主要有采样回放法产生正弦波,查表法产生正弦波,查表结合插值法产生正弦波,泰勒级数法产生正弦波,迭代法产生正弦波,通过比较各种方法的优缺点,本次设计采用泰勒级数展开法得到设定参数的正弦波形输出,达到设计目的。 关键词:数字信号处理器;信号发生器;泰勒级数法

1 信号发生器的原理 利用DS P产生正弦波的方法主要有以下几种: 1.1 采样回放法 该方法很容易实现,只需对已有的标准正弦信号源进行采样,得到数据后直接回放或进行变频变幅处理后回放。该方法关键在于采用高性能的A/D、D/A 芯片并合理设计硬件电路,使信号处理过程中保证波形良好,以保证采样数据的精准性。进行数字变频及变幅处理时,要清楚数据的格式并保证回放数据的点数满足奈奎斯特定理,防止频谱混迭。 1.2 查表法产生正弦波 查表法是使用比较普遍的方法,首先自己生成正弦数据表,再进行查表、D/A 转换后,得到所需要的波形。优点是处理速度快,调频调相容易,较采样回放法,避免了数据的单一,增加了精度。如果存储空间足够大,那么就可以通过制作较大的查找表来得到较高的精度。如建立一个200 个数据点的正弦数据表,具体过程如下,采用查表法来实现对某一正弦波的频率及幅值的设定,在程序里要建立一张正弦查找表。根据分析及计算得到每周期最多向D/A 送多少个数据点,假设送200 个数据,因此建立一张有200 个数据的正弦查找表。对于频率为 f 的正弦波来说,若每周期取200 点数据,则取样间隔为(1/f )/200=1/(200f )。 1.3 查表结合插值法产生正弦波形 查表结合插值法是在查表法的基础上加以改进得到。发生相同性能的正弦波,查表法结合插值法的长度远远要小于单纯查表法的表格长度,从而克服了查表法中占用大量内存资源的缺点,节约了存储空间。查表法结合插值法先将一个周期的单位正弦波N等分,并计算所有离散点的幅值,之后将这些幅值依次排列存入数据区,从而构成一张表格。查表结合插值法产生正弦波形方法是通过在两个表项点之间插入若干个值来实现的,插入值的大小决定于相邻的两个表项值和插入点的位置。考虑到

相关文档
相关文档 最新文档