基于LabVIEW的虚拟信号发生器设计.docx
《基于LabVIEW的虚拟信号发生器设计.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的虚拟信号发生器设计.docx(14页珍藏版)》请在冰点文库上搜索。
基于LabVIEW的虚拟信号发生器设计
《虚拟仪器》设计说明书
基于LabVIEW的虚拟信号发生器设计
院、部:
电气与信息工程学院
学生姓名:
罗万里
指导教师:
夏鑫职称讲师
专业:
自动化
班级:
自本1001班
完成时间:
2013年12月24日
目录
第1章虚拟仪器技术1
1.1虚拟仪器的概念1
1.2虚拟仪器的优势1
1.3虚拟仪器的发展方向2
1.4图形化虚拟仪器开发平台——Labview简介2
1.5本章小结3
第2章基于声卡的虚拟信号发生器的设计4
2.1设计思路4
2.2函数信号发生器程序的设计4
2.2.1前面板4
2.2.2全部程序框图5
2.2.3波形选择和指示灯显示的程序5
2.2.4频率选择的程序6
2.2.5输出衰减程序6
2.2.6信号产生程序7
2.2.7基于声卡的子VI的使用7
2.3测试情况和结果分析7
结论与展望10
参考文献11
致谢12
第1章虚拟仪器技术
1.1虚拟仪器的概念
虚拟仪器(VirtualInstrument,简称VI)的概念是由美国国家仪器公司(NI)在20世纪80年代最早提出的。
虚拟仪器就是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟前面板、测试功能由测试软件实现的一种计算机仪器系统。
其核心的思想是利用计算机的强大资源使本来需要硬件实现的技术软件化,以便最大限度地降低系统成本,增强系统功能与灵活性。
虚拟仪器代表着从传统硬件为主的测试系统到以软件为中心的测试系统的根本性转变。
虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流,对科学技术的发展和工业生产的进步将产生不可估量的影响。
虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制,数据分析与显示,代替传统仪器,改变传统仪器的使用方式,提高仪器的功能和使用效率,大幅度降低仪器价格,使用户可以根据自己的需要定义仪器的功能。
1.2虚拟仪器的优势
1、性能高
虚拟仪器技术是在PC技术的基础上发展起来的,所以完全“继承”了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。
此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。
2、扩展性强
NI的软硬件工具使得我们不再受限于当前的技术中。
这得益于NI软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进整个系统。
在利用最新科技的时候,我们可以把它们集成到现有的测量设备,最终以较少的成本加速产品上市的时间。
3、开发时间少
在驱动和应用两个层面上,NI高效的软件构架能与计算机、仪器传统仪器与虚拟仪器构成比较仪表和通讯方面的最新技术结合在一起。
NI设计这一软件构架的初衷就是为了方便用户的操作,同时还提供了灵活性和强大的功能,使我们轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。
4、无缝集成
虚拟仪器技术从本质上说是一个集成的软硬件概念。
随着产品在功能上不断地趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连接和集成这些不同设备总是要耗费大量的时间。
NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助我们轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。
1.3虚拟仪器的发展方向
虚拟仪器作为新兴的仪器仪表,其优势在于用户可自行定义仪器的功能和结构等,且构建容易、转换灵活,它已广泛应用于电子测量、声学分析、故障诊断、航天航空、机械工程、建筑工程、铁路交通、生物医疗、教学及科研等诸多方面。
随着计算机软硬件技术、通信技术及网络技术的发展,给虚拟仪器的发展提供了广阔的天地,国内外仪器界正看中这个大市场。
测控仪器将会向高效、高速、高精度和高可靠性以及自动化、智能化和网络化的方向发展。
开放式数据采集标准将使虚拟仪器走上标准化、通用化、系列化和模块化的道路。
虚拟仪器作为教学的新手段,已慢慢地走进了电子技术的课堂和实验室,正逐渐改变着电子技术教学的传统模式,这也是现代教育技术发展的必然。
在电工电子实验室的建设中,实验室常规设备有的已经老化,有的技术上有些落后,在当前学校经费较少的情况下,如果配置常规仪器、仪表,学校财力难以支付,也不符合目前学校的实际。
而且,随着测试仪器的数字化、计算机化的发展趋势,传统测试仪器渐渐有被取代的趋势。
如果运用虚拟仪器技术,以微机为基础,构建集成化测试平台,代替常规仪器、仪表,不但满足电工电子实验教学的需要,而且将这批微机可作为其他有关计算机课程教学用机,大大提高了设备利用率,降低了实验室建设的成本。
当前应该解决的是如何使虚拟仪器和现有仪器配合,挖掘现有仪器的潜力,达到逐步淘汰和取代传统仪器的目的。
总之,虚拟仪器有很广阔的发展空间,并最终要取代大量的传统仪器成为仪器领域的主流产品,成为测量、分析、控制、自动化仪表的核心。
1.4图形化虚拟仪器开发平台——Labview简介
Labview是LaboratoryVirtualInstrumentEngineeringWorkbench(实验室虚拟仪器集成开发环境)的简称,是由美国国家仪器公司(Nationalinstruments,IN)创立的一个功能强大而又灵活的仪器和分析应用开发工具。
Labview是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。
目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。
函数信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器。
本文将结合一个虚拟函数信号发生器的设计实现具体介绍基于图形化编程语言Labview的虚拟仪器编程方法与实现技术。
Labview是基于数据流的编译型图形编程环境,可以在不同操作系统下保持兼容,为数据的采集、分析、显示提供集成的开发工具,而且还可以通过DDE和TCP/TP实现共享,节约了80%的程序开发时间,而速度几乎不受影响。
事实上,Labview已经成为图形化编程语言的工业标准。
Labview不同于基于文本的编程语言(如Fortran和C),他是一种图形编程语言----通常称为G语言,其编程过程就是同过图形符号描述程序的运行。
NILabview使用已获取专利的数据流编程模式,他能使用户从基于文本程序语言的循序结构中解脱出来,他的执行顺序是由节点间的数据而不是由文本行的顺序决定的。
并且,Labview是唯一具有编译器的图形化程序环境,所生成的优化代码的执行速率可以和C语言媲美。
Labview的核心是VI。
VI有一个人机对话的用户界面——前面板((frontpanel)以及类似于源代码功能的对话框(diagram)。
前面板接受来自对话框的指令。
在VI的前面板中,控制器(controls)模拟了仪器的输入装置并把数据提供给VI的对话框;而指示器(indicators)则模拟了仪器的输出装置并显示由对话框获得或产生的数据。
当把一个控件或指示器放置到前面板上时,Labview在对话框中相应地放置了一个端口(terminals),这个从属于控件或指示器的端口不能随意删除,只有删除它对应的控件或指示器时它才随之一起被删除。
用Labview编制对话框程序时,不必受常规程序设计语法细节的限制。
归纳起来Labview软件开发平台具有以下优点:
1、图形化的编程方式,设计者无需写任何文本格式的代码,是真正的工程师的语言。
2、提供了丰富的数据采集、分析及存储的库函数。
3、既提供了传统的程序调试手段,如设置断点、单步运行,同时提供有独到的高亮执行工具,使程序动画式运行,利于设计者观察程序运行的细节,使程序的调试和开发更为便捷。
4、32bit的编译器编译生成32bit的编译程序,保证用户数据采集、测试和测量方案的高速执行。
5、囊括了DAQ,GPIB,PXI,VXI,RS-232/485在内的各种仪器通信总线标准的所有功能函数,使得不懂总线标准的开发者也能够驱动不同总线标准接口设备与仪器。
6、提供大量与外部代码或软件进行连接的机制,诸如DLL(动态连接库)、DDE(共享库)、ActiveX等。
7、强大的Internet功能,支持常用网络协议,方便网络、远程测控仪器的开发。
图形化程序设计编程简单、直观、开发效率高。
随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内最流行的发展趋势。
1.5本章小结
本章主要讲述了虚拟仪器的基本概念、虚拟仪器的组成以及信号发生器的简单介绍。
虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制,数据分析与显示,代替传统仪器,改变传统仪器的使用方式,提高仪器的功能和使用效率,大幅度降低仪器价格,使用户可以根据自己的需要定义仪器的功能。
虚拟仪器可广泛应用于电子测量、电力工程、矿物勘探、医疗、振动分析、声学分析、故障诊断及教学科研等诸多领域。
第2章基于声卡的虚拟信号发生器的设计
2.1设计思路
1.先参考一些别人发表的论文,明确自己的设计目的,构思信号发生器的大致结构。
2.上网搜索有关函数信号发生器的清晰图片以及该函数信号发生器的详细资料。
按照该函数发生器布置相应器件到前面板上面,大致与图片一致。
3.在程序面板编写程序,先编写波形主程序,大致实现该函数发生器的功能
4.实现任务要求,尽量使得程序通俗易懂,最后逐步完善和美化该程序。
2.2函数信号发生器程序的设计
2.2.1前面板
虚拟信号发生器的前面板是根据实际中的仪器面板以及该仪器所要实现的各种功能进行设计的程序交互式图形化用户界面。
前面板的右半部分是输出波形的显示和频率、幅度、相位等参数的设置,信号类型选择包括正弦波、三角波、方波、锯齿波以及自定义公式波。
根据计算机声卡的实际特性,将声卡设置为双通道、44.1kHz采样频率、16位采样比特数、连续采样等,如图2.1所示:
图2.1
2.2.2全部程序框图
虚拟信号发生器的程序框图和前面板是相对应的,只有创建了框图程序该程序才能正常运行。
程序主要是将产生的波形信号通过声卡输出,其程序框图主要使用while循环结构和case条件结构实现波形数据实时显示和实时输出。
如图2.2所示。
在框图程序产生波形数据部分有仿真信号子VI,仿真信号子VI主要用于基本周期信号(正弦波、方波、三角波和锯齿波)和公式波形数据的生成。
有时在实际测试中,需要输出非周期信号或者是测试领域中的特殊信号,利用公式波形VI输入节点,通过编辑波形的数学表达式,来生成用户指定的特殊信号。
应该注意的是,为了确保输出信号频率和前面板中设定的一致,必须使声卡的采样率和仿真信号的采样率相同。
为了使输出信号连续和整周期采样,仿真信号采样点数和采样率设置一致。
此外要说明的是,前面板信号的幅值并不确定,这要由具体计算机声卡硬件参数而定。
图2.2
2.2.3波形选择和指示灯显示的程序
该模块利用条件结构实现下拉框控制信号灯,并显示输出波形的选择状态,如图2.3所示:
图2.3
2.2.4频率选择的程序
频率的选择不仅要亮灯显示档位,还要让该档位与频率的细调相乘才能实现所要输出的频率(输出波形频率=档位×旋钮频率),该部分也是利用了条件结构实现的。
如图2.4所示:
图2.4
2.2.5输出衰减程序
利用条件结构来实现不同情况下的输出衰减倍数。
其中衰减20dB就是将电压幅度衰减为原来的十分之一,衰减40dB就是将电压幅度衰减为原来的百分之一,60dB就是将电压衰减为原来的千分之一。
如图2.5所示:
图2.5
2.2.6信号产生程序
信号产生是仪器系统的重要组成部分,要评价任意一个网络或系统的特性,必须外加一定的测试信号,其性能方能显示出来。
最常用的测试信号有正弦波、三角波、方波、锯齿波、噪声波及多频波(由不同频率的正弦波叠加而形成的波形)等。
如图2.6所示:
图2.6
该模块是利用LABVIEW自带的常见信号波形生成子VI产生信号,并用示波器输出显示,来验证输出是否达到要求。
通过调节前面板的旋钮和下拉框可以改变输出信号的参数。
2.2.7基于声卡的子VI的使用
该程序做的是基于声卡的信号发生器,其中利用了几个跟声卡相关的VI,如SoundOutputConfigure.vi(配置生成数据的声音输出设备,使用写入声音输出VI使数据写入设备),SoundOutputSetVolume.vi(设置声音输出设备的播放音量),SoundOutputWrite.vi(使数据写入声音输出设备,如需连续写入,必须使用配置声音输出VI配置设备)和SoundOutputClear.vi(使设备停止播放音频,清空缓存,任务返回至默认状态,并清除与任务相关的资源,任务变为无效),具体连接情况见总程序框图。
需要指出的是经声卡输出的信号是比较弱的,一般在1.5V以下,需要外部电路进行调理才能使用。
2.3测试情况和结果分析
该程序可产生正弦波、方波、三角波、锯齿波以及公式波(可设置任意公式),频率20~20000Hz连续可调,幅度范围为-1.5~1.5V,并且信号的相位、偏移量和方波占空比可以自己设置。
在产生波形的同时,电脑声卡放出该波形的声音,当调整信号的频率时,播放声音的音调也跟随着变化。
调整前面板的音量滚动条可以控制播放声音的大小。
软件模拟波形如图2.7至图2.11所示:
图2.7正弦波图2.8三角波
图2.9方波图2.10锯齿波
图2.11某一公示波
通过实验室示波器检测发现测得的正弦波信号和电脑模拟的信号频率基本一致(示波器显示为580Hz,电脑显示为571.4Hz,波形正常)
如图2.12和图2.13所示:
图2.12图2.13
但是其他基本波形都有误差,测试时显示的频率与电脑模拟的波形频率有较大的误差,并且波形也有失真。
其原因是方波、三角波等波形表达式经傅立叶级数展开可分成许多频率的波形,从电脑产生的波形经声卡转换输出后可能会有较大的误差,从而造成测试出现误差。
而正弦波频率单一,就没有出现这种情况。
每个电脑的声卡型号也不一样,模拟输出的信号也会有误差,需要外接辅助电路加以改善。
使用声卡作为数据采集卡有许多优点,但它的局限性也很明显。
声卡输出的频率一般在20-20kHz,幅度在1.5V左右,超过这个范围就会有很大的误差,也可能会对声卡硬件造成损害。
而且声卡输出的信号受外界干扰较大,在进行精密测量时需要考虑采用其他硬件。
市场上多种类型的数据采集卡可供选择,它们可以通过USB、PXI、PCI等总线接入个人计算机。
这些数据采集卡的通道数、采样频率、精度、量程、分辨率等参数比较好,可用于测量许多范围的信号。
结论与展望
经过本学期的Labview的学习让我学到了许多东西,将自己平时自学的东西都融合起来,真正的学以致用,虽然这个设计题很简单,但是当我独立设计的时候还是遇到了许多问题。
在学习过程中开始的时候用了许多等号来判断下拉框的选择又和条件结构相结合走了很多弯路,花了不少的时间,后来参考别人的资料,才发现条件结构不仅仅只有真和假的选项的,还可以直接和输入的下拉框相结合,不需要用等号来判断,简单方便许多。
总的来说,该程序在软件模拟方面比较成功,但在做与硬件结合的过程中发现了许多问题。
测试结果很大误差,但没有很好地解决,希望在今后学习中能够找出原因加以改善。
在学习中还发现修饰的用法有许多小技巧,在这次的设计中学会了颜色的修饰,字体的调节,而且尝试着生成exe可执行文件,虽然都与这个课程设计无关,但是对我以后的学习很有帮助,也提升了我对Labview的兴趣。
在这次设计中仍然花了很多的精力到处收集资料,在不懂的时候就上网查阅资料,借阅别人的程序,逐渐的实现自己需要的功能。
如果在这个设计上进一步研究信号发生器,在波形的类型上应该有更多的变化,更迅速的响应时间,更准确的调节过程。
对于信号波形的参数,如频率、幅值、相位、占空比等的设定有更好更精确的方式,而且在波形失真和噪声方面有更好的解决方法,在面板美化方面也可以做得更好更漂亮。
通过本设计我认识到,利用计算机声卡代替昂贵的数据采集卡采集数据,以图形化编程语言的虚拟仪器软件LabVIEW为开发工具,充分利用计算机强大的信息处理能力和LabVIEW模块化编程技术,实现常见音频信号的实时采集、显示、存储,回放以及分析等功能,有效的利用了计算机资源,节约了数据采集成本,易于构建和升级,并且界面友好,操作简单,成本较低,易于实现,不仅可以应用于科研试验,而且可以应用于检测车辆等方面,具有比较广阔的应用前景。
参考文献
[1]张桐,陈国顺,王正林.精通Labview程序设计[M].北京:
电子工业出版社,2008
[2]吴成东,孙秋野,盛科.LabVIEW虚拟仪器程序设计及应用[M].北京:
人民邮电出版社,2008
[3]杨乐平,李海涛,杨磊.Labview程序设计与应用(第2版)[M].北京:
电子工业出版社,2006.
[4]张爱平.Labview入门与虚拟仪器[M].北京:
电子工业出版社,2004
[5]丁硕.基于Labview的虚拟函数信号发生器的研究[J].计算机与现代化,2008,5:
107-110
[6]王红,萍魏,玉宾,袁艺,王东来.基于虚拟仪器的数字信号发生器设计[J].抚顺石油学院学报,2002年04期:
66-68
[7]马海瑞,田树森,周爱军.基于声卡的Labview虚拟信号发生器设计[J].国外电子测量技术,2005,4:
27-29
[8]朱磊.基于LabVIEW和DDS的USB接口虚拟信号发生器设计[J].科学技术与工程,2008,4;1851-1855
[9]李 震,柯旭贵,汪云祥.虚拟仪器的发展历史,研究现状与展望[J].2003,18(4):
1-4
[10]李广才,聂东.一种新型多功能虚拟信号发生器的设计[J].肇庆学院学报,2008,3:
25-28
[11]贺良华,王洪亮,王洪雷.基于Labview的虚拟信号发生器的研究与实现[J].计算机测量与控制,2009,3:
1866-1868
[12]徐继宁,程志强.基于声卡的虚拟信号发生器设计与实现[J].工业控制与计算机,2007,20
(2):
72-73
[13]于洁,钟佩思.基于虚拟仪器界面的信号发生器的设计与实现[J].机械电子,2004,9:
65-67
[14]尚秋峰,陈于扬.基于虚拟仪器的多功能信号发生器的设计[J].电气电子教学学报,2010,8:
44-48
[15]黄云江.基于Labview的数据采集的实现[J].福建电脑,2008,4:
98-99
[16]胡容,李进,范寿康.基于Labview实现虚拟信号发生器[J].中困电子学会第十四届信息论学术年会,2007,12:
790-792
[17]邓玉芬,向风红,张雪飞.一种虚拟数字示波器的实现方案研究[J].现代电子技术,2006(18),36-38
[18][美]RobertH.Bishop.Labview7实用教程[M].乔瑞萍,林欣,译.北京:
电子工业出版社,2005,28-30.
[19]RahmanJamal.Graphicalobject-orientedprogrammingwithLabVIEW[J].NuclearInstrumentsandMethodsinPhysicsResearch,1994p.438.
[20]G.Heinrichs,H.RongenandR.Jamal.UsingLabVIEWforthedesignandcontrolofdigitalsignalprocessingsystems[J].NuclearInstrumentsandMethodsinPhysicsResearch,1994p.44
致谢
本文的研究工作是在夏鑫老师的悉心指导和严格要求下完成的。
夏老师在学习方法、工作方法和研究思路等方面给予了许多有益的启迪;同时,他对我的研究工作提出了宝贵的建议和意见,使我在研究工作中不断取得新的进展。
夏老师深厚的专业知识、严谨的治学精神和求实创新的工作作风深深的影响着我。
在此,谨向夏老师致以我最崇高的敬意和真挚的感谢!
感谢我的同学对我生活上的关心,学习和工作的支持,这些使得我能够安心的完成我的研究工作。
最后,对在我的学习和成长道路上给予帮助的所有老师和同学们表示深深地感谢,对评阅该论文的所有老师表示最崇高的敬意和真挚的感谢!