基于LabVIEW的信号发生器设计.docx
- 文档编号:4270919
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:14
- 大小:393.41KB
基于LabVIEW的信号发生器设计.docx
《基于LabVIEW的信号发生器设计.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的信号发生器设计.docx(14页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的信号发生器设计
目录
1LabVIEW简介3
1.1虚拟仪器概念3
1.2LabVIEW介绍4
1.2.1Labview开发平台4
1.2.2程序前面板4
1.2.3框图程序5
1.2.4图标/连接器5
1.2.5Labview中的操作模板5
1.2.6Labview中的框图程序6
2虚拟信号发生器的设计思想6
3虚拟信号发生源的方案设计7
3.1实验方案一7
3.2实验方案二7
3.3方案比较7
4虚拟信号发生源的实现7
4.1前面板的设计7
4.1.2 参数设置控件8
4.1.3 输出波形选择按钮8
4.1.4是否加噪声信号选择8
5调试过程及结果10
5.1三角波的调试10
5.2正弦波调试11
5.3方波的调试11
5.4锯齿波的调试12
5.5高斯白噪声的调试12
5.6混合信号的调试13
5.7均匀噪声信号的调试13
5.8加均匀噪声信号调试14
5.9加信高斯白噪声信号调试14
5.10数字信号RZ的调试15
5.11数字信号NRZ的调试15
6心得体会16
7参考文献16
基于LABVIEW的虚拟信号发生器设计
1LabVIEW简介
1.1虚拟仪器概念
传统仪器一般是一台独立的装置,从外观上看,它是一般由操作面板、信号输入端口、检测结果输出这几个部分组成。
操作面板上一般有一些开关、按钮、旋钮等。
检测结果的输出方式有数字显示、指针式表头显示、图形显示及打印输出等。
而所谓的虚拟仪器,就是在通用的计算机平台上定义和设计仪器的功能,用户操作计算机的同时就是在使用一台专门的电子仪器。
虚拟仪器以计算机为核心,充分利用计算机强大的图形界面和数据处理能力,提供对测量数据的分析和显示功能。
虚拟仪器技术给用户一个充分发挥自己的才能、想象力的空间。
用户可以随心所欲地根据自己的需求,设计自己的仪器系统,满足多种多样的用户需求。
如果在计算机内插上一块数据采集卡,就可以把传统仪器的所有功能模块都集成在一台计算机中了。
而软件就成为了虚拟仪器的关键,任何一个使用者都可以通过修改虚拟仪器的软件来改变它的功能,这就是美国NI公司“软件就是仪器”一说的来历。
影响最大的虚拟仪器编程语言是美国NI公司的LabVIEW和LabWindows/CVI。
以下是传统测试仪器和虚拟仪器的一个比较:
表1-1传统仪器与虚拟仪器对照表
传统仪器
虚拟仪器
开发和维护费用高
基于软件体系的结构,大大节省开发和维护的费用
功能由仪器厂商定义
功能由用户自己定义
与其他仪器设备的连接十分有限
面向应用的系统结构,可以方便地与外设、网络或其他应用连接
数据无法编辑数
数据可编辑、存储、打印
硬件是关键部分
软件是关键部分
价格昂贵
价格低廉(是传统价格的五至十分之一)
技术更新慢(5--10年)
技术更新快(一般1--2年)
系统封闭、功能固定、扩展性低
基于计算机技术开放的功能模块可构成多种仪器
正是因为意识到了虚拟仪器的诸多优点及传统仪器的一些弊端,所以,我们计划开发了这样一台基于Labview(美国NI公司)的多功能虚拟数字发生器。
其集成了示波,动态/静态波形分析,频谱分析,频率计,波形参数分析,信号发生,以及远程示波等功能。
在示波功能上,除了对波形的精确显示外,还的波形参数进行了显示和对其时域信号、频域信号进行了分析。
1.2LabVIEW介绍
1.2.1Labview开发平台
Labview是LaboratoryVirtualInstrumentEngineeringWorkbench(实验室虚拟仪器集成开发环境)的简称,是有美国国家仪器公司(Nationalinstruments,IN)创立的一个功能强大而又灵活的仪器和分析应用开发工具。
Labview不同于基于文本的的编程语言(如Fortran和C),他是一种图形编程语言----通常称为G语言,其编程过程就是同过图形符号描述程序的运行。
NILabview使用已获取专利的数据流编程模式,他能是用户从基于文本程序语言的循序结构中解脱出来,他的执行循序是由节点间的数据而不是由文本行的循序决定的。
并且,Labview是唯一具有编译器的图形化程序环境,所生成的的优化代码的执行速率可以和C语言媲美。
Labview就有开放的环境,能和第三放软件轻松连接,通过Labview,用户可以把现有的应用程序和.NET组件、ActiveX、DLL以及广泛的网络协议相连,同样用户可以在Labview中创建能在其软件环境中调用的独立执行程序或动态连接库。
在设计集成系统中,特别是做硬件数据采集,仪器控制等,有其一套快速开发组件,从而大大缩短了系统的开发周期,着是其他开发平台所没法比较的。
下面对Labview基于图形化语言作简要介绍:
1.2.2程序前面板
程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。
在程序前面板上,输入量被称为控制(Controls),输出量被称为显示(Indicators)。
控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使这得前面板直观易懂。
1.2.3框图程序
每一个程序前面板都对应着一段框图程序。
框图程序用Labview图形编程语言编写,可以把它理解成传统程序的源代码。
框图程序由端口、节点、图框和连线构成。
其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。
1.2.4图标/连接器
图标/连接器是子VI被其它VI调用的接口。
图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。
用户必须指定连接器端口与前面板的控制和显示一一对应。
连接器一般情况下隐含不显示,除非用户选择打开观察它。
1.2.5Labview中的操作模板
Labview具有多个图形化的操作模板,用于创建和运行程序。
这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。
操纵模板共有三类,为工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。
工具模板为编程者提供了各种用于创建、修改和调试VI程序的工具。
如果该模板没有出现,则可以在Windows菜单下选择ShowToolsPalette命令以显示该模板。
当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。
当从Windows菜单下选择了ShowHelpWindow功能后,把工具模板内选定的任一种工具光标放在框图程序的子程序(SubVI)或图标上,就会显示相应的帮助信息。
用控制模板可以给前面板添加输入控制和输出显示。
每个图标代表一个子模板。
如果控制模板不显示,可以用Windows菜单的ShowControlsPalette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。
功能模板是创建框图程序的工具。
该模板上的每一个顶层图标都表示一个子模板。
若功能模板不出现,则可以用Windows菜单下的ShowFunctionsPalette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。
1.2.6Labview中的框图程序
框图程序是由节点、端子、图框和连线四种元素构成的。
节点类似于文本语言程序的语句、函数或者子程序。
Labview有二种节点类型----函数节点和子VI节点。
两者的区别在于:
函数节点是Labview以编译好了的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。
用户可以访问和修改任一子VI节点的代码,但无法对函数节点进行修改。
端子是只有一路输入/输出,且方向固定的节点。
Labview有三类端子----前面板对象端子、全局与局部变量端子和常量端子。
对象端子是数据在框图程序部分和前面板之间传输的接口。
一般来说,一个VI的前面板上的对象(控制或显示)都在框图中有一个对象端子与之一一对应。
当在前面板创建或删除面板对象时,可以自动创建或删除相应的对象端子。
控制对象对应的端子在框图中是用粗框框住的。
它们只能在VI程序框图中作为数据流源点。
显示对象对应的端子在框图中是用细框框住的。
图框是Labview实现程序结构控制命令的图形表示。
如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。
代码接口节点(CIN)是框图程序与用户提供的C语言文本程序的接口。
连线是端口间的数据通道。
它们类似于普通程序中的变量。
数据是单向流动的,从源端口向一个或多个目的端口流动。
不同的线型代表不同的数据类型。
在彩显上,每种数据类型还以不同的颜色予以强调。
当需要连接两个端子时,在第一个端子上点击连线工具(从工具模板栏调用),然后移动到另一个端子,再点击第二个端子。
端子的先后次序不影响数据流动的方向。
当把连线工具放在端子上时,该端子区域将会闪烁,表示连线将会接通该端子。
当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。
当需要连线转弯时,点击一次鼠标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转角的方
2虚拟信号发生器的设计思想
虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控键.虚拟信号发生器可产生正弦波、方波、锯齿波、三角波、高斯白噪声、均匀白噪声以及加噪声等信号以及混合信号和数字信号,根据需要,可调节其中面板上的控键,改变信号的频率、幅度与相位,所有信号发生的结果都可以通过软件设计的虚拟面板显示..
3虚拟信号发生源的方案设计
3.1实验方案一
通过自己编写程序来实现三角波、锯齿波、方波、正弦波、数字波形的产生;
3.2实验方案二
通过已有的信号发生器来实现三角波,锯齿波,方波,正弦波,数字波形的产生,熟悉各种语句,使前面板看起来功能相对比较多。
3.3方案比较
方案一需要对控件掌握的要求高些,而方案二对函数掌握的要求高些,二者同样都可以实现要求,由于对函数掌握的程度高些,此次强化训练我选择第二种实验方案。
4虚拟信号发生源的实现
4.1前面板的设计
根据传统信号发生器面板控键的功能,利用Labview中的控制模板,分别在设计面板上放入模拟实际信号发生器控键的数据输入控键、显示器、数据输出控件、开关、选择器.显示器用于显示输出的信号波形,数据输入控键用于输出信号的信号频率、采样频率、采样数、振幅和相位,数据输出控键则用于选择信号类型.
图1前面板上的控件
4.1.2 参数设置控件
(1)在前面板的设计窗口中,打开控制模块执行Allcontrolls>>Numeric>>Knob操作,得到幅值等控制旋钮。
(2)将鼠标移至旋钮单击右键选择属性选项,在随后弹出的对话框中的外观选项的标签中将这些旋钮分别命名为“频率调节”、“幅度调节”、“相位调节”、“采样频率”、“高斯噪声的标准差或均匀噪声的振幅”
4.1.3 输出波形选择按钮
用一个Case结构来控制波形的产生.可以选择输出为正弦信号、方波信号、三角波、锯齿波、数字波RZ、NRZ、均匀白噪声、高斯白噪声等.具体操作为:
在前面板的设计窗口中,打开控制模块,执行Express→文本输入控件→文本下拉列表,修改名称为选择产生的信号.然后右键点击属性,选择编辑项,在表格中添加和编辑三角波、正弦波、锯齿波、方波、高斯白噪声、均匀白噪声、RZ、NRZ等,并设置其先后顺序。
4.1.4是否加噪声信号选择
和输出波形选择按钮一样,在表格中添加和编辑不加噪声,加高斯白噪声,加均匀噪声等,并设置其先后顺序。
4.2程序框图的设计
对于虚拟信号发生器而言,它的主要功能就是为我们提供激励信号,所以在程序框图设计中,我们首先要选择产生信号的图标以及用于产生信号的case结构。
图2程序框图中的程序图
其中的case语句是这次强化训练的重点,每一个case语句都可以产生一种波形。
图3程序框图中case0语句框图,
Case0产生三角波;Case1产生正弦波;Case2产生方波;
Case3产生锯齿波;Case4产生高斯白噪声;Case5产生均匀噪声;
Case6产生数字信号RZ;Case7产生数字信号NRZ;
前面五个Case都是用已有的信号发生器来产生信号;
数字信号是用脉冲信号产生的合成产生的数字信号;
图4RZ数字波的产生框图
5调试过程及结果
5.1三角波的调试
图5三角波的调试结果
5.2正弦波调试
图6正弦波的调试结果
5.3方波的调试
图7方波的调试结果
5.4锯齿波的调试
图8锯齿波的调试结果
5.5高斯白噪声的调试
图9高斯白噪声的调试结果
5.6混合信号的调试
图10混合信号的调试结果
5.7均匀噪声信号的调试
图11均匀噪声的调试结果
5.8加均匀噪声信号调试
图12加均匀噪声信号的调试结果
5.9加信高斯白噪声信号调试
图13加信高斯白噪声信号的调试结果
5.10数字信号RZ的调试
图14数字信号RZ信号的调试结果
5.11数字信号NRZ的调试
图15数字信号NRZ的调试结果
6心得体会
原来做的课程设计都是有关单片机和PGFA语言编写的,对于虚拟仪器这一块完全没有涉及过,所以这次强化训练选了LabVIEW,通过这次强化训练让我对LabVIEW有了一定的了解,成功的实现了虚拟信号发生器。
刚开始的时候安装的是英文版的LabVIEW,让我仿做例子的时候有一定的困难,但是也顺便学习了一下英语,感觉还不错,但是我觉得我还是不能这样完成我的强化训练,所以我有安装了中文版的LabVIEW,觉得例子就容易理解多了。
让我学会了CASE语句,While语句,for语句,顺序结构,以及其中的一些重要的控件和函数,这对我完成这次强化训练就足够了。
这次强化训练我主要是用的CASE语句,用它来实现各个波形的选择,信号发生器在显示方面有一定的问题,不能放大时间轴,当频率过高的时候,只有自己调节X轴才能实现很好的看到波形,但是这次强化训练可以实现波形的精确调节,当你需要多大频率幅度相位的信号时,可以直接在前面板直接输入数值实现信号发生器。
在数字信号的产生中是自己做的一个数字信号发生器,学会了调用自己做的子VI,在整体的感官上,觉得自己的设计面板排版不是很好。
但是不管怎么样能够实现信号发生,而且在用LabVIEW直接编程方面都有了一定的了解,对我以后用LabVIEW肯定带来了方便。
对于LabVIEW的学习肯定不能由于一次强化训练有很深的了解,希望以后有机会的话能够再次学习做关于LabVIEW的东西。
7参考文献
[1]陆绮荣.基于虚拟仪器技术个人实验的构建.北京:
电子工业出版社.2006.10.
[2]RobertH.Bishop.LabVIEW6i实用教程.北京:
电子工业出版社.2003.1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 信号发生器 设计