信号发生器的设计(DOC)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
燕山大学
课程设计说明书
课程名称数字信号原理及应用
题目信号发生器设计
学院(系)电气工程学院
年级专业2011级检测技术与仪器一班学号110103020051
学生姓名赵冰飞
指导教师王娜
教师职称讲师
电气工程学院《课程设计》任务书
课程名称:数字信号处理课程设计
基层教学单位:仪器科学与工程系指导教师:
学号学生姓名(专业)班级设计题目11、信号发生器设计
设
计
技术参数产生如下信号:方波信号、锯齿波信号、抽样信号、冲击串信号、实指数信号、正弦信号
设
计
要
求
设计良好的人机界面,每个按键对应一种波形
参考资料数字信号处理方面资料MATLAB方面资料
周次前半周后半周
应完成内容收集消化资料、学习MA TLAB软件,
进行相关参数计算
编写仿真程序、调试
指导教师签字基层教学单位主任签字
说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
电气工程学院教务科
摘要
数字信号发生器是基于软硬件实现的一种波形发生仪器。
在工程实践中需要检测和分析的各种复杂信号均可分解成各个简单信号之和,而这些简单信号皆可由数字信号发生器模拟产生,因此它在工程分析和实验教学有着广泛的应用。
MATLAB是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令,在数字信号处理方面方便实用。
本文介绍了使用MATLAB建立一个简单数字信号发生器的基本流程,并详细叙述了简单波形方波、抽样信号、锯齿波、冲击波、正弦信号、冲击串信号、实指数信号、的具体实现。
目录
第1章摘要 (3)
第2章引言 (5)
第3章课程设计概述及基本原理………………………………………………………
课程设计概述……………………………………………………………………
课程设计原理……………………………………………………………………
第4章信号在matble中的实现 (5)
4.1 方波信号的实现 (5)
4.2 冲击串信号的实现 (8)
4.3 锯齿信号的实现 (10)
4.4 抽样信号的实现 (12)
4. 5 实指数信号的实现………………………………………………………………
4. 6 正弦信号的实现…………………………………………………………………
心得体会 (17)
参考文献 (18)
引言
随着计算机软硬件技术的发展,越来越多现实物品的功能能够由计算机实现。
信号发生器原本是模拟电子技术发展的产物,到后来的数字信号发生器也是通过硬件实现的,本文将给出通过计算机软件实现的数字信号发生器。
信号发生器是一种常用的信号源,广泛应用于电子技术实验、自控系统和科学研究等领域。
传统的台式仪器如任意函数发生器等加工工艺复杂、价格高、仪器面板单调、数据存储、处理不方便。
以Matlab和LabVlEW为代表的软件的出现,轻松地用虚拟仪器技术解决了这些问题。
Matlab是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱(data acquisition toolbox)为实现数据的输入和输出提供了十分方便的函数和命令,利用这些函数和命令可以很容易地实现对外部物理世界的信号输出和输入。
根据声卡输出信号的原理,采用Matlab软件编程,可以方便地输出所需要的方波、正弦波、实指数信号、锯齿波、冲击串波、抽样波等多种信号,有效地实现信号发生器的基本功能。
课程设计概述及原理
3.1课程设计概述
根据本次课程设计的题目要求可知该课题需要用到MATLAB的图形用户界面(Graphical Use Interface , GUI)是指由按钮、列表框、编辑框等用户界面空间构成的应用程序界面。
MATLAB提供了功能强大的集成GUI开发环境GUIDE。
在编程时只需将按键和现实部分放到指定区域内,对他们进行编程即可,完成后便可得到良好的人机界面。
因此只需将几组波形程序设计好即可。
在此要设计的数字信号有方波、三角波、锯齿波、冲击串波、抽样波等。
其中,这六种波形都可以利用MATLAB提供的函数实现,并根据输入的幅值、相位、频率等信息进行调整。
脉冲信号由自己编写程序实现,并以定义的时间节点控制脉冲出现的时刻。
3.2课程设计原理
1 GUI设计模板
在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。
MATLAB为GUI设计一共准备了4种模板,分别是Blank GUI(默认) 、GUI with Uicontrols(带控件对象的GUI模板) 、GUI with Axes
and Menu(带坐标轴与菜单的GUI模4 板)与Modal Question Dialog(带模式问话对话框的GUI模板)。
当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。
2 GUI设计窗口
在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。
选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。
GUI 设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。
GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help 6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。
3 GUI设计窗口的基本操作
在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。
例如,创建一个Push Button对象,并设计该对象的属性值。
4 GUI设计编程
在GUI设计窗口创建好图形对象并进行良好的布局后,就可以对相应的对象或控件进行编程实现所需要的功能。
通常我们主要在所需要的控件的回调函数中编写相应的程序功能代码,以便让它去完成我们需要的功能。
5 运行界面
在完成上述几步后,我们就可以点击设计窗口中的运行,显示界面运行后的结果,相应的也可以点击某些对象,如按钮,测试相应的功能。
是运行之后的设计好的软件界面。
在软件界面中,我们可以进行波形选择,同时可以通过拉动滚动条调整一些波形的参数,然后点击信号输出按钮,即可在界面中的第一个坐标轴中看到相应的波形,当点击系统输出按钮后系统输出相应波形,可以重新进行选择,点击系统退出按钮,则整个系统从这个界面退出。
信号在matble中的实现
4.1 方波信号的实现
global A f phi %A f phi定义为全局变量
A=1;
f=1;
phi=60; %设置初始值
t=0:5/1000:5;
y=A*square(2*pi*f*t+phi,50);
cla;
plot(t,y,'b')
grid on
axis([0,5,-1.2*A,1.2*A])
信号图
4.2冲击串信号的实现
p=raylpdf((0:31)/5,1.5);
t=0:320; %定义其范围为0—320
d=(0:9)'*32;
y=pulstran(t,d,p);
plot(t,y,'b'); %以默认格式绘制t—y axis([0 400 0 0.5]) %定义横纵轴坐标范围
信号图
global A f phi %A f phi定义为全局变量A=1;
f=1;
phi=60; %设置初始值
t=0:10/1000:10;
y=A*sawtooth(pi*f*t+phi,1); cla;
plot(t,y,'b')
grid on
axis([0,5,-1.2*A,1.2*A]
信号图
t=-10:0.01:10; %抽样间隔为0.01-10—10 y=sinc(t); %定义y y为sinc 1
plot(t,y,'b'); %以默认格式绘制t—y
axis([-10 10 -1.2 1.2]) %定义横纵轴坐标范
信号图
n=-5:5;
y=2.^n;
stem(n,y,'b')
axis([-5 5 0 40]) 信号图
global A f phi %A f phi定义为全局变量A=1;
f=1;
phi=60; %设置初始值
t=0:2*pi/1000:2*pi;
y=A*sin(2*pi*f*t+phi);
cla;
plot(t,y,'b')
grid on
axis([0,2*pi,-1.2*A,1.2*A])
信号图
心得体会
课程设计是一个让我们能学以致用的很好方式,提高动手能力,以及相互合作的能力。
是对课堂的一个很好的补充。
在整个设计过程中用到了处理数字信号的强有力工具MATLAB,通过MATLAB信号处理的工具箱函数的调用,实现信号通过声卡的简单输出。
本设计最重要的部分是利用MATLAB的另一强大功能——GUI界面设计,设计出了虚拟信号发生器软件系统界面,实现了简单的人机交互功能。
通过这次课程设计使我了解了虚拟信号发生器的一些相关概念、性质。
因为在此过程中用到了MATLAB软件,使我对该软件的操作和使用有了更多的了解。
参考文献
1 强锡富. 传感器. 机械工业出版社,2001年
2 李科杰. 新编传感器技术手册. 国防工业出版
社,2002年
3 贾伯年. 传感器技术. 东南大学出版社,1992年
4 杨宝清.孙宝元. 传感器及其应用手册. 2004年
5 单成祥. 传感器的理论与设计基础及其应用. 国
防工业出版社. 1999年。