基于LabVIEW的任意波形发生器 - 图文 下载本文

内容发布更新时间 : 2024/6/10 11:49:48星期一 下面是文章的全部内容请认真阅读。

课程设计报告

虚拟仪器课程设计报告

一、 综述

任意波形发生器是一种常用的信号源, 广泛用于科学研究生产实践和教学实践等领域。不论是在生产上还是在科研与教学上, 任意波形发生器都是电子工程师信号仿真实验的最佳工具。一般来讲任意波形发生器,是一种特殊的信号源,综合具有其它信号源波形生成能力,因而适合各种仿真实验的需要。

1、信号发生器的发展历史

自上世纪20年代,首台信号发生器诞生以来,信号发生器经历了一个漫长的发展期,特别是前四十年,由于早期机械结构比较复杂,功率比较大,电路比较简单,因此发展速度比较慢。而之后的一二十年间,由于分析元件和模拟集成电路的应用,信号发生器开始可以产生正弦波、方波、锯齿波、三角波等几种简单波形,但同时也存在着稳定性差、尺寸大、价格贵、功耗大等诸多问题。随着70年代微处理器的出现,利用微处理器、模数转换器和数模转换器,信号发生器的功能被大大地开发,能够通过硬件和软件产生较复杂的波形,这类的信号发生器多以软件为主,随着我国经济和科技的发展, 对相应的测试仪器和测试手段也提出了更高的要求。基于LabVIEW的任意波形发生器就是在这个基础上发展而来。

2、基于LabVIEW的信号发生器的特点

LabVIEW作为虚拟仪器技术的主要代表,在信号发生器方面,有着许多不可超越的优点,如虚拟仪器成本低、功能多、灵活性强、人机界面友好并且拥有不输传统台式发生器的性能等等。其最大的优点就在于用户可根据自己的需求自己修改程序,来达到输出所需波形的目的,这是传统的台式发生器无法比拟的。

3、课程要求以及可行性分析

在本课程中,我们需要通过使用LabVIEW2012这款软件,配合实验室配置的数据采集卡和电路实验箱,完成一款简易的任意波形信号发生器的程序开发。由于实验室的配置齐全,硬件方面可以轻松达到程序最终所需的要求。而在软件方面,由于LabVIEW内置强大的拓展包和程序库,我们可以通过调用许多其自身已有的子VI如正弦信号发生、公式信号发生、一维插值等,轻松达到输出波形的目的。其主要的工作量将集中在任意手绘波形以及各种程序结构的嵌套等方面。

课程设计报告

二、 程序说明

1、 整体流程

本程序从打开运行到输出波形要经历打开运行程序、选择波形、控制波形属性、生成波形和输出波形五个过程。(如图1)

打开运行程序 选择波形 控制波形属性 生成波形 输出波形 图1

2、具体说明

接下来将从上述五个过程对程序进行详细的说明: (1) 打开运行

该过程相对简单,在按下运行按钮之后,程序开始运行,但在运行程序主结构之前会经历一个初始化过程(如图2),通过顺序结构在主结构前添加一帧完成,其主要内容,为是各按钮复位,调节各参数至初始值(除频率均为0,频率为1Hz),同时对任意手绘波形部分的一些功能参数进行初始化。在初始化之后,程序进入主结构进行运行。

图2

(2) 选择波形

程序的主结构是通过最外层的循环加条件结构完成的,通过不停地循环运行条件结构,针对所给条件运行程序,波形的选择按钮是通过整合成一个簇,再转化为数组来判断的,再通过一个小FOR循环和条件结构,来对同时选择两种及两种以上波形的情况进行甄别(如图3,图4 为其前面板)。此外在这个过程中,还设置了统一的波形参数入口,例如频率、幅度、占空比、初始相位等等,同时还包括高斯噪声和均匀噪声的控制开关(如图6,前

课程设计报告

面板如图5),为之后的控制波形属性过程做下铺垫。

图3

图4

图5

图6

(3) 控制波形属性与生成波形

这两个过程有着很紧密的关系。由于选择不同的波形,这两个过程也会有不同的运行结果,主要可以分为三类。

课程设计报告

① 当为选择任何一种波形时,条件结构会经过默认分支,通过公式默认为0的公式波形输出一条直线(如图7)。

图7

② 当选择经典波形或者公式波形时,都可以通过LabVIEW自带的子VI进行输出,参数可通过条件结构外几个参数设置入口进行设置,最后可以通过元素同址操作将生成波形分别于两种噪声进行叠加(如图8 以正弦波为例)。

图8

③ 当选择任意手绘波形时,条件结构将经过一个相对复杂很多的分支,首先是通过任意手绘波形图的属性节点将该波形图设置为可见(在初始化和其他分支中均为不可见)(如图9)。

通过循环加事件结构,对任意手绘图形进行采集,其基本原理是通过采集波形图中的游标坐标位置,并将y坐标转化为数组,出于精确度和系统鼠标位置采样率的影响,默认将波形图所采集的信息限制为50个点,x坐标分别为0~49,在初始化过程中,将50个点的y坐标都设置为0(如图10)。

图9 图10