《基于LabVIEW的虚拟函数信号发生器的设计-论文.doc》由会员分享,可在线阅读,更多相关《基于LabVIEW的虚拟函数信号发生器的设计-论文.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于Labview的信号发生器的设计摘 要:本文实现了基于Labview的虚拟正弦,余弦,方波,锯齿波,三角波信号发生器。可以根据需要,改变波形的频率和幅值,保存波形的分析参数到指定文件,并介绍了基于USB数据采集卡的虚拟信号输出。本论文首先简介了虚拟函数信号发生器的开发平台,及虚拟信号发生器的设计思路,并且给出了基于labview 的虚拟信号发生器的前面板和程序设计流程图,讲述了功能模块的设计步骤,提供了虚拟发生器的面板。本仪器系统操作简便,设计灵活,具有很强的适应性。关键词:虚拟函数;labview;信号发生器;波形The Design of Signal Generator Based
2、on LabviewAbstract:This article describes the virtual Labview based on sine, cosine, square, saw tooth, triangle wave signal generator. Can change the waveform of the frequency and amplitude, the analysis of waveform parameters saved to the specified file, and introduced the USB data acquisition car
3、d based on the virtual signal output. Introduction In this paper, the first virtual function signal generator of the development platform, and virtual signal generators of design ideas, and gives the Labview-based virtual signal generators front panel and the programming flow chart describes the des
4、ign of these functional modules provides a virtual panel generator. Signal generator in the design process, after careful thought, combined with the specific function of Labview a certain innovation. The instrument system is simple, flexible design, has a strong adaptability. Keyword :Virtual;functi
5、on;Labview;signal generator;waveform目录1 引 言11.1 EE1641D型函数信号发生器的结构和使用说明11.2 前面板说明11.3 后面板说明31.4 自校检查31.5 函数信号输出42 虚拟信号发生器的应用介绍62.1 Labview开发平台LabVIEW开发平台简介72.2 程序前面板92.3 框图程序92.4 图标/连接器93 虚拟信号发生器设计方案103.1 前面板的设计103.2 程序框图的设计103.2.1 参数设置控件103.2.2 输出波形选择按钮103.2.3 波形显示控件103.2.4 开关控件113.2.5 流程图的设计113.2.
6、 6程序图标的调入113.2.7 频率设置114 信号发生的具体实现124.1 虚拟正弦波发生器的设计124.1.1 功能描述124.1.2设计步骤124.2虚拟方波发生器的设计144.2.1 功能描述144.2.2设计步骤154.3虚拟锯齿波发生器的设计174.3.1 功能描述:174.3.2设计步骤174.4 虚拟三角波发生器的设计194.4.1 功能描述:194.4.2设计步骤204.5虚拟正弦波,方波,锯齿波,三角波发生器的的综合设计224.5.1 发生器的前面板224.5.2 综合发生器流程图设计224.5.3 综合发生器的运行结果23致谢25参考文献261 引 言1.1 EE164
7、1D型函数信号发生器的结构和使用说明EE1641D型函数信号发生器,是电子技术类实验室中的常用仪表。作为信号源,它能够输出正弦波、矩形波和锯齿波等波形1。在该仪表的讲解和使用过程中发现,面对大量的旋钮和按键,学生难以根据功能进行有效的组合。针对这些问题,以往是采用多媒体课件的形式分模块进行教学,如分别介绍原理方框图、仪器面板图和使用方法。在使用方法中包括正弦波输出、矩形波输出、锯齿波输出、含直流的信号等四个单元。图1-1给出了调整正弦波时的课件演示结果。图1-1EE1641D前面板布局参见图1-2。图1-2 前面板示意图1.2 前面板说明1频率显示窗口显示输出信号的频率或外测频信号的频率。2幅
8、度显示窗口显示函数输出信号的幅度。3扫描宽度调节旋钮调节此电位器可以改变内扫描的时间长短。在外测频时,逆时针旋到底(绿灯亮),为外输入测量信号经过低通开关进入测量系统。4速率调节旋钮调节此电位器可调节扫频输出的扫频范围。在外测频时,逆时针旋到底(绿灯亮),为外输入测量信号经过衰减“20dB”进入测量系统。5外部输入插座当“扫描/计数键(13)功能选择在外扫描状态或外测频功能时,外扫描控制信号或外测频信号由此输入。”6TTL信号输出器输同标准的TTL幅度的脉冲信号,输出阻抗为600W。7函数信号输出端输出多种波形受控的函数信号,输出幅度20Vp-p(1MW负载),10Vp-p(50W负载)。8函
9、数信号输出幅度调节旋钮调节范围20dB。9函数信号输出信号直流电平预置调节旋钮调节范围:5V+5V(50W负载),当电位器处在中心位置时,则为0电平。10输出波形,对称性调节旋钮调节此旋钮可改变输出信号的对称性。当电位器处在中心位置时,则输出对称信号。11函数信号输出幅度衰减开关“20dB”、“40dB”键均不按下,输出信号不经衰减,直接输出到插座口。“20dB”、“40dB”键分别按下,则可选择20dB或40dB衰减。12函数输出波形选择按钮可选择正弦波、三角波、脉冲波输出。13“扫描/计数”按钮可选择多种扫描方式和外测频方式。14频率范围选择按钮每按一次此按钮可改变输出频率的1个频段。15
10、频率微调旋钮调节此旋钮可微调输出信号频率,调节基数范围为从2。16整机电源开关此按键揿下时,机内电源接通,整机工作。此键释放为关掉整机电源。17单脉冲按键控制单脉冲输出,每揿动一次此按键,单脉冲输出(17)输出电平翻转一次。18单脉冲输出端单脉冲输出由此端口输出。19功率输出端提供4W的间频信号功率输出。此功能仅对100,1k,10k档有效2。1.3 后面板说明EE1641D后面板布局参见图1-3。图1-3后面板示意图1电源插座交流市电220V输入插座。该插座内置保险丝管座,保险容量为0.5A。测量、试验的准备工作请先检查市电电压,确认市电电压在220V10%范围内,方可将电源线插头插入本仪器
11、后面板电源线插座内,供仪器随时开启工作。1.4 自校检查1在使用本仪器进行测试工作之前,可对其进行自校检查,以确定仪器工作正常与否3。2自校检查程序(见图1-4)。图1-41.5 函数信号输出50W高函数信号输出1以终端连接50W匹配器的测试电缆,由前面板插座(7)输出函数信号;2由频率选择按钮(14)选定输出函数信号的频段,由频率微调旋钮调整输出信号频率,直到所需的工作频率值;3由波形选择按钮(12)选定输出函数的波形分别获得正弦波、三角波、脉冲波;4由信号幅度选择器(11)和(8)选定和调节输出信号的幅度;5由信号电平设定器(9)选定输出信号所携带的直流电平;6输出波形对称调节器(10)可
12、改变输出脉冲信号空度比,与此类似,输出波形为三角或正弦时可使三角波调变为锯齿波,正弦波调变为正与负半周分别为不同角频率的正弦波形,且可移相180。采用课件演示的方法使学生了解了函数信号发生器的调整步骤,熟悉了相关旋钮和按键的配合使用。但是,采用这种方法也存在几个问题:(1) 函数信号发生器的调整结果必须要在示波器上才能看到。而按照课程进度,学生此时对示波器只是刚刚接触。实际操作中,往往因为示波器的调整不当而看不到函数信号发生器的输出波形,甚图1调整正弦波时的课件演示结果至出现信号的幅度、频率等参数调整不当时乱调示波器旋钮的现象。为此,希望能研制一种虚拟函数信号发生器,除了能调整规定幅度、规定频
13、率及规定波形的信号外,还应使学生能同步看到调整结果,明确信号中的幅度,频率等参数应由信号发生器来负责调整,与示波器无关。这样学生在接触实际仪表,可以快速定位故障点。(2)作为电子技术类实验室中的通用仪表,该型号函数信号发生器有许多与函数信号发生功能无关的旋钮,这部分旋钮主要用来满足计数器功能,为此,希望研制的虚拟函数信号发生上,仅包含与函数信号发生功能相关的所有旋钮。这样,可以使初次接触仪表的学生将注意力集中在函数信号发生功能上。(3) 采用课件演示的方法虽然直观,但对学生而言缺乏身临其境的感觉。为此,希望研制的虚拟函数信号发生器,能最大幅度接近实际仪表的使用,充分满足学生对“场感”的要求,以
14、避免虚拟和现实之间的脱节。为此,笔者采用NI公司的LabVIEW软件,研制出一种虚拟ee1641d型函数信号发生器。2 虚拟信号发生器的应用介绍自从1986年美国NI(National Instrument)公司提出虚拟仪器的概念以来,随着计算机技术和测量技术的发展,虚拟仪器技术也得到很快的发展。虚拟仪器是指:利用现有的PC机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。与传统的仪器相比其特点主要有:具有更好的测量精度和可重复性;测量速度快;系统组建时间短;由用户定义仪器功能;可扩展性强;技术更新快等。虚拟仪器以软件为核心,其软件又以美
15、国NI公司的Labview虚拟仪器软件开发平台最为常用。Labview是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。函数信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器。下面结合一个虚拟函数信号发生器设计开发具体介绍基于图形化编程语言Labview的虚拟仪器编程方法与实现技术。虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件
16、平台能满足对同步和定时应用的需求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。(1)高效的软件软件是虚拟仪器技术中最重要的部份。使用正确的软件工具 并通过设计或调用特定的程序模块,工程师和科学家们可以高效地创建自己的应用以及友好的人机交互界面。提供的行业标准图形化编程软件LabVIEW,不仅能轻松方便地完成与各种软硬件的连接,更能提供强大的后续数据处理能力,设置数据处理、转换、存储的方式,并将结果显示给用户。此外,还提供
17、了更多交互式的测量工具和更高层的系统管理软件工具,例如连接设计与测试的交互式软件SignalExpress、用于传统C语言的LabWindows/CVI、针对微软Visual Studio的Measurement Studio等等,均可满足客户对高性能应用的需求。 有了功能强大的软件,您就可以在仪器中创建智能性和决策功能,从而发挥虚拟仪器技术在测试应用中的强大优势。(2)模块化的硬件面对如今日益复杂的测试测量应用,已经提供了全方位的软硬件的解决方案。无论您是使用PCI, PXI, PCMCIA, USB或者是1394总线,都能提供相应的模块化的硬件产品,产品种类从数据采集、信号条理、声音和振动
18、测量、视觉、运动、仪器控制、分布式I/O到CAN接口等工业通讯,应有尽有。高性能的硬件产品结合灵活的开发软件,可以为负责测试和设计工作的工程师们创建完全自定义的测量系统,满足各种独特的应用要求。(3)用于集成的软硬件平台专为测试任务设计的PXI硬件平台,已经成为当今测试、测量和自动化应用的标准平台,它的开放式构架、灵活性和PC技术的成本优势为测量和自动化行业带来了一场翻天覆地的改革。 PXI作为一种专为工业数据采集与自动化应用度身定制的模块化仪器平台,内建有高端的定时和触发总线,再配以各类模块化的I/O硬件和相应的测试测量开发软件 ,您就可以建立完全自定义的测试测量解决方案。无论是面对简单的数
19、据采集应用,还是高端的混合信号同步采集,借助PXI高性能的硬件平台,您都能应付自如。这就是虚拟仪器技术带给您的无可比拟的优势。传统的电子仪器是自封闭的系统,它具有信号输入、输出的能力,并有固定的用户界面,比如:输入、输出信号接插件、旋钮、按钮、显示仪表、显示面板等。一个仪器包括传感器、信号处理器、A/D转换器、微处理器、存储器和内部总线等专门化的电路。通过这些电路来转换、测量、分析实际信号,并将结果以各种方式显示。然而,有时为了构成具有一定功能的系统,配置了一套仪器,但对其中的某些仪器,只用到了其中一部分功能,而将它作其他功能使用时,却不具备或达不到所需指标。如另配置一套仪器,不断效率不高,而
20、且价格高。要是能将原有的仪器稍加改动,就可以扩大其使用范围。但是传统的仪器功能是由制造商决定的,用户不能任意更改,用户如按自己的要求定制仪器需要昂贵的价格。虚拟仪器概念的提出是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流。以下是传统测试仪器和虚拟仪器的一个比较:表1-1传统仪器与虚拟仪器对照表传统仪器虚拟仪器开发和维护费用高基于软件体系的结构,大大节省开发和维护的费用功能由仪器厂商定义功能由用户自己定义与其他仪器设备的连接十分有限面向应用的系统结构,可以方便地与外设、网络或其他应用连接数据无法编辑数数据可编辑、存储、打印硬件是关键部分软件是关键部分价格昂贵价格低廉(是传统价格的五至十
21、分之一)技术更新慢(5-10年)技术更新快(一般1-2年)系统封闭、功能固定、扩展性低基于计算机技术开放的功能模块可构成多种仪器正是因为意识到了虚拟仪器的诸多优点及传统仪器的一些弊端,所以,我们计划开发了这样一台基于Labview(美国NI公司)的多功能虚拟数字发生器。其集成了示波,动态/静态波形分析,频谱分析,频率计,波形参数分析,信号发生,以及远程示波等功能。在示波功能上,除了对波形的精确显示外,还的波形参数进行了显示和对其时域信号、频域信号进行了分析。2.1 Labview开发平台LabVIEW开发平台简介 LabVIEW是一个完全的、开放式的虚拟仪器开发系统应用软件,利用它组建仪器测试
22、系统和数据采集系统可以大大简化程序的设计。LabVIEW与Visual C+、Visual Basic、LabWindows/CVI等编程语言不同,后者采用的是基于文本语言的程序代码(Code),而LabVIEW则是使用图形化程序设计语言G(Graphic),用框图代替了传统的程序代码。LabVIEW所运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似4。 LabVIEW包含有专门用于设计数据采集程序和仪器控制程序的函数库和开发工具库。LabVIEW的程序设计实质上就是设计一个个的“虚拟仪器”,即“VIs”。在计算机显示屏幕上利用函数库和开发工具库产生
23、一个前面版(Front Panel);在后台则是利用图形化的编程语言编制用于控制前面板的框图程序。程序的前面板具有与传统仪器相类似的界面,可接受用户的鼠标和键盘指令。一般来说,每一个VI都可以被其他VI调用,其功能类似于文本语言的子程序嵌套;而这种嵌套的层次,从理论上讲,是不受任何限制的。LabVIEW是带有可扩展函数库和子程序库的通用程序设计系统。它提供了用于GPIB设备控制、VXI总线控制、串行口设备控制、以及数据分析、显示和存储的应用程序模块。LabVIEW可方便的调用Windows动态链接库和用户自定义的动态链接库中的函数;LabVIEW还提供了CIN (C Interface Nod
24、e) 节点使得用户可以使用由C或C+语言,如ANSI C, 编译的程序模块,使得LabVIEW成为一个开放的开发平台。LabVIEW还直接支持动态数据交换(DDE)、结构化查询语言(SQL)、TCP和UDP网络协议等。此外,LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够很方便的设置断点,动态的执行程序来非常直观形象的观察数据的传输过程,以及进行方便的调试。LabVIEW的运行机制就宏观上讲已经不再是传统上的冯诺伊曼计算机体系结构的执行方式了。传统的计算机语言(如C)中的顺序执行结构在LabVIEW中被并行机制所代替;从本质上讲,它是一种带有图形控制流结构的数据流模式(Data F
25、low Mode),这种方式确保了程序中的函数节点(Function Node)只有在获得它的全部数据后才能够被执行。也就是说,在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计算机等因素的影响。既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。这样,LabVIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序受到行顺序执行的约束。从而,我们可以通过相互连接函数节点快速简洁的开发应用程序,甚至还可以有多个数据通道同步运行,即所谓的多线程(Multithread
26、ing)。LabVIEW的核心是VI。VI有一个人机对话的用户界面前面板(Front Panel)和相当于源代码功能的框图程序(Diagram)。前面板接受来自框图程序的指令。在VI的前面板中,控件(Controls)模拟了仪器的输入装置并把数据提供给VI的框图程序;而指示器(Indicators)则是模拟了仪器的输出装置并显示由框图程序获得或产生的数据。当把一个控件或指示器放置到前面板上时,LabVIEW便在框图程序中相应的产生了一个终端(Terminal),这个从属于控件或指示器的终端不能随意的被删除,只有删除它对应的控件或指示器时它才会随之一起被删除。用LabVIEW编制框图程序时,不必
27、受常规程序设计语法细节的限制。首先,从函数面板(Function Palette)中选择需要的函数节点(Function Node),将之置于框图上适当的位置;然后用连线(Wires)连接各函数节点在框图程序中的端口(Port),用来在函数节点之间传输数据。这些函数节点包括了简单的计算函数、高级的采集和分析VI以及用来存储和检索数据的文件输入输出函数和网络函数。用LabVIEW编制出的图形化VI是分层次和模块化的。我们可以将之用于顶层(Top Level)程序,也可用作其他程序或子程序的子程序。一个VI用在其它VI中,称之为subVI,subVI在调用它的程序中同样是以一个图标的形式出现的;为
28、了区分各个subVI,它们的图标是可编辑的。LabVIEW依附并发展了模块化程序设计的概念。用户可以把一个应用任务分解成为一系列的子任务,每个子任务还可以分解成许多更低一级的子任务,直到把一个复杂的问题分解成为许多子任务的组合。首先设计subVI完成每个子任务,然后将之逐步组合成为能够解决最终问题的VI。图形化的程序设计编程简单、直观、开发效率高。随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内最有前途的发展方向。2.2 程序前面板程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。各种旋钮,开关,显示屏幕都会像真实仪器一样简单可见。2.3 框图程序每一个程序
29、前面板都对应着一段框图程序。框图程序用Labview图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。2.4 图标/连接器图标/连接器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。连接器一般情况下隐含不显示,除非用户选择打开观察它5。3 虚拟信号发
30、生器设计方案3.1 前面板的设计根据传统信号发生器面板控键的功能,利用Labview中的控制模板,分别在设计面板上放入模拟实际信号发生器控键的数据输入控键、显示器、数据输出控件、开关、选择器。 显示器用于显示输出的信号波形,数据输入控键用于输出信号的信号频率、采样频率、采样数、振幅和相位,数据输出控键则用于选择信号类型。打开Labview前面板编辑窗口,点击鼠标右键,显示控制模板,选择Graph Waveform Graph ,作为信号发生器的显示器。 在显示器模板上点击鼠标右键,对其进行属性设置,如根据被显示波形的频率与幅度值的变化,利用工具模板中的文字工具,对显示器横(时间)、纵(幅度)坐
31、标的刻度重新设置,用Graph控键设计的显示器是完全同步的,波形稳定。3.2 程序框图的设计程序框图的设计基于Labview的图形编程模式即所见即所得的模式进行连线设计。3.2.1 参数设置控件(1) 在前面板的设计窗口中,打开控制模块执行All cont roll s Numeric Knob 操作,得到幅值等控制旋钮。(2) 将鼠标移至旋钮单击右键选择属性( Proper2ties) 选项,在随后弹出的对话框中的外观(Appear2ance) 选项的标签中将这些旋钮分别命名为“频率调节”、“幅度调节”和“相位调节”等。 (3) 最后定义精度。 根据频率和幅度的数值范围,我们将其精度定义为双
32、精度浮点型(DBL) 。 具体操作仍然是在属性( Properties) 选项的数据范围(Datarange) 选项中的Representation 内完成。3.2.2 输出波形选择按钮用一个Case 结构来控制波形的产生。 可以选择输出为正弦信号或是方波信号、三角波等。 具体操作为:在前面板的设计窗口中,打开控制模块,执行Almont roll ring &E num Text ring ,修改名称为wave select (波形选择) 。 然后右键点击properties 选择Edit Items 项,在表格中添加和编辑sine wave 、t triangle 、square wave
33、等,并设置其先后顺序。3.2.3 波形显示控件这个控件用来显示所产生的波形。执行Cont rols Graph Waveform Chart 操作,调入所选图标。 其横轴为时间轴,纵轴为电压轴。注意:控件参数设置应考虑到采样频率fs , 信号频率f 一个周期采样点n 与总点数N = Samples 的关系: fs = nfx ,所以fs 的最大值应该是被测信号频率f s 的最大值n ,且N n6。3.2.4 开关控件此开关用于结束运行。执行All controls Boolean StopButton操作,调入开关按钮,标记为“STOP”。注意:在完成对虚拟仪器的前面板设计后,若需对其进行装饰
34、,可以执行All cont roll s Decorations操作,然后根据需要在其选项框里选择相应的内容对你所设计的前面板进行必要的修饰。3.2.5 流程图的设计对于虚拟信号发生器而言,它的主要功能就是为我们提供激励信号,所以在流程图设计中,我们首先要选择产生信号的图标以及用于产生信号的case 结构和循环控制While 循环7。3.2.6程序图标的调入(1) 在流程图设计窗口中打开( Function) 模块,执行All Functions structures While loop 调入While loop 循环,控制程序的运行。(2) 执行structures case struct
35、ures 调入case循环,用于控制产生不同信号的运行。(3) 执行All Functions Analyze Signal Processing Signal Generation 操作, 分别调入Triangle Wave。 vi (三角波) 、Sine Wave。 vi (正弦波) 、Square Wave。 vi (方波)等图标。(4) 执行All Functions Numeric Multi2ple/ Add 分别调入乘法器和加法器8。3.2.7 频率设置(1) 频率设置。 在模拟电路范围,信号频率以Hz或周期来测量,但是在数字系统中我们使用数字频率,它是模拟频率和采样频率之比,如
36、下所示:数字频率= 模拟频率/ 采样频率采样间隔也是信号产生的必要条件,在遵循抽样定理的基础上,我们需要给出采样频率和采样点数,用以产生信号。 数字频率由除法器的输出提供,该除法器完成了信号频率和采样频率之比的运算,将所需要的数字频率输出送给信号发生图标。4 信号发生的具体实现在前面已经对发生器的设计作了介绍,首先做的是正弦波发生器,依次是方波,锯齿波,三角波发生器。运用LABVIEW的开发平台上的模块,对程序进行编程,从而完成实验设计,是非常方便的,在熟悉模块功能的基础上,慢慢尝试设计图纸,并最终完成设计。4.1 虚拟正弦波发生器的设计4.1.1 功能描述该虚拟正弦信号发生器可产生正弦信号。
37、指标为:频率范围:1 Hz10000 Hz ,可选;初始相位:0 180,可选;幅值:1V510V, 可选;生成波形的总点数: N =8512 , 可选。4.1.2 设计步骤1. 正弦波发生器前面板的设计正弦波发生器前面板包括五个输入型数子控件:正弦波的信号频率 、初始相位、信号幅值、总采样点数N与采样频率,及STOP控件,复位控件和正弦波发生器9。(1)五个输入型数字控件。五个输入型数子控件提供使用者键入生成正弦波的频率 、初始相位、幅值、总采样点数N与采样频率 。执行ControlsNumericDigital Control 控件五次,得到五个输入型数子控件,分别标记为“信号频率”、“采
38、样频率”、“采样点数”、“信号幅值”和“初始相位”。 (2)一个输出显示型图形控件。输出显示型图形控件用来显示所产生的正弦波波形。执行ControlsGraphWaveform Graph 操作,调入图形控件Graph 。其横轴为时间轴。应考虑到生成信号频率跨度大,在0。1 Hz10K Hz范围内,其周期跨度也大,在10s0.1ms范围内;行成信号幅值的范围应充满整个显示画面,故选用“ Graph”显示器。(3)两个开关控件。执行ControlsBooleanVertical Switch操作,调入开关按钮控件,标记为“复位相位”。(4)执行ControlsBooleanLabeled Rou
39、nd Button操作,调入开关按钮控件,标记为“OFF”。如图4-1: 图4-1虚拟正弦波发生器前面板的设计(正弦波发生器前面板包括五个输入型数子控件:正弦波的信号频率 、初始相位、信号幅值、总采样点数N与采样频率,及STOP控件,复位控件和正弦波发生器)2正弦波发生器流程图的设计(1)在流程图中执行FunctionsStructuresWhile Loop操作,调入 While在这一部分,系统完成了对信号的生成和预览,但是要将信号送出去就必须将信号发送的循环结构。执行Functionsnumeric四次,可以分别放置一个除法器,一个倒数器及两个常数0和10。(2)在流程图中执行Functi
40、onsSignal Processingsignal GenerationSine Wave.vi操作,可调入Sine Wave.vi图标。(3)在流程图中执行FunctionsClusterBundle操作,调入Bundle图标。(4)在流程图中执行FunctionsTime DialogWait操作,调入时钟图标。(5)在流程图中执行FunctionsBooleanNot操作,调入Not图标。注:所需的数字频率由除法器的输出提供,该除法器完成信号频率与采样频率之比的运算,同时将采样频率取倒数转换为采样间隔,给出正弦波形的采样间隔,便于显示。如下图:图4-2虚拟正弦波发生器流程图的设计(流程
41、图包括:除法器,倒数器,正弦波发生器,常数0和10,正弦信号发生器,时钟图标,Not图标)3. 正弦波运行结果单击运行快捷按钮,检验设计的功能是否已完全实现。设置频率信号:0.4Hz 采样频率:8Hz 采样点数:100 信号幅值:3V 初始相位:0其值都是可选的。运行结果如下图:图4-3正弦波运行结果图4.2虚拟方波发生器的设计虚拟方波发生器的设计和正弦波发生器的设计大体相同10。4.2.1 功能描述在此继续使用正弦波的频率范围,初始相位,幅值,指标为:频率范围:1Hz10000 Hz ,可选;初始相位:0 180,可选;幅值:1V510V, 可选;生成波形的总点数: N =8512 , 可选
42、。4.2.2 设计步骤1方波信号发生器的前面板设计方波信号发生器的前面板设计过程和正弦信号发生器的前面板设计大体相同11。(1)五个输入型数字控件。五个输入型数子控件提供使用者键入生成方波的频率 、初始相位、幅值、总采样点数N与采样频率 。执行ControlsNumericDigital Control 控件五次,得到五个输入型数子控件,分别标记为“信号频率”、“采样频率”、“采样点数”、“信号幅值”和“初始相位”。如下图所示(2)一个输出显示型图形控件。输出显示型图形控件用来显示所产生的方波形。执行ControlsGraphWaveform Graph 操作,调入图形控件Graph 。其横轴
43、为时间轴。应考虑到生成信号频率跨度大,在0.1Hz10KHz范围内,其周期跨度也大,在10s0.1ms范围内;行成信号幅值的范围应充满整个显示画面,故选用“ Graph”显示器。(3)两个开关控件。执行ControlsBooleanVertical Switch操作,调入开关按钮控件,标记为“复位相位”。执行ControlsBooleanLabeled Round Button操作,调入开关按钮控件,标记为“OFF”。如下图图4-4虚拟方波发生器前面板的设计(方波发生器前面板包括五个输入型数子控件:方波的信号频率 、初始相位、信号幅值、总采样点数N与采样频率,及STOP控件,复位控件和方波发生
44、器)2方波信号发生器流程图设计(1)在流程图中执行FunctionsStructuresWhile Loop操作,调入 While在这一部分,系统完成了对信号的生成和预览,但是要将信号送出去就必须将信号发送的循环结构12。执行Functionsnumeric四次,可以分别放置一个除法器,一个倒数器及两个常数0和10。(2)在流程图中执行FunctionsSignal Processingsignal GenerationSine Wave.vi操作,可调入Sine Wave.vi图标。(3)在流程图中执行FunctionsClusterBundle操作,调入Bundle图标。(4)在流程图中执
45、行FunctionsTime DialogWait操作,调入时钟图标。(5)在流程图中执行FunctionsBooleanNot操作,调入Not图标。注:所需的数字频率由除法器的输出提供,该除法器完成信号频率与采样频率之比的运算,同时将采样频率取倒数转换为采样间隔,给出方波形的采样间隔,便于显示13。如图4-5:图4-5虚拟方波发生器流程图的设计(流程图包括:除法器,倒数器,方波发生器,常数0和10,方波信号发生器,时钟图标,Not图标)3. 方波运行结果单击运行快捷按钮,检验设计的功能已完全实现。设置频率信号:0.8Hz 采样频率:10Hz 采样点数:200 信号幅值:5V 初始相位:0其值
46、都是可选的。运行结果如下图:图4-6方波运行结果图4.3 虚拟锯齿波发生器的设计虚拟锯齿波发生器的设计和正弦波。方波发生器的设计大体相同。4.3.1 功能描述:该虚拟锯齿波信号发生器可产生锯齿波信号。指标为:频率范围:1Hz10000 Hz ,可选;初始相位:0 180,可选;幅值:1V510V, 可选;生成波形的总点数: N =8512 , 可选。4.3.2 设计步骤1 锯齿波信号发生器的前面板设计锯齿波信号发生器的前面板设计过程也是和正弦信号发生器。方波信号发生器的前面板设计一样,具体设计过程如下:(1)五个输入型数字控件。五个输入型数子控件提供使用者键入生成锯齿波的频率 、初始相位、幅值、总采样点数N与采样频率 。执行ControlsNumericDigital Control 控件五次,得到五个输入型数子控件,分别标记为“信号频率”、“采样频率”、“采样点数”、“信号幅值”和“初始相位”。(2)一个输出显示型图形控件。输出显示型图形控件用来显示所产生的锯齿波形。执行ControlsGraph