第一范文网 - 专业文章范例文档资料分享平台

基于labview的任意波形发生器(含vi下载地址)

来源:用户分享 时间:2025/5/22 23:39:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

一、前 言

虚拟仪器是一种新型的测试仪器,由于其硬件结构简单,主要依靠软件来实现各种测试功能,使用起来更加方便、功能更加强大,所以应用越来越广泛。

虚拟仪器彻底改变了传统仪器由生产厂家定义功能的模式,而是在少量附加硬件的基础上,由用户定义仪器功能。因为它的运行主要依赖软件,所以修改或增加功能、改善性能都非常灵活,也便于利用PC的软硬件资源和直接使用PC的外设和网络功能。虚拟仪器不但造价低,而且通过修改软件可增加它的适应性,进而延长它的生命周期,是一种具有很好发展前景的仪器。与传统仪器相比,虚拟仪器具有高效、开放、易用灵活、功能强大、性价比高、可操作性好等明显优点。

传统的台式任意函数发生器价格高昂, 仪器面板单调、繁杂,单台使用, 以致数据存储、处理不方便, 以 LabVIEW为代表的软件的出现, 轻松的用虚拟仪器技术解决了这些问题, 虚拟仪器技术是以计算机为核心, 由用户设计仪器面板, 通过软件实现仪器功能, 实现信号数据的运算、分析和处理, 并可利用I/O 接口设备完成信号的采集、测量与调试, 用户可随意设计需要的仪器, 并随时根据需要, 通过更新相关软件设置来改进和扩充仪器的性能。因此在LabVIEW平台上设计了一套任意函数发生器,是很有意义的。

1

二﹑ 总体方案设计

2.1 方案比较、方案论证 方案一:直接数字合成

图2.1 数字合成任意波形发生器方框图

它的工作过程是:振荡器产生高频脉冲波形,经分频器得地址计数器的计数频率,若地址计数器为Ⅳ位(模值=2 ),则把波形的一个周期分为2 个等间隔数据点(抽样点)存入数据存储器,地址计数器不断地循环计数,存储器内数据被逐个读出,经D/A转换器和低通滤波器,可得所需波形。该方法的特点是每一周期波形的点数是固定的,每一周期内点与点的相位间隔相同。但两个相邻周期波形之间的两个点的时间间隔与其他点之间的相位间隔有可能不同。当计数器的位数增加时,这种相邻间隔的误差可以忽略。

用该方法产生波形,其波形频率由两方面决定:(1)波形的频率由地址计数器的计数时钟决定,当波形存储的点数一定时,计数器的计数时钟频率越快,读出一周期波形数据的时间就越短,输出波形的频率就越高,反之则波形频率低; (2)波形的频率也由组成一周期波形的点数来确定,当地址计数器的时钟频率一定时,一周期波形的点数越多,读完一周期波形所需的时间越长,波形频率就低,反之则高。

方案二:基于 LabVIEW 的信号发生器

任意函数发生器可以输出基本波形、手动绘制的任意波形。其中, 基本波形函数库中存放了正弦波、三角波、方波等常用的函数波形, 我们只要从中选取修改函数、设置波形频率、幅值等参数,就可以产生波形;此外还可以绘制任意波形, 先将鼠标移到画图区的移动光标上, 然后按住鼠标左键拖动鼠标, 鼠标的移动轨迹即形成任意波形。

2

图2.2 LabVIEW 函数发生器框图

仪器控制程序包括仪器初始化模块、仪器管理模块、波形调制选取、设置模块和波形输出模块。

1.初始化模块:执行仪器的初始化,自检,清零功能。

2.仪器管理模块:执行仪器运行模式,锁定与解锁通道,是否恢复出厂设置等仪器管理操作。

3.波形调制模块:设置SWP、FM、AM、FSK等各种调制参数及调制波形。

4.波形输出模块:由于仪器硬件只能识别ASCII字符,所以本模块将用户交互操作产生的任意波形通过转换,下载到任意波形发生器的内部存储器,并打到仪器输出通道,输出所需波形。

2.2 方案选择和总体方案设计

在这两个方案中,因为我们并没有硬件,只是做软件方面的仿真,所以我们采用方案二.同样LabWindows/CVI(C for Virtual Instrumentation)也可以实现.因为它是为C程序员开发的环境,它有着交互的编程环境和可用于创建数据采集、分析的函数库和仪器控制驱动程序。而Labview 则使用了G (图形化) 的数据流编程模式, 它有别于基于文本语言的线性结构。在 Labview中执行程序的顺序是由块之间的数据流决定的, 而不是传统文本语言的按命令行次序连续执行的方式。考虑到我们对C语言不是很熟悉,而Labview的G (图形化) 的数据流编程比较简单和清楚,最后我们决定使用方案二。

3

三﹑单元模块设计

3.1 各单元模块功能介绍及电路设计

该程序主要是用来对通道0、1行初始化的,也就是在运行程序之前先对两个通道清0.使用了顺序结构,实际结构如图3.1:

图3.1 初始化通道的结构

它是Waveforms的属性节点,其含义是Waveforms的历史数据,因为

Waveforms是二维数据,所以用了一个初值为0的二维数组常 量给它清0.

这个是通道0的属性节点,表示通道0可不可见,用了初值为False的Boolean型常量控件来设置它为不可见.

3.1.2 通道选择模块

该Boolean控件主要用来在0,1两个通道进行选择,通过数据通道传递数据给Case结构,当它为当为False时选中0通道, 为True时选中1通道.实际结构如图3.2和图3.3:

图3.2 当通道选择控件为False时,选中0通道

4

基于labview的任意波形发生器(含vi下载地址).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7pwqi0718i0a6ri16zui_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top