(测试计量技术及仪器专业论文)虚拟仪器的技术研究.pdf_第1页
(测试计量技术及仪器专业论文)虚拟仪器的技术研究.pdf_第2页
(测试计量技术及仪器专业论文)虚拟仪器的技术研究.pdf_第3页
(测试计量技术及仪器专业论文)虚拟仪器的技术研究.pdf_第4页
(测试计量技术及仪器专业论文)虚拟仪器的技术研究.pdf_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要y3 2 18 7 7本文首先对虚拟仪器的历史、国内外的研究现状以及未来发展趋势作了简要的介绍。然后阐述了在图形化编程语言l a b v l e w 下,使用数据采集卡等设备实现虚拟仪器系统的过程,并对数字电压表、示波器、信号发生器和频谱分析仪等虚拟仪器实现过程中使用的关键技术以及遇到的问题进行了讨论与分析。本文还对l a b v i e w 下基于t c p i p 的网络分布式虚拟仪器的实现以及在编程过程中使用的重要软件方法,如:动态文档技术、外部程序代码的嵌入等进行了讨论与总结。关键词:虚拟仪器,l a b v i e w ,测试系统a b s t r a c tt h et h e s i sg i v e sas u m m a r yo ft h eh i s t o r y ,r e s e a r c hs t a t u sa n dd e v e l o p i n gt e n d e n c yo ft h ev i r t u a li n s t r u m e n t st e c h n o l o g y t h ed e s i g na n dr e a l i z a t i o no fav i s y s t e mu n d e rt h eg r a p h i cp r o g r a m m i n gl a n g u a g e 一一l a b v i e wa r ei n t r o d u c e d t h es y s t e mc o n s i s t so fap c ,ad a qp l u g i nb o a r da n do t h e rd e v i c e s t h e nt h et e c h n i q u e s ,p r o b l e m sa n ds o l u t i o nm e t h o d si nt h ed e s i g np r o c e d u r e so fad m m ,a no s c i l l o s c o p e ,aw a v e f o r mg e n e r a t i o na n das p e c t r u ma n a l y s i sv i sa r ed i s c u s s e d t h er e a l i z a t i o no ft h ed i s t r i b u t i n gv i ss y s t e mt h r o u g ht h ei n t e r n e ti sa l s od e s c r i b e d t h el a s tp a r to ft h et h e s i sd i s c u s s e st h ei m p o r t a n ts o f t w a r ed e s i g nt e c h n i q u e ss u c ha st h ee m b e d d i n go ft h ee x t e r n a lc o d es o u r c ea n da c t i v e x k e yw o r d :v i r t u a li n s t r u m e n t l a b v i e w ,t e s t i n gs y s t e m南京航空航天人学硕十学位论文第一章绪论1 1 虚拟仪器概述1 1 1 虚拟仪器的基本概念自从美国国家仪器公司( 简称n i 公司) 提出了虚拟仪器的概念以来,虚拟仪器作为一个新兴的研究领域,始终受到中外科研工作者的关注。随着科技的不断进步特别是计算机科学的飞速发展和计算机产品的广泛普及,虚拟仪器技术也有了长足的发展。什么是虚拟仪器,至今尚没有一个被测试界广泛接受的定义,国外专家从不同角度描述虚拟仪器,如:“虚拟仪器是看起来并在感觉上与物理仪器相同的软件包”;“虚拟仪器是由计算机、仪器硬件、固件和应用软件组成的测量机械”;等等。上述各种有关虚拟仪器的定义,虽然表达的不是十分清楚,但是从中可以归纳出虚拟仪器的一般特征:虚拟仪器是在通用计算机上加上一种软件和相关接口硬件,使得使用者在操作这台计算机时,就像是在操作一台自己设计的专用传统仪器。传统的仪器通常由信号采集,信号分析,信号输出三部分组成。而利用当前高速发展的计算机技术,把 = 述三部分由一台计算机实现,就称之为虚拟仪器技术。它是仪器技术与计算机技术深层次的结合,虚拟仪器是计算机资源、仪器硬件与用于数据分析、过程通讯及图形用户界面的应用软件有机的结合。1 1 2 虚拟仪器系统的基本构成虚拟仪器系统的基本构成可以分为硬件和软件两大部分。目前常用的软硬件系统主要包括:基于p c 机的数据采集系统( d a q ) 、采用g p i b 标准的仪器控制系统、采用v x i 标准的仪器系统以及它们之间的结合。基于p c 机的数据采集系统一般包括以下几部分:现场传感器及执行机构、信号调理( 放大,滤波,隔离,激励等) 、数据采集板和进行系统控制和信号处理的计算机。在这样的系统中,操作者通过计算机对整个系统进行控制,完成数据采集、信号处理以及打印输出等功能。一个典型的g p i b 测量系统由一台p c 机,一块g p i b 接口板卡和若干台g p i b 仪器通过标准g p i b 电缆连接而成。在标准情况下,一块g p i b 标准板卡最多可连接1 4台仪器,电缆长度可达2 0 米。g p i b 仪表白动控制系统目前在测量、仪器仪表自动校准等领域使用比较广泛。v x l 总线仪器系统是通过v x i 总线一种计算机总线v m e 在仪器领域的扩展,掺照图际标准将完成各种采集功能的模块插在v x i 机箱中,通过控制器实现各种数据采集功能。使用v x i 标准组成测试系统,具有功能强、使用灵活、适应性强等特点,用户可以根据自己要求灵活地选择不同的功能模块,并且可以在计算机上通过软件编程来编制自己喜欢的人机界丽。在一个虚拟仪器系统中,软件主要完成对系统各个功能模块的控制、数据处理以及人机对话功能。软件是虚拟仪器系统的关键,也是发展最快的技术之一。虚拟仪器技术是利用计算机来实现和扩展传统仪器的功能,因此计算机编程就变得很重要。任虚拟仪器的技术研究何一个使用者都可以通过修改软件的方法,方便地改变、增加仪器系统的功能与规模,所以有“软件就是仪器”之况。目前常用的虚拟仪器丌发软件主要有:n i 公司的图形化编程语言l a b v i e w 、l a b w i n d o w s c v i 系列,h p 公司的v e e 以及传统的编程语言如v c + + 、v b 等。1 1 3 虚拟仪器的主要特点与传统非数字化仪器相比,虚拟仪器具有许多优点。首先,虚拟仪器具有极大的灵活性。给定计算机的运算能力和必要的仪器硬件后,构造和使用虚拟仪器的关键在于应用软件的编制。应用软件为用户构造和使用的虚拟仪器提供了集成开发环境、高水平的仪器硬件和用户接口。所以在一定程度上虚拟仪器是硬件的软件化,只要改变软件内容就可以改变虚拟仪器的功能和应用场合。虚拟仪器使得用户能够根据自己的需要定义仪器功能,而不像传统仪器那样,受到仪器厂商的限制,用户可以更好地组建自己的测试系统。其次是虚拟仪器的模块化,软硬件都具有开放性、可重复使用及互换性等特点。用户可以选用不同的功能模块为自己研制开发的项目设计、构造高性能的测试系统。虚拟仪器的图形界面设计形象、方便,随着计算机软件的同益强大,软件库可以提供丰富的按钮、箭头、旋钮等控件图标,设计更形象的虚拟仪器前面板变得越来越容易。可视化的工作环境及图形化的应用接口克服了传统方法编程和调试过程的缓慢与不方便,利用图形编程工具设计实现虚拟仪器,可以成倍地提高生产率,因而大大缩短了刀:发时间。1 2 虚拟仪器的应用与发展1 2 1 虚拟仪器的应用虚拟仪器技术把计算机技术与仪器技术完美地结合起来,丌辟了现代仪器技术的新天地。虽然诞生了只有十几年的历史,但它的发展速度是惊人的。目前虚拟仪器技术已广泛应用在科研生产的很多领域:声学测试、电器测试、音波测试、汽车测试、生物医学研究、光纤校准、光学测定及度量、半导体测试、电信测试、振动测试、工业自动化、实验室自动化、机械监控、石油和天然气处理、药品加工、过程自动化、统计、过程控制等等。美国的军方更将虚拟仪器列为标准测试设备之一。美围的很多大学,如杜克大学、得克萨斯a & m 等都有自己的虚拟仪器实验室,不但进行虚拟仪器的研究与丌发,而且还将虚拟仪器作- - r 课程向学生传授,为学生提供实验条件,让学生亲自动手,学习建立自己的虚拟仪器系统。美围围家仪器公司每年在美围各高校的大学生中举办虚拟仪器设计比赛,鼓励和推广虚拟仪器的使用。据美国权威杂志统计,国家仪器公司的l a b v i e w 已占有测试系统软件设计市场份额的百分之三十九,而惠普公司的v e e ( 与l a b v i e w 相似的一种图形化编程语言) 也占有市场的百分之十一。我围虽然基本上还处于传统测试仪器与计算机脱离的状态,但是虚拟仪器技术已经丌始在高校科研院所以及生产领域得到了使用和推广。清华大学汽车系利用虚拟仪器技术构建的汽车发动机检测系统,用于汽车发动机的出厂检测;电子部第三研究所用虚拟仪器实现仪器自动计量、控制系统:石油科学研究院研制的小型石油精炼实验南京航空航大人学硕十学位论文系统,采用虚拟仪器开发平台l a b v i e w ,在石油加工行业得到了广泛的推广应用;广州第一军医大学将虚拟仪器技术应用于生物医学信号检测与处理等等;基fl a b w i n d o w s 的虚拟仪器检测设备也是空军的检测设备标准之一。1 2 2 虚拟仪器的最新研究发展动态当今计算机技术的飞速发展,推动了虚拟仪器软硬件技术的不断推陈出新。作为首先提出虚拟仪器概念的美国国家仪器公司( n i ) 始终处于虚拟仪器研究与开发的前列。不久前该公司推出了基于p c i 总线的新型虚拟仪器测试设备标准p x i ,按照该标准组建的p x i 测试设备比v x i 系统具有更小的体积,能实现更快速的数据采集并且价格更低。该公司还不断推出各种型号的卡式虚拟仪器,涵盖了大部分传统测试仪器的功能。最近n i 公司发布了最新版l a b v i e wj i 。l a b v i e w 5 1 跟踪了基于w e b 的应程序开发,提高了程序开发能力。模块化的程序设计方法使用户可以建立更小的执行程序,获得更好的系统性和减少内存花费。l a b v i e w5 1 还扩展了a c t i v e xf c o m ) 技术的应用,并可与m a t h w o r k s 的m a t l a b 及n i 的h i q 数学和交互分析软件实现无缝的集成。l a b v i e w5 ,1 建立在l a b v i e w 已有的强大编程环境基础上,通过a c t i v e x技术简化并扩展了i n t e r n e t 连接,借助于l a b v i e w5 1 内置的w e b 工具,用户可以不斋要编程就可以在几秒内在w e b 上发布v i 的面板。用广可以和其他有i n t e r a c t 功能的程序迅速地共享数据,而无需担心网络协议和数据格式。一些简单的v i s 可以使用仟何的客户程序分布和获取数据。在国内很多高校如浙江大学、成都电子科技大学等也在不断进行虚拟仪器的研究,而哈尔滨工业大学更是在多年前即推出了自己的“仪器王”虚拟仪器系列产品,在围内有- 一定的知名度。1 3 论文、课题的完成情况本次毕业课题要完成的主要任务就是建立一套虚拟仪器系统,探讨在这个过程中遇到的问题及解决办法,为今后在虚拟仪器领域的教学与科研工作提供一些有用的经验。本次课题研究使用的硬件设备包括:一台奔腾i i 2 0 0 m h z 的p c 机、一一台奔腾i i 4 0 0 m h z的p c 机、一块n i 公司生产的p c i 总线的多功能数据采集卡p c i 一1 2 0 0 、一台泰克公司生产的数字式示波器2 2 3 2 - - 1 0 0 m h z 、y b l 6 3 1 型功率函数发生器、一台7 5 5 1 型数字多用表、网线、网卡、集线器等。系统的开发软件使用l a b v i e w 5 0 、v i g i l a i c 。本次课题由一台p c 机加上一块数据采集卡p c i 1 2 0 0 构成d a q 系统,在l a b v i e w 下实现了一些传统测试仪器:数字电压表、示波器、波形发生器;同时系统还实现了一些信号分析仪的功能,如:分析采样信号的频谱、功率谱以及相关等参数。系统还可以对被采样信号进行处理,如通过数字滤波器进行滤波等。课题对当前虚拟仪器编程中使用的新技术进行了探索,成功地组建了基于t c p i p协、议的网络式虚拟仪器实现了局域网上的分布式数据采集以及软硬件共享:探讨了a c t i v e x 技术、d l l 技术以及l a b v i e w 与传统编程语言。进行混合编程的实现方法。虚拟仪器的技术研究第二章虚拟仪器系统的设计与实现2 1 系统的软硬件简介2 1 1l a b v i e w 5 0 简介l a b v i e w ( l a b o r a t o r yv i r t u a li n s t r u m e n te n g i n e e r i n gw o r k b e n c h ) 是基于图形化编程语言g 的开发环境,是一种强有力的虚拟仪器丌发工具。l a b v i e w 集合了数据采集、数据分析和数据显示,支持g p i b 、v x i 、p x i 、r s 2 3 2 和r s 4 8 5 以及数据采集卡等硬件的全部功能。它可以在多种操作平台上运行,如:w i n d o w s ,s u ns p a r c s t a t i o n s a p p l em a c i n t o c hc o m p u t e r , h p - u xw o r k s t a t i o n s 等。利用l a b v i e w ,能产生3 2 b i t 的编译程序,这可以使用户的数据采集、测试和测量得以高速运行。所有的l a b v i e w 程序,即虚拟仪器( v i s ) ,都包括前面板( f r o n tp a n e l ) 和程序流程图( b l o c kd i a g r a m ) 两部分。前面板是l a b v i e w v i 的图形用户接口。它集成了用户输入和显示输出功能。前面板包括旋钮、按钮、图形和其他的控制( c o n t r o l s ) 与显示( i n d i c a t o r s ) 模块。用户可以根据自己的需要在前面板上放置按钮等控制模块及显示模块。程序流程图包含了虚拟仪器的图形化源代码。在程序流程图中对虚拟仪器进行编程,以控制和操纵定义在前面板上输入和输出功能。流程图包括内置于l a b v i e w库中的函数( f u n c t i o n s ) 和结构( s t r u c t u r e s ) ,还包括仪器面板上的控制对象、显示对象对应的连线端子( t e r m i n a l s ) 。l a b v i e w 构成的虚拟仪器是数据流驱动的,流程图中的诸元素如结构功能模块等构成节点,这些节点出数据线相连接,这些线定义了程序中数据的流向。一旦某个节点的所有输入均为有效,该结点即可运行,运行结束后,将结果送入数据流路径的下一个节点。l a b v i e w 最显著的特点之一就是它采用图形化、模块化方法设计应用程序。设计l a b v i e w 应用程序时,一般采用由上至下的设计方法( t o p - - d o w n ) 。首先要明确系统的总体要求和性能参数,然后将系统划分为各个功能模块,如:采集、显示、数据分析等:再将各个模块逐步划分为更小的模块。每一级的模块均可以图标形式放置在程序流程图中,这样不但增加了程序的可维护性,也增加了程序的可读性,使程序流程图更加清晰明了,同时也避免了大量的重复编程工作。l a b v i e w 的函数库中集a t 常用的函数模块,这些模块为使用者完成一般的数据采集、显示、分析等任务,提供了极大的方便。l a b v i e w 还提供了强大的编程调试工具,程序员可以在程序的任何地方设置任意多的探测点,用来显示该点处的数据;l a b v i e w 允许设置断点,可以使用单步,宏单步运行方式,对程序进行跟踪调试。使用单步运行方式时,程序可以显示每一步南京航空航天人学硕十学位论文的运行结果,并允许程序员实时地修改数据。l a b v i e w 的查错功能也很强大,程序无需编译即可查错,如果程序出现错误,则自动给出错误代码及出错位置,根据使用手册、联机帮助可以准确地知道出错原因。l a b v i e w 可以通过g p i b 、串行口控制各种测试仪器,它提供了数百种仪器的源码级驱动程序,很多都可以通过简单的配置即能使用:l a b v i e w 还可以完成对速度要求不是很高的自动控制任务。2 1 2 多功能数据采集卡p c i 一1 2 0 0 简介本系统的数据采集与数据输出是通过多功能数据采集卡p c i - - 1 2 0 0 来实现的,其主要性能指标如下:它具有八路1 2 位a d d 转换器,逐次逼近工作方式最大采样速率1 0 0 k s ,o 一1 0 v 或一5 + 5 v 输入,可接成单极性、双极性及差动输入;两路1 2 位d a 转换器;三个1 6 位定时计数器1 0 m 晶振;二十四路i 0 :板上带4 0 9 6 字节的先入先出寄存器,程控增益l ,2 ,5 ,l o ,2 0 ,5 0 ,1 0 0 :内置d i t h e r 技术。p c i 一1 2 0 0 的结构如图2 1 所示。图2 1p c i - - 1 2 0 0 的原理框图虚拟仪器的技术研究2 2 数字电压表和示波器的实现2 2 1 数字电压表的设计与实现利用l a b v i e w 实现数字电压表是比较方便的。本系统中的数字电压表可以测量交流和直流电压。首先布置前面板,从控制模板上选取相应的模块放置在前面板上,包括数字电压显示窗口、交直流切换按钮、启动与停止按钮、使用的输入设备与通道选择按钮:这些器件在前面板上位置以及大小、颜色均可按用户自己的喜好来安排。布置好前面板后,就开始进入程序流程图的编制。前面板上的器件在程序流程图上都有相应的端子与之对应。在编制程序流程图时,首先将程序分成数据采集与数字的处理、显示两大部分,然后再分别编写下一层的程序模块。在数据采集模块中使用了对模拟信号连续采样的子模块,该子模块又包含着两层子模块,最下层的于模块直接对硬件操作,包括对通道的设置,时钟的设置,触发的设置及数据的读取等。每一个模块都相当于传统编程语言中子程序,都有相应的输入输出参数,这些参数对应着模块图标中的端子。通过这些端子来实现数据交换。本系统中将采样频率设置在1 0 k h z ,每次采集1 0 0 0 点每隔1 0 m s 采样一次。这些设置都可以方便的修改。数据采集工作结束后,程序就进入了数据处理与显示部分。测量直流电压时,将1 0 0 0 个连续采样点的数据求算术平均值,然后送显示;测量交流电压时,则计算它们的方均根值,然后送显示。程序的总体流程图如图2 2 所示。( a )图2 2 ( b ) 数字电压表的程序流程图南京航空航天火学硕十学位论文图2 2 ( a ) 是数字电压表的整体程序流程图,从图中可以看到,程序主要由两个子模块构成,其 f是数据采集模块,完成数据采集功能;是数据处理显示模块,完成数据的处理与显示。图2 2 ( b ) 是( a ) 中数据采集模块的程序流程图,从图中可见,该程序模块的核心是连续波形采集模块a iw a v e ,由该程序模块执行对数据采集板的控制完成对输入信号的采样。在该部分程序中还完成了对通道、采样速率、一次连续采样点数以及输入电压范围的设定。本例中采用l o k h z 的采样率,每次采一千个点求平均,这样需要l o o m s 。如果测量频率低于1 0 h z ( 每周期l o o m s )的交流信号,则不能采满一个周期,不能正确测量。对于低频信号可以通调整程序,增加一次连续采样点数或降低采样率;而对于高频信号则应该提高采样率,保证每个周期有足够的采样点数。图2 2 中的数据处理与显示模块( d m md i s p ) 主要完成将一次连续采样序列( i 0 0 0个点) 求数学期望( 直流) 及方均根( 交流有效值) ,并将计算结果送显示。若被测信号的采样序列 x , 有n 个点,则其交流有效值为:。=( 2i )本数字电压表的精度主要取决于数据采集卡的精度,由于采用的是1 2 位a d ,所以总体的相对误差范围只能保证在0 0 5 1 l s b 。经过与7 5 5 1 型数字电压表进行比对,性能与估计相符。2 2 2 示波器的实现示波器的设计与实现过程与数字电压表的实现过程类似,首先在前面板上放置波形显示窗口以及时标控制旋钮、电压分度控制旋钮等。面板上的时标控制旋钮用来控制时间轴的分度;电压分度控制旋钮用来改变y 单位坐标所代表的电压值。示波器采用的数据采集卡上限采样频率是i o o k h z ,对示波器显示而言,想再现出比较满意的波形,则每个周期至少应采样2 0 点以上,因此对5 k h z 以下的信号能够得到比较好的波形显示。示波器的程序如图2 3 所示。图2 3 ( a ) 是示波器的第一级程序流程图。在该图中,除了某些程序参数的设定以及显示区域属性的设定外,主要功能的实现都集中在模块中。图2 3 ( b ) 是该模块的程序流程图。在这一层模块中,将面板上的参数设置与程序功能相结合,完成显示控制、出错控制等功能。数据采集则是通过数据采集模埘! 嫡实现的。该模块能按设置的参数对一定长度的信号进行连续采集。它是由两威芊几个子模块构成,包括对硬件的设置如缓存、放大倍数、时钟等基本功能模块。7壁塑垡堡塑丝查婴至图2 3 ( b ) 示波器程序流程图波形显示采用了l a b v i e w 提供的图形显示功能模块g r a p h ,它能将一组数据转换成图形,显示在屏幕的指定区域内;通过适当的设罱g r a p h 的属性,可以在显示区内设置合适的坐标线、背景颜色、调整显示区域的大小等。数据采集部分采用了连续数据采集模块,即实时数据采集,它是在不中断数据采集过程的情况下不断向计算机返回采集数据。这些数据存储在数据采集卡的先入先出寄存器中,程序每隔一段时问将寄存器中的数掘取出进行处理和显示。读取数据的时间闯隔由程序设定。本示波器的设计关键之处在于如何在采样率、连续采样点数以及时标分度之间建立正确的关系,使得在改变时标分度时波形能够f 确的按比例缩放。经过多次试验与调整,本示波器能够f 确地显示在频率范围内的波形的时间信息。s南京航空航天人学硕士学位论文在使用示波器测量连续时间信号时,要注意被测信号频率不应超出采样频率的二分之一。根据奈奎斯特采样定理,采样频率必须大于信号最高频率分量的二倍才能对信号进行正确的采样,否则就会出现混迭现象( a 1 i a s i n g ) ,使采样后的数值复现虚假的低频信号。实际应用中,在连续时间信号被取样之f i ,经常要加入一个模拟低通滤波器。一方面是为的滤除叠加在信号上的高频噪声,另一方面是因为很多实际信号频谱都是无穷带宽的,从理论上讲无论如何也满足不了采样定理的要求,而加入低通滤波器后可使信号最高频率得到限制。当然,限制信号的频带会出现误差,称为截断误差。但是,一般说来,由于限带而产生的截断误差与不满足取样定理所产生的混迭误差相比还是要小得多。本系统由于在a d 采样之前没有加抗混迭滤波器,在使用本示波器时要防止复现虚假的低频信号。2 3 信号发生器的实现2 3 1 函数信号发生器的实现数据采集卡p c i 一1 2 0 0 有两路1 2 位数一模转换器( d a c ) ,利用d a c 本系统实现了简单的函数信号发生器,能够产生正弦波、方波、三角波、锯齿波。在前面板上能够选择并显示输出信号的频率、调节输出信号的幅度、设定直流偏移量、调节方波的占空比等参数。用d a c 产生函数波形时,一般是一次连续地向d a c 写入一组数据,使d a c 尽可能快地输出模拟电压值。但是,分配给d a c 的数据缓冲区的长度是有限的,故一次性写入的数据的长度也是有限。因此,在设计程序时一般采用循环语句,每次循环都产生一定长度的波形。在这里,有几个关键性的参数:d a c 的刷新率( u p d a t er a t e ) 、波形长度( w a v e l e n g t h ) 、每次循环中产生的波形的周期数( c y c l e s ) 。完成一次数一模转换是需要一定时间的,这其中包括硬件电路的建立时间、程序执行时间等,这些就决定了d a c 的上限刷新频率。波形长度是指每次循环中产生的模拟电压的点数,它除以每次循环中产生的波形的周期数就得到每个周期的输出电压值的点数。每周期的点数除以刷新频率就得到了输出波形的频率。由于刷新频率是由系统执行速度决定的,当我们选择面板上输出信号的频率时,程序是靠改变波形长度及每次循环产生的波形的周期数来实现的。由此可以见,由于上限刷新频率的固定,随着输出信号频率的增加,每个周期的点数下降。要保证输出较理想的波形则每个信号周期必须保证具有一定的输出电压点数。因此上限刷新频率和每个信号周期的输出电压点数就决定了输出电压波形的上限频率a 本系统采用的数据采集卡的d a c 实际刷新频率约l o k h z 。信号发生器的程序流程图如图2 4 所示:虚拟仪器的技术研究图2 4 信号发生器程序流程图图2 4 是信号发生器的第一级程序流程图,它包含了5 个子模块,每个子糙搀又包含着下层模块。流程图中的核心是信号发生模蛙和频率显示模块信号发生模块按照前面板的设定产生相应的波形,在这一模块中,使用了若干底层模块来控制数据采集板的设定及波形输出。l a b v i e w 提供了若干波形发生程序模块能产生正弦波、方波、三角波等信号。由编程者设定相关的参数,如:频率、幅值、每周期点数等,即可利用这些模块产生相应的波形,减少了编程工作量。本程序中就使用了这些模块来产生波形。显示模块是按信号发生模块中使用的数据计算出实际输出频率并显示。在设计信号发生器时使用了全局变量,例如图2 4 中的“s i g n a lt y p e ”、“n u m b e ro fc y c l e s ”等。全局变量的概念与传统的文本式编程语言中的意义相近,它可以多次在各个子模块中使用,用来传递数据。使用全局变量设计程序,可以使程序更加简捷、灵活。币是由于全局变量具有很多优点,在图形化的编程语言l a b v i e w 中依然保留了这个概念,并设计了定义全局变量的p a n e l 以及相应的查询功能,用来定义及查询全局变量。但是由于全局变量可以在程序的很多地方使用,在次程序流程中,它1f 1南京航j 空航天人学硕士学伉论文的值有可能多次被改变,而l a b v i e w 的程序执行是多线程的,所以在使用全局变量,特别是多个线程同时执行时,要注意程序的执行时序防止变量的值被意外改变而导致程序错误。此外,在以图形模块为编程手段的v i s 程序中过多的使用全局变量也会降低程序的可读性和可靠性,因此对全局变量要谨慎使用。2 3 2 混沌信号发生器近年来,科学界对混沌现象进行了很多研究,用它揭示自然界非线性过程内在随机性所具有的特殊规律。随着人们认识的深入,现在混沌学已和其它科学领域相互渗透,发展成为一门新的边缘科学。混沌的数学定义:令f ( x 1 为区问,到自身的连续映射,如果满足下列条件:( 1 ) 厂的周期点的周期无上界:( 2 ) 存在,的不可数子集s 。满足对于任何,y s ,当x y 时有l i r as u p i 厂“( x ) 一f ”( y ) o ;一对任何x ,y s ,有l i m i n f 厂”( x ) 一,”( j ,) = 0 :一混沌信号具有频谱无限宽、时域类似于随机信号的特点。在工程实践中,有时需要使用混沌信号。根据混沌学的理论,利用下述的l o g i s t i c 映射可以产生混沌信号。x 。l = ;i x 。( 1 一x ) ,五( 0 , 4 ,t ,【0 , 1 当旯( 2 9 8 5 ,3 4 4 4 8 ) 时,式x 。= 舡。( 1 一x 。) 是二周期序列。当五( 3 4 4 4 8 ,3 5 4 2 6 9 ) 时,式t 。= ) l x 。( 1 一x 。) 是四周期序列当a ( 3 5 7 ,4 时,x 。,= ) i x 。( 1 一x 。) 为混沌序列。根据上述理论,在本虚拟仪器系统中,利用d a c 可以产生混沌序列。具体有两种实现方法。其一是利用l a b v i e w 的f u n c t i o n 模板中提供的f o r m u l an o d e 模块。该模块为编程者提供了数学工具,包括常用的数学逻辑运算及部分数学函数。使用f o r m u l an o d e 可以实现上述迭带过程,再将数据通过d a c 输出。另一种更有用的方法是采用c l n ( c o d ei n t e r f a c en o d e ) 模块嵌入c 语言程序来实现数学计算。这种方法可以利用c 语言函数丰富、数据处理能力强的优点,特别是在进行复杂的数据处理及公式计算时,可以使程序更简洁,提高程序运行速度。在本系统中就是使用后一11虚拟仪器的技术研究种方法来实现混沌信号发生器。具体的程序流程图如下图2 5 混沌信号发生器程序流程图图2 5 中是c i n 模块,该具体实现方法请参见第四章。图中执行一次即进行一次迭带运算。c i n 模块的是连续波形输出模块,它由多层子模块构成,用来将一个序列以指定i i i i 率输出。事实上,利用这种方法,还可以将多种信号叠加在一起,输出复杂的调制信号如在混沌信号上叠加f 弦信号、方波信号等。南京航空航天人学硕+ 学位论文第三章虚拟仪器在信号分析与处理中的应用信号分析是将复杂信号分解为若干简单信号分量之和,并从这些分量的组成情况去考察信号的特性。信号分析是信号传输与处理的基础。最常用的方法就是对信号进行频谱分析。信号处理可以理解为对信号的某种加工变换。其目的可以是削弱信号中的多余内容;滤除混杂在信号中的噪声和干扰、也可以是将信号变换成易于识别的形式,便于提取它的特征参数等。信号滤波是信号处理中最基本的一种处理手段。按照对信号处理方法的不同,信号处理系统可以分为模拟信号处理系统和数字信号处理系统两类。随着大规模芯片制造技术、计算机软硬件技术的飞速发展,数字信号处理越来越成为信号处理领域的主要发展方向。本虚拟仪器系统,就是将信号经a d 变换离散成数字信号,在计算机中采用数字手段对信号进行分析和处理。事实上,数字信号处理自本世纪6 0 年代以来已经发展成为一门新兴的学科,并且日趋完善和成熟,无论在理论上还是在工程应用,数字信号处理涉及的内容都非常广泛。在这里仅能对虚拟仪器在数字信号处理领域的基本应用作简要的介绍,主要是用虚拟仪器对信号进行频谱分析、参数计算以及滤波等。3 1 数字频谱分析的理论及实现3 1 。1 离散傅立叶变换及其实现傅立叶变换是信号分析处理领域的基本手段。对一个信号进行傅立叶变换就可以得到该信号的频谱函数。其公式如下:v ( c o ) = if ( t ) e 一d tf 3 i )数字信号处理的对象都是离散的数字序列,离散傅立叶变换是有限长序列的傅立叶表示形式,是对其频谱的抽样。离散傅立叶变换( d f t ) 的数学定义如下:设x ( n ) 是一个n 点长的序列,则其离散傅立叶变换为:n ix ( ) = d f t x ( n ) = x ( h 巩”,o k n 一1( 32 )t = 0离散傅立叶变换( d f t ) 是数字谱分析的理论基础,在计算机上对信号进行频谱分析是以此为依据的。然丽计算d f t 所需的运算量是相当大的,对于一个长度为nf 约j t -列,计算其d f t 要进行2 次复数加、乘运算,运算量惊人。即使使用运算速度很高的计算机,也需占用大量的运算时间,严重影响了它的实际使用。1 9 6 5 年库利( c o o l e v )和图基( t u k e y ) 提出了快速傅立叶变换( f f t ) ,它是d f t 的快速算法。快速傅立口r变换的使用,大大地减少了d f t 的计算量,它使理论变成了实践,是数字信号分析与处理的强有力的工具,被广泛应用于各个科学技术领域。f f t 的基本思路是将一个宁列逐次细分成各个子序列,求出各个子序列的d f t ,然后再将各个子序列d f t 逐次合成,最终得到原序列的d f t 。f f t 的分解方法基本上分成两类:一类是将h , q 制序列虚拟仪器的技术研究x ( n ) 进行逐次分解,称为按时间抽取法:另一类是将傅立叶变换序列x ( k ) 进行分解,叫做按频率抽取算法。下面介绍基2 的时间抽取法计算f f t 。假定序列x ( n ) 的样本数n 是2 的整数幂( 如果原序列不满足此条件,可在后面补o )即n = 2 r 是任意正整数,按序列各项序号的奇偶将序列分成两个子序列:偶序号序列:y ( r ) = x ( 2 r )奇序号序列:z ( r ) = x ( 2 r + 1 )r = 0 ,i 2 婴一分别对y ( r ) $ 1 3z ( r ) 作d f t 可得:y ( 惫) = x ( o ) z 十x ( 2 ) w g + + x ( n 一2 ) w u ( n 一2 件( 3 3 )( 3 4 )( 35 )z ( ) = 。i x ( 1 ) 矽扩十x ( 3 ) 矽;+ + x ( n 一1 ) j ”。( 36 )经过一定的数学计算可合成x ( n ) 的d f t :x ( k ) = y ( k ) + 蝶z ( )( 3 7 )( 等+ 盘) = l ,( 惫) 一形z ( 惫)k = 0 ,1 ,2 i n 一1( 38 )z式( 3 7 ) 和( 3 8 ) 就是f f t 的计算公式。按照上述原理,可以将一个序列逐步细分到只含有一个元素的序列,再按式( 3 7 ) 和( 3 8 ) 逐步计算合成出原序列的d f t ,这就是著名的蝶形算法。采用这种算法,对于一个长度为n 的序列,只需要计算j ;v l o g :次,大大地降低了计算量。同时f f t 的算法很方便编程实现,l q 前用c语言编写的f f t 有现成的程序。3 1 2 采样信号的频谱分析本系统中使用a d 变换器将信号变换成离散的数字序列,然后采用f f t 计算它图3 1 信号的频谱分析程序流程图的频谱并在前面板上显示,实现了对模拟信号的频谱分析。程序流程如图3 i 所示。1 - l南京航空航天人学硕十学位论文程序是在图3 1 中的a m p l i t u d es p e c t r u m 模块中实现对信号的快速傅立叶变换,f f t的具体计算过程是通过程序代码接口模块c i n 嵌入c 语言程序实现的。在课题完成过程中,使用上述虚拟仪器程序对y b l 6 3 1 型函数信号发生器产生的正弦波、三角波、方波信号进行了频谱分析,图3 2 是该频谱分析仪的前面板。在图3 2 中显示了一个频率为i k h z 的方波信号信号及其频谱。图3 2 方波信号及其频谱从图3 2 中我们可以看到,该频谱分析仪可以在前面板上选择系统的采样率、采样点数、使用的窗1 3 函数以及显示单位等参数。这些参数可以在程序运行的时候随时加以改变。从数字信号处理的理论可以知道,按照上述办法对模拟信号进行采样,用离散傅立叶变换计算出的信号频谱,是对信号实际频谱的抽样近似。但事实上我们在系统中所使用的a d 变换器不可能对信号实现理想采样;而我们用于进行f f t 计算的采样序列也不可能是无限长的,实际上都是截取信号中的一段进行计算。这样当用d f t 逼近连续信号的频谱时,就存在一定的问题。首先就是“栅栏效应”,采样后的序列是非周期信号,应该具有连续的频谱但我们用d f t 计算它的频谱时,只能观察到n 个谱值,若采样周期为t s ,采样点数为n ,则谱线i 训隔为f = 1 ( n t s ) ,而频率抽样间隔之怕j 的频谱无法反映出来。这个问题可以用频率细化技术加以克服,具体方法就是增大采样点数。其次就是频谱泄漏。当对周期信号不是进行整周期截断时,用d f t 计算信号频谱时,就会使第k 个谱分量泄漏到其它的谱分量中( 具体的数学证明见文献虚拟仪器的技术研究1 1 2 4 0 2 4 2 页) 。这个问题,对于周期信号可以做整周期截断加以克服,但在实际中很难做到:而对于非周期性信号整周期截断意味着采样点数为无穷,这根本无法实现。比较实际的方法是对采样序列加窗。加窗是指先用窗函数对采样序列加权,然后再做d f t 。这是目前数字信号处理中普遍使用的方法。加窗并不能完全消除频谱泄漏,但是一般情况下可以有效地抑制旁瓣,达到测试与分析的要求。工程上常用的窗函数有以下几种:h a r m i n g 窗:( n ) = 去( 1 - - c o s 喜三)o n n 一1( 文9 )一h a m m i n g 窗:w ( n 1 = 0 5 4 0 4 6 c o s 竺o n n 一1( 3 1 0 )l1 3 1 a c k j t l a n 窗:( 月) :0 4 2 0 5 c o s 兰! ! + o 0 8 c o s 兰! !o n n l( 3 1 1 )一l一l以及三角窗、平顶窗( f l a tt o p ) 、k a i s e r b e s s e l 窗等。在本课题研究中使用的l a b v i e w 软件提供了包括上述窗函数在内的十几种窗函数程序模块,这些模块是用c i n 模块嵌入c 语言程序实现的。在本虚拟仪器系统中,进行谱分析之前都对信号加窗。如图3 2 中所示,该程序中使用了h a r m i n g 窗。3 1 3 信号的功率谱图3 3 是对y b l 6 3 1 型函数信号发生器产生的三角波进行的功率谱分析,上面是输入信号的波形,下面是其功率谱。在浚程序中通过p c i 一1 2 0 0 的a d 通道0 ,对信号进行采样,采样频率是2 2 k ,采样点数是2 0 4 8 点,采用h a n n i n g 窗。这些参数图3 3 三角波及其功率谱可以在前面板上由操作者改变。该程序可以对上限频率不超过2 0 k h z 的信号进行功率南京航空航天人学硕士学何论文谱分析并显示出信号的峰值频率及能量。功率谱分析仪的程序流程图如图3 4 所示。采样信号的波形显示与上一章中的示波器原理相似。由于在面板上可以调整采样频率和采样点数,要得到比较理想的波形显示,时间轴的分度应随采样频率的变化而变化。在本程序中,信号功率谱显示的上限频率是采样频率的一半。对采样信号功率谱的计算使用了功率谱计算子模块,它本身也是一个可以执行的v i 。对于一个长度为n 的采样序列x ( n ) ,其功率谱p x 的计算公式是:只= f f t ( x ) r ( z ) 2( 3 1 1 )图3 4 功军谱分机程序流程图3 2 数字滤波3 2 1 数字滤波简介数字滤波是数字信号处理的重要技术手段,利用它可以在各种信号中提取所需要信号,抑止不需要的信号或干扰信号。滤波还能消除信息在传输过程中由于信道不理想所引起的失真,因此在电子系统中各种各样的滤波器应用很多。与模拟滤波器相比,数字滤波器有其无法比拟的优点,如它本身体积小、动态范围大、工作可靠、受外界温度、环境及老化影响小,能实现很好的频响,并能对信号进行极其灵活的处理。随着大规模集成电路技术的不断发展,尤其是高速信号处理器( d s p ) 的出现,数字滤波技术f = i 趋成熟,数字滤波器的性能不断提高,应用也越来越广泛。按照离散系统的时域特性,数字滤波器可以分为无限冲激响应( i i r ) 和有限冲激响应( f i r ) 数字滤波器两大类。前者是指h ( n ) 是无限长序列,后者是指h ( n ) 为有限长序列。一般离散系统可以用n 阶差分方程表示:nmy ( n ) + 2 :b k y ( n 一七) = 2 :口,z ( ”一,)( 3 1 2 )虚拟仪器的技术研究其系统函数为器= 蔷z d r z - r( 3 13 )当b 。全为零时,h ( z ) 具有多项式形式,此时h ( n ) 为有限长,称为f i r 系统:当b 。不全为零时,h ( z ) 是有理分式形式,此时h ( n ) 为无限长,称为i i r 系统。数字滤波器的实现可以采用全硬件方式,这样可以实现很高的速度,在对实时性要求较高的系统中比较适用;也可以使用纯软件的实现方式或者软硬结合。本系统中的滤波器是使用软件实现方式,使用数据采集卡对信号进行采集后再进行滤波。3 2 2 数字滤波的实现本系统中可以使用l a b v i e w 提供的十几种数字滤波程序模块对采样信号进行处理,也可以使用高级i i r 与f i r 滤波器设计模板,订制特定参数的滤波器。图3 5 所示的程序通过低通滤波器将正弦信号从高频噪声信号中提取出来。在该程序中首先使用白噪声发生器和高通滤波器产生高频噪声信号,再与用f 弦信号发生器产生的图3 5 低通滤波器程序流程图( a )( b )图3 6 信号的数字滤波f 弦信号相叠加,产生如图3 6 ( a ) 所示的信号;浚信号通过一个低通巴特沃思滤波器滤除高频噪声信号,复现出f 弦信号如图3 6 ( b ) 所示。该程序使用的滤波器的阶数南京航空航天人学硕十学位论文和截止频率可以在前面板上调节。浚程序经过简单的改变,在前端加上数据采集模块就可以对模拟信号进行滤波处理,并可以根据需要选用不同的滤波器。图37 是一个i i r 型数字滤波器幅频特性和相频特性分析的程序。使用该程序,操作者可以在前面板上选择不同类型的数字滤波器,如巴塞尔、切比雪夫型等;可选择滤波器的通带、阻带、阶数、采样频率等技术指标。程序可以将相应的滤波器的幅频特性和相频特性在前面板上显示出来。图3 8 是该程序的前面板,图中显示了一个十四阶的切比雪夫带通滤波器的幅频特性和相频特性。该滤波器的上限截止频率是图3 7i i r 数字滤波器频率特性分析的程序流程图图3 8 切比雪夫带通滤波器的频率特性3 0 0 h z ,下限截止频率是1 0 0 h z ,采样频率是1 0 0 0 h z 。该程序可以用图形直观地反映虚拟仪器的技术研究常用数字滤波器的特性,可以用于滤波器的辅助设计以及进行教学演示。l a b v i e w 具有强大的信号分析处理功能,在它的a d v a n c e da n a l y s i s 软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论