基于LabVIEW的虚拟函数信号发生器的设计论文.docx

上传人:b****5 文档编号:6241025 上传时间:2023-01-04 格式:DOCX 页数:27 大小:751.27KB
下载 相关 举报
基于LabVIEW的虚拟函数信号发生器的设计论文.docx_第1页
第1页 / 共27页
基于LabVIEW的虚拟函数信号发生器的设计论文.docx_第2页
第2页 / 共27页
基于LabVIEW的虚拟函数信号发生器的设计论文.docx_第3页
第3页 / 共27页
基于LabVIEW的虚拟函数信号发生器的设计论文.docx_第4页
第4页 / 共27页
基于LabVIEW的虚拟函数信号发生器的设计论文.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于LabVIEW的虚拟函数信号发生器的设计论文.docx

《基于LabVIEW的虚拟函数信号发生器的设计论文.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的虚拟函数信号发生器的设计论文.docx(27页珍藏版)》请在冰豆网上搜索。

基于LabVIEW的虚拟函数信号发生器的设计论文.docx

基于LabVIEW的虚拟函数信号发生器的设计论文

基于Labview的信号发生器的设计

摘要:

本文实现了基于Labview的虚拟正弦,余弦,方波,锯齿波,三角波信号发生器。

可以根据需要,改变波形的频率和幅值,保存波形的分析参数到指定文件,并介绍了基于USB数据采集卡的虚拟信号输出。

本论文首先简介了虚拟函数信号发生器的开发平台,及虚拟信号发生器的设计思路,并且给出了基于labview的虚拟信号发生器的前面板和程序设计流程图,讲述了功能模块的设计步骤,提供了虚拟发生器的面板。

本仪器系统操作简便,设计灵活,具有很强的适应性。

关键词:

虚拟函数;labview;信号发生器;波形

 

TheDesignofSignalGeneratorBasedonLabview

Abstract:

ThisarticledescribesthevirtualLabviewbasedonsine,cosine,square,sawtooth,trianglewavesignalgenerator.Canchangethewaveformofthefrequencyandamplitude,theanalysisofwaveformparameterssavedtothespecifiedfile,andintroducedtheUSBdataacquisitioncardbasedonthevirtualsignaloutput.IntroductionInthispaper,thefirstvirtualfunctionsignalgeneratorofthedevelopmentplatform,andvirtualsignalgeneratorsofdesignideas,andgivestheLabview-basedvirtualsignalgenerator'sfrontpanelandtheprogrammingflowchartdescribesthedesignofthesefunctionalmodulesprovidesavirtualpanelgenerator.Signalgeneratorinthedesignprocess,aftercarefulthought,combinedwiththespecificfunctionofLabviewacertaininnovation.Theinstrumentsystemissimple,flexibledesign,hasastrongadaptability.

Keyword:

Virtual;function;Labview;signalgenerator;waveform

 

目录

1引言1

1.1EE1641D型函数信号发生器的结构和使用说明1

1.2前面板说明1

1.3后面板说明3

1.4自校检查3

1.5函数信号输出4

2虚拟信号发生器的应用介绍6

2.1Labview开发平台LabVIEW开发平台简介7

2.2程序前面板9

2.3框图程序9

2.4图标/连接器9

3虚拟信号发生器设计方案10

3.1前面板的设计10

3.2程序框图的设计10

3.2.1参数设置控件10

3.2.2输出波形选择按钮10

3.2.3波形显示控件10

3.2.4 开关控件11

3.2.5流程图的设计11

3.2.6 程序图标的调入11

3.2.7频率设置11

4信号发生的具体实现12

4.1虚拟正弦波发生器的设计12

4.1.1功能描述12

4.1.2设计步骤12

4.2虚拟方波发生器的设计14

4.2.1功能描述14

4.2.2设计步骤15

4.3虚拟锯齿波发生器的设计17

4.3.1功能描述:

17

4.3.2设计步骤17

4.4虚拟三角波发生器的设计19

4.4.1功能描述:

19

4.4.2设计步骤20

4.5虚拟正弦波,方波,锯齿波,三角波发生器的的综合设计22

4.5.1发生器的前面板22

4.5.2综合发生器流程图设计22

4.5.3综合发生器的运行结果23

致谢25

参考文献26

1引言

1.1EE1641D型函数信号发生器的结构和使用说明

EE1641D型函数信号发生器,是电子技术类实验室中的常用仪表。

作为信号源,它能够输出正弦波、矩形波和锯齿波等波形[1]。

在该仪表的讲解和使用过程中发现,面对大量的旋钮和按键,学生难以根据功能进行有效的组合。

针对这些问题,以往是采用多媒体课件的形式分模块进行教学,如分别介绍原理方框图、仪器面板图和使用方法。

在使用方法中包括正弦波输出、矩形波输出、锯齿波输出、含直流的信号等四个单元。

图1-1给出了调整正弦波时的课件演示结果。

图1-1

EE1641D前面板布局参见图1-2。

图1-2前面板示意图

1.2前面板说明

1.频率显示窗口

显示输出信号的频率或外测频信号的频率。

2.幅度显示窗口

显示函数输出信号的幅度。

3.扫描宽度调节旋钮

调节此电位器可以改变内扫描的时间长短。

在外测频时,逆时针旋到底(绿灯亮),为外输入测量信号经过低通开关进入测量系统。

4.速率调节旋钮

调节此电位器可调节扫频输出的扫频范围。

在外测频时,逆时针旋到底(绿灯亮),为外输入测量信号经过衰减“20dB”进入测量系统。

5.外部输入插座

当“扫描/计数键(13)功能选择在外扫描状态或外测频功能时,外扫描控制信号或外测频信号由此输入。

6.TTL信号输出器

输同标准的TTL幅度的脉冲信号,输出阻抗为600。

7.函数信号输出端

输出多种波形受控的函数信号,输出幅度20Vp-p(1M负载),10Vp-p(50负载)。

8.函数信号输出幅度调节旋钮

调节范围20dB。

9.函数信号输出信号直流电平预置调节旋钮

调节范围:

–5V~+5V(50负载),当电位器处在中心位置时,则为0电平。

10.输出波形,对称性调节旋钮

调节此旋钮可改变输出信号的对称性。

当电位器处在中心位置时,则输出对称信号。

11.函数信号输出幅度衰减开关

“20dB”、“40dB”键均不按下,输出信号不经衰减,直接输出到插座口。

“20dB”、“40dB”键分别按下,则可选择20dB或40dB衰减。

12.函数输出波形选择按钮

可选择正弦波、三角波、脉冲波输出。

13.“扫描/计数”按钮

可选择多种扫描方式和外测频方式。

14.频率范围选择按钮

每按一次此按钮可改变输出频率的1个频段。

15.频率微调旋钮

调节此旋钮可微调输出信号频率,调节基数范围为从<0。

2到>2。

16.整机电源开关

此按键揿下时,机内电源接通,整机工作。

此键释放为关掉整机电源。

17.单脉冲按键

控制单脉冲输出,每揿动一次此按键,单脉冲输出(17)输出电平翻转一次。

18.单脉冲输出端

单脉冲输出由此端口输出。

19.功率输出端

提供>4W的间频信号功率输出。

此功能仅对×100,×1k,×10k档有效[2]。

1.3后面板说明

EE1641D后面板布局参见图1-3。

图1-3后面板示意图

1.电源插座

交流市电220V输入插座。

该插座内置保险丝管座,保险容量为0.5A。

测量、试验的准备工作

请先检查市电电压,确认市电电压在220V±10%范围内,方可将电源线插头插入本仪器后面板电源线插座内,供仪器随时开启工作。

1.4自校检查

1.在使用本仪器进行测试工作之前,可对其进行自校检查,以确定仪器工作正常与否[3]。

2.自校检查程序(见图1-4)。

图1-4

1.5函数信号输出

50高函数信号输出

1.以终端连接50匹配器的测试电缆,由前面板插座(7)输出函数信号;

2.由频率选择按钮(14)选定输出函数信号的频段,由频率微调旋钮调整输出信号频率,直到所需的工作频率值;

3.由波形选择按钮(12)选定输出函数的波形分别获得正弦波、三角波、脉冲波;

4.由信号幅度选择器(11)和(8)选定和调节输出信号的幅度;

5.由信号电平设定器(9)选定输出信号所携带的直流电平;

6.输出波形对称调节器(10)可改变输出脉冲信号空度比,与此类似,输出波形为三角或正弦时可使三角波调变为锯齿波,正弦波调变为正与负半周分别为不同角频率的正弦波形,且可移相180。

采用课件演示的方法使学生了解了函数信号发生器的调整步骤,熟悉了相关旋钮和按键的配合使用。

但是,采用这种方法也存在几个问题:

(1)函数信号发生器的调整结果必须要在示波器上才能看到。

而按照课程进度,学生此时对示波器只是刚刚接触。

实际操作中,往往因为示波器的调整不当而看不到函数信号发生器的输出波形,甚图1调整正弦波时的课件演示结果至出现信号的幅度、频率等参数调整不当时乱调示波器旋钮的现象。

为此,希望能研制一种虚拟函数信号发生器,除了能调整规定幅度、规定频率及规定波形的信号外,还应使学生能同步看到调整结果,明确信号中的幅度,频率等参数应由信号发生器来负责调整,与示波器无关。

这样学生在接触实际仪表,可以快速定位故障点。

(2)作为电子技术类实验室中的通用仪表,该型号函数信号发生器有许多与函数信号发生功能无关的旋钮,这部分旋钮主要用来满足计数器功能,为此,希望研制的虚拟函数信号发生上,仅包含与函数信号发生功能相关的所有旋钮。

这样,可以使初次接触仪表的学生将注意力集中在函数信号发生功能上。

(3)采用课件演示的方法虽然直观,但对学生而言缺乏身临其境的感觉。

为此,希望研制的虚拟函数信号发生器,能最大幅度接近实际仪表的使用,充分满足学生对“场感”的要求,以避免虚拟和现实之间的脱节。

为此,笔者采用NI公司的LabVIEW软件,研制出一种虚拟ee1641d型函数信号发生器。

2虚拟信号发生器的应用介绍

自从1986年美国NI(NationalInstrument)公司提出虚拟仪器的概念以来,随着计算机技术和测量技术的发展,虚拟仪器技术也得到很快的发展。

虚拟仪器是指:

利用现有的PC机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。

与传统的仪器相比其特点主要有:

具有更好的测量精度和可重复性;测量速度快;系统组建时间短;由用户定义仪器功能;可扩展性强;技术更新快等。

虚拟仪器以软件为核心,其软件又以美国NI公司的Labview虚拟仪器软件开发平台最为常用。

Labview是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。

目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。

函数信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器。

下面结合一个虚拟函数信号发生器设计开发具体介绍基于图形化编程语言Labview的虚拟仪器编程方法与实现技术。

虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。

灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。

这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。

只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。

(1)高效的软件

软件是虚拟仪器技术中最重要的部份。

使用正确的软件工具

并通过设计或调用特定的程序模块,工程师和科学家们可以高效地创建自己的应用以及友好的人机交互界面。

提供的行业标准图形化编程软件——LabVIEW,不仅能轻松方便地完成与各种软硬件的连接,更能提供强大的后续数据处理能力,设置数据处理、转换、存储的方式,并将结果显示给用户。

此外,还提供了更多交互式的测量工具和更高层的系统管理软件工具,例如连接设计与测试的交互式软件SignalExpress、用于传统C语言的LabWindows/CVI、针对微软VisualStudio的MeasurementStudio等等,均可满足客户对高性能应用的需求。

有了功能强大的软件,您就可以在仪器中创建智能性和决策功能,从而发挥虚拟仪器技术在测试应用中的强大优势。

(2)模块化的硬件

面对如今日益复杂的测试测量应用,已经提供了全方位的软硬件的解决方案。

无论您是使用PCI,PXI,PCMCIA,USB或者是1394总线,都能提供相应的模块化的硬件产品,产品种类从数据采集、信号条理、声音和振动测量、视觉、运动、仪器控制、分布式I/O到CAN接口等工业通讯,应有尽有。

高性能的硬件产品结合灵活的开发软件,可以为负责测试和设计工作的工程师们创建完全自定义的测量系统,满足各种独特的应用要求。

(3)用于集成的软硬件平台

专为测试任务设计的PXI硬件平台,已经成为当今测试、测量和自动化应用的标准平台,它的开放式构架、灵活性和PC技术的成本优势为测量和自动化行业带来了一场翻天覆地的改革。

PXI作为一种专为工业数据采集与自动化应用度身定制的模块化仪器平台,内建有高端的定时和触发总线,再配以各类模块化的I/O硬件和相应的测试测量开发软件,您就可以建立完全自定义的测试测量解决方案。

无论是面对简单的数据采集应用,还是高端的混合信号同步采集,借助PXI高性能的硬件平台,您都能应付自如。

这就是虚拟仪器技术带给您的无可比拟的优势。

传统的电子仪器是自封闭的系统,它具有信号输入、输出的能力,并有固定的用户界面,比如:

输入、输出信号接插件、旋钮、按钮、显示仪表、显示面板等。

一个仪器包括传感器、信号处理器、A/D转换器、微处理器、存储器和内部总线等专门化的电路。

通过这些电路来转换、测量、分析实际信号,并将结果以各种方式显示。

然而,有时为了构成具有一定功能的系统,配置了一套仪器,但对其中的某些仪器,只用到了其中一部分功能,而将它作其他功能使用时,却不具备或达不到所需指标。

如另配置一套仪器,不断效率不高,而且价格高。

要是能将原有的仪器稍加改动,就可以扩大其使用范围。

但是传统的仪器功能是由制造商决定的,用户不能任意更改,用户如按自己的要求定制仪器需要昂贵的价格。

虚拟仪器概念的提出是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流。

以下是传统测试仪器和虚拟仪器的一个比较:

表1-1传统仪器与虚拟仪器对照表

传统仪器

虚拟仪器

开发和维护费用高

基于软件体系的结构,大大节省开发和维护的费用

功能由仪器厂商定义

功能由用户自己定义

与其他仪器设备的连接十分有限

面向应用的系统结构,可以方便地与外设、网络或其他应用连接

数据无法编辑数

数据可编辑、存储、打印

硬件是关键部分

软件是关键部分

价格昂贵

价格低廉(是传统价格的五至十分之一)

技术更新慢(5--10年)

技术更新快(一般1--2年)

系统封闭、功能固定、扩展性低

基于计算机技术开放的功能模块可构成多种仪器

正是因为意识到了虚拟仪器的诸多优点及传统仪器的一些弊端,所以,我们计划开发了这样一台基于Labview(美国NI公司)的多功能虚拟数字发生器。

其集成了示波,,动态/静态波形分析,频谱分析,频率计,波形参数分析,信号发生,以及远程示波等功能。

在示波功能上,除了对波形的精确显示外,还的波形参数进行了显示和对其时域信号、频域信号进行了分析。

2.1Labview开发平台LabVIEW开发平台简介

LabVIEW是一个完全的、开放式的虚拟仪器开发系统应用软件,利用它组建仪器测试系统和数据采集系统可以大大简化程序的设计。

LabVIEW与VisualC++、VisualBasic、LabWindows/CVI等编程语言不同,后者采用的是基于文本语言的程序代码(Code),而LabVIEW则是使用图形化程序设计语言G(Graphic),用框图代替了传统的程序代码。

LabVIEW所运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似[4]。

LabVIEW包含有专门用于设计数据采集程序和仪器控制程序的函数库和开发工具库。

LabVIEW的程序设计实质上就是设计一个个的“虚拟仪器”,即“VIs”。

在计算机显示屏幕上利用函数库和开发工具库产生一个前面版(FrontPanel);在后台则是利用图形化的编程语言编制用于控制前面板的框图程序。

程序的前面板具有与传统仪器相类似的界面,可接受用户的鼠标和键盘指令。

一般来说,每一个VI都可以被其他VI调用,其功能类似于文本语言的子程序嵌套;而这种嵌套的层次,从理论上讲,是不受任何限制的。

LabVIEW是带有可扩展函数库和子程序库的通用程序设计系统。

它提供了用于GPIB设备控制、VXI总线控制、串行口设备控制、以及数据分析、显示和存储的应用程序模块。

LabVIEW可方便的调用Windows动态链接库和用户自定义的动态链接库中的函数;LabVIEW还提供了CIN(CInterfaceNode)节点使得用户可以使用由C或C++语言,如ANSIC,编译的程序模块,使得LabVIEW成为一个开放的开发平台。

LabVIEW还直接支持动态数据交换(DDE)、结构化查询语言(SQL)、TCP和UDP网络协议等。

此外,LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够很方便的设置断点,动态的执行程序来非常直观形象的观察数据的传输过程,以及进行方便的调试。

LabVIEW的运行机制就宏观上讲已经不再是传统上的冯·诺伊曼计算机体系结构的执行方式了。

传统的计算机语言(如C)中的顺序执行结构在LabVIEW中被并行机制所代替;从本质上讲,它是一种带有图形控制流结构的数据流模式(DataFlowMode),这种方式确保了程序中的函数节点(FunctionNode)只有在获得它的全部数据后才能够被执行。

也就是说,在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计算机等因素的影响。

既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。

这样,LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序受到行顺序执行的约束。

从而,我们可以通过相互连接函数节点快速简洁的开发应用程序,甚至还可以有多个数据通道同步运行,即所谓的多线程(Multithreading)。

LabVIEW的核心是VI。

VI有一个人机对话的用户界面——前面板(FrontPanel)和相当于源代码功能的框图程序(Diagram)。

前面板接受来自框图程序的指令。

在VI的前面板中,控件(Controls)模拟了仪器的输入装置并把数据提供给VI的框图程序;而指示器(Indicators)则是模拟了仪器的输出装置并显示由框图程序获得或产生的数据。

当把一个控件或指示器放置到前面板上时,LabVIEW便在框图程序中相应的产生了一个终端(Terminal),这个从属于控件或指示器的终端不能随意的被删除,只有删除它对应的控件或指示器时它才会随之一起被删除。

用LabVIEW编制框图程序时,不必受常规程序设计语法细节的限制。

首先,从函数面板(FunctionPalette)中选择需要的函数节点(FunctionNode),将之置于框图上适当的位置;然后用连线(Wires)连接各函数节点在框图程序中的端口(Port),用来在函数节点之间传输数据。

这些函数节点包括了简单的计算函数、高级的采集和分析VI以及用来存储和检索数据的文件输入输出函数和网络函数。

用LabVIEW编制出的图形化VI是分层次和模块化的。

我们可以将之用于顶层(TopLevel)程序,也可用作其他程序或子程序的子程序。

一个VI用在其它VI中,称之为subVI,subVI在调用它的程序中同样是以一个图标的形式出现的;为了区分各个subVI,它们的图标是可编辑的。

LabVIEW依附并发展了模块化程序设计的概念。

用户可以把一个应用任务分解成为一系列的子任务,每个子任务还可以分解成许多更低一级的子任务,直到把一个复杂的问题分解成为许多子任务的组合。

首先设计subVI完成每个子任务,然后将之逐步组合成为能够解决最终问题的VI。

图形化的程序设计编程简单、直观、开发效率高。

随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内最有前途的发展方向。

2.2程序前面板

程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。

各种旋钮,开关,显示屏幕都会像真实仪器一样简单可见。

2.3框图程序

每一个程序前面板都对应着一段框图程序。

框图程序用Labview图形编程语言编写,可以把它理解成传统程序的源代码。

框图程序由端口、节点、图框和连线构成。

其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。

2.4图标/连接器

图标/连接器是子VI被其它VI调用的接口。

图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。

用户必须指定连接器端口与前面板的控制和显示一一对应。

连接器一般情况下隐含不显示,除非用户选择打开观察它[5]。

3虚拟信号发生器设计方案

3.1前面板的设计

根据传统信号发生器面板控键的功能,利用Labview中的控制模板,分别在设计面板上放入模拟实际信号发生器控键的数据输入控键、显示器、数据输出控件、开关、选择器。

显示器用于显示输出的信号波形,数据输入控键用于输出信号的信号频率、采样频率、采样数、振幅和相位,数据输出控键则用于选择信号类型。

打开Labview前面板编辑窗口,点击鼠标右键,显示控制模板,选择Graph>>WaveformGraph,作为信号发生器的显示器。

在显示器模板上点击鼠标右键,对其进行属性设置,如根据被显示波形的频率与幅度值的变化,利用工具模板中的文字工具,对显示器横(时间)、纵(幅度)坐标的刻度重新设置,用Graph控键设计的显示器是完全同步的,波形稳定。

3.2程序框图的设计

程序框图的设计基于Labview的图形编程模式即所见即所得的模式进行连线设计。

3.2.1参数设置控件

(1)在前面板的设计窗口中,打开控制模块执行Allcontrolls>>Numeric>>Knob操作,得到幅值等控制旋钮。

(2)将鼠标移至旋钮单击右键选择属性(Proper2ties)选项,在随后弹出的对话框中的外观(Appear2ance)选项的标签中将这些旋钮分别命名为“频率调节”、“幅度调节”和“相位调节”等。

(3)最后定义精度。

根据频率和幅度的数值范围,我们将其精度定义为双精度浮点型(DBL)。

具体操作仍然是在属性(Properties)选项的数据范围(Datarange)选项中的Representation内完成。

3.2.2输出波形选择按钮

用一个Case结构来控制波形的产生。

可以选择输出为正弦信号或是方波信号、三角波等。

具体操作为:

在前面板的设计窗口中,打开控制模块,执行Almontroll→ring&Enum→Te

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1