虚拟频谱分析仪的设计.doc_第1页
虚拟频谱分析仪的设计.doc_第2页
虚拟频谱分析仪的设计.doc_第3页
虚拟频谱分析仪的设计.doc_第4页
虚拟频谱分析仪的设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

摘 要虚拟仪器是将仪器技术、计算机技术、总线技术和软件技术紧密的融合在一起,利用计算机强大的数字处理能力实现仪器的大部分功能,打破了传统仪器的框架,形成的一种新的仪器模式。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化的编程语言,利用LabVIEW可以方便地建立各种虚拟仪器。本文首先概述了虚拟仪器技术和频谱分析仪在国内外的发展及以后的发展趋势,探讨了虚拟仪器的总线及其标准、框架结构、LabVIEW开发平台,然后介绍了数据采集的相关理论,给出了数据采集系统的硬件结构图。在分析本系统功能需求的基础上,介绍了程序模块化设计、数据库、Web、多线程等设计中用到的技术,最后一章给出了本设计的前面板图。频谱分析仪是对无线电信号进行测量的必备手段,传统的频谱分析仪的前端电路是一定带宽内可调谐的接收机,输入信号经变频器变频后由低通滤器输出。滤波输出信号作为垂直分量,频率作为水平分量,在示波器屏幕上绘出坐标图,就是输入信号的频谱图。频谱分析仪是频率覆盖最宽的测量仪器之一,无论测量连续信号或调制信号,频谱分析仪都是很理想的测量工具。但是传统的频谱分析仪只能测量频率的幅度,缺少相位信息,因此属于标量仪器,而且体积庞大。利用LabVIEW强大的虚拟仪器开发功能,可实现基于快速傅里叶变换(FFT)的现代频谱分析仪功能,采用数字方法直接由模拟转换器(ADC)数字对输入信号取样,再经FFT处理后获得频谱图,可以解决传统频谱分析仪价格昂贵,携带不便等缺点。本文设计了基于LabVIEW的频谱分析仪,以LabVIEW为软件平台,设计了一个简单的频谱分析仪,该仪器能实时显示由声卡采集到的信号的波形和仿真信号波形并进行FFT变换后的频谱图。关键字:虚拟仪器; LabVIEW;FFT ; 频谱分析;声卡;第一章 绪论1.1 研究的背景和意义随着科学技术的迅猛发展,需要处理的问题越来越复杂,信号处理中对于频谱分析的要求也越来越高,分析的方法也更加灵活。传统的频谱分析仪也越来越力不从心,尤其是对窗函数得操作比较复杂,而频谱仪本身的信号处理电路的设计也十分复杂且很很难更新。当新的计算方法出来后,传统的频谱分析仪根本无法升级,满足不了科研人员的要求,给科研工作带来额外的科研成本。传统测试系统中,信号的采集与控制、分析与处理、结果的表达与输出等功能全是以硬件或固化形式的软件来完成。因此面对复杂的测试对象,组成一套完整的测试系统需要大量的仪器;过多的连线使得系统不稳定,抗干扰性能差;测试系统造价高、系统形式固定,通用性差,无法适应工程变化的需要;测试速度缓慢,系统开发与组建周期长。在以自动化、高速化为特征的现代工业当中,传统测试技术的这些缺陷己逐步成为测试技术发展的“瓶颈”。传统的电子仪器是自封闭的系统,它具有信号输入、输出的能力并有固定的用户接口。有时为了构成具有一定功能的系统,配置了一套仪器,对其中的某些仪器,只用到了其中一部分功能,而将它作其他功能使用时,却不具备或达不到所需指标,若另配置一套仪器,则比较浪费,需对原有的仪器进行改动,才可以扩大其使用范围。但是传统的仪器功能是由制造商决定的,用户不能任意更改,用户如按自己的要求定制仪器,则价格比较昂贵。虚拟仪器的设想正是出于人们对这种仪器的需求,基于软件的易于修改性,利用软件来实现信号的处理算法部分和人机接口部分,这两部分可以根据科研人员的要求做出不同的方案,而对于信号放大、信号传输等部分采用固定的硬件接入,这样既保证了信号的传输不失真,又能按要求设计出不同的人机界面,并且在将来需要的情况下可以对软件算法进行升级且不增加硬件成本,这样既降低了科研的成本又保证了科研工具可以和理论发展同步,这样的仪器具有十分巨大的现实意义和商业价值。随着微电子、计算机、网络通信和软件技术的高速发展,一些传统仪器开始向计算机化方向发展,虚拟仪器(VI)的营运而生,虚拟仪器可借助PC机强大的计算及处理能力,以软件代替硬件,由用户自定义和扩展功能,且价格低廉,应用广泛。有关专家指出,在今后几年中,数据系统的设计和开发还将面临一个非常重要的时期,无论是开发高速通信系统,还是其他计算机系统等,用户都会越来越倾向于使用一台示波器和一台频谱分析仪,来同时从不同的角度全方位地捕获和分析系统中的信号,从而解决来源不同角度的问题。因此频谱分析仪对于测试方面来说是非常重要的。在测试领域中1,频谱分析仪是一种重要的常用仪器。本文基于LabVIEW设计了一台虚拟频谱分析仪,并用软件代替硬件,基于计算机强大的分析处理能力,将一些先进的数字信号处理方法运用于软件设计中,实现了虚拟仪器代替传统频谱分析仪,并得到很好的效果。在已有的硬件基础上,通过软件重构,还可以构成虚拟示波器、虚拟失真度测试仪、虚拟频率特性测试仪等其他仪器。 1.2 虚拟仪器的国内外发展现状虚拟仪器(Virtual Instrument)是随着微电子技术、计算机技术、软件技术、现代测量技术、电子仪器技术的发展而产生的一种新型仪器,它经历了电磁指针式仪器、分立元件式仪器、数字式仪器、智能式仪器发展的一步步进程,特别是上个世纪80年代术以来,新的测试理论,新的测试方法以及新的仪器结构不断出现,在许多方面已经冲破了传统仪器的概念,测量仪器的功能和作用发生了质的变化。虚拟仪器技术的发展使现代测量技术和计算机技术真正地融合在一起,是计算机技术和现代测量技术的高速发展共同孕育出的一项革命性新技术。它的出现对科学技术的发展和工业生产将产生不可估量的影响。如今,虚拟仪器2已成为许多发达国家所重点研究的领域,以美国国家仪器公司(National Instrument)简称NI、惠普公司Hewlet Packard,简称HP)、Tektronix和Racal等公司为首的虚拟仪器在测试领域呈现出越来越大的影响力。其中,又以美国国家仪器公司的图形化编程语言LabVIEW及其配套硬件市场占有率最高、最具有代表性。国内方面,各高等学校及科研机构从90年代开始也积极开展虚拟仪器的研究工作,研制具有自主知识产权的虚拟仪器软件平台,并开发相应的虚拟仪器设备,其中有代表性的是清华大学、哈尔滨工业大学、重庆大学、国防大学、成都电子科技大学、中国科技大学等,他们在引进和消化美国NI公司和HP公司产品方面做了一系列有益的工作,并取得了一批较好的成果。目6U虚拟仪器广泛应用于工业自动化和控制系统、图像的采集和分析处理、系统仿真、运动控制、远程监控、物矿勘探、医疗、振动分析、声学分析、故障诊断、电子工 程、电力工程及教学科研等诸多领域。可以看出,虚拟仪器开发及应用已经进入高速发展的时期。80年代初期,美国惠普(HP)公司开发出了仪器编程语言HP-VEE,尝试用软件编写仪器。但程序的代码比较冗长,普及比较缓慢。随后,美国NI(National Instrument)公司在1986年设计出第一套图形化的编程语言LabVIEW,真正意义上实现了虚拟仪器编程的设想,之后又推出了基于C语言编程的语言Labwindows/CVI。及后来的各个升级版本,“使得软件就是仪器”的概念成为现实。本课题就是在 “软件就是仪器”的思路下,用软件的方法完成基础模块的设计,实现虚拟频谱分析仪的功能。NI的虚拟频谱分析仪通过数据采集卡并配合专门用于虚拟仪器设计的软-LabVIEW设计出相应的频谱分析仪。上世纪70年代,频谱分析仪快速的发展,出现了百花齐放的局面。如美国惠普(HP)公司的HP8553B、8554B、8554A8552R141T系列等,Tek公司的7L14,日本TR公司的TR41104113系列等。到了80年代后,随着计算机、微处理器的发展和医用,频谱仪向智能化、自动化方向发展。如:HP8568A、8566D,Tek496P、494P等。从上世纪末到本世纪初,频谱分析仪的发展速度更加迅猛,在技术、工艺等方面都达到了很高的水平,如HP8562AB、70000系列的分析仪都有上百个功能,HP8562集小型化与高性能为一体,使其具有更快、更精确的测量能力。而且HP70000系列是模块化的频谱仪,它还可以随时增加或替换模块,以此实现频段扩展或指标的提升等。而国内由于在这方面起步比较晚,因此与国外相比还有一定的差距,不过随着国内学习国外技术步伐的加快,国内已有一些企业或研究所做出了不错的成绩,如中电41所,前锋电器等4。NI公司的虚拟频谱分析仪在很多方面都具有领先地位。另外荷兰TiePie Engineering公司的HS801型虚拟仪器是五合一(任意波形发生器、数字存储示波器、瞬态波形记录仪、频谱分析仪、数字表)虚拟综合测试仪,美国Link公司推出DS0-2902、DS02904和DS沪25216三款DSO系列混合信号数字存储示波器(三合一,存储示波器+逻辑分析仪+FFT频谱分析仪),处于世界领先水平。在虚拟频谱分析仪领域中,国内近年的发展也相当的迅速,虽然与国际的先进水平还有一定的差距,正是这样才更加表明了我国的产品发展的空间还很大,还有潜力,需要我们来进步的开发和利用。国内从90年代起一些大学就相继的开展了虚拟仪器或频谱仪的研究工作,如电子科技大学、哈尔滨工业大学、重庆大学、中国科技大学等,在研制虚拟仪器的厂商有北京炜煌科技公司、北京普源科技公司等。但是我们国家在这方面的研究仍然是属于起步阶段,这样就需要我们来开设这门课程,引导更多的同学进入到这个领域,努力开发我们自己的平台5。1.3 本文所关注的问题和主要工作本课题旨在利用虚拟仪器编程技术(本文采用NI公司的LabVIEW8.2软件进行设计);重点探讨基于LabVIEW的仪器结构和程序框架,并由此来实现频谱分析仪。利用LabVIEW这个图形化的编程语言实现了频谱分析的整个过程,对信号的幅值谱、相位谱、功率谱进行了分析,从而了解信号的频率构成。本文采用数字处理式频谱分析仪设计了基于LabVIEW的频谱分析仪,其中主要包含了用声卡采集信号和不同类型的周期信号的频谱分析两大模块。利用LabVIEW的强大数字信号处理功能,首先采用LabVIEW自带的仿真信号进行滤波、加窗、FFT运算处理,得到信号的幅值谱、相位谱、功率谱,验证结果的准确性;然后利用LabVIEW中的声音采集控件对输入的声音信号进行滤波、加窗、FFT运算处理,得到信号的幅值谱、相位谱、功率谱。最终得到正确的频谱图。第二章 LabVIEW及其相关理论2.1 LabVIEW基础虚拟仪器技术是近些年发展起来的新一代仪器技术。它彻底改变了传统仪器的灵活性不强、成本过高的缺点。虚拟仪器的实质是利用计算机来模拟传统仪器的各项功能。如利用计算机的显示器的显示功能来模拟传统仪器的控制/显示面板;利用计算机的多种形式的输出方式来表达测试结果;利用计算机的强大软件功能来模拟传统仪器的信号数据的计算、分析和处理等。从而在计算机的基础上无需更多的硬件投入就可以实现能够完成各种测试分析功能的一种计算机化仪器系统。虚拟仪器一般由完成数据采集功能的硬件部分和完成数据分析处理功能的软件部分组成。硬件部分一般是各种形式的数据采集设备,将采集到的各种形式的信号转换成电信号后输入到计算机内。计算机通过软件实现从计算机的各类接口中读取数据,并用软件实现信号分析处理过程,将处理结果显示出来。本文是利用声卡进行声音信号的采集,将采集到的信号利用LabVIEW软件进行处理,最终将频谱分析后的结果显示出来。LabVIEW是虚拟仪器集成环境的简称,是目前应用最广、发展最快、功能最强大的图形化软件开发集成环境。LabVIEW本身是功能较完整的软件开发环境,它是作为替代常规Basic或C语言而设计的。用方框图代替了传统的程序代码。作为编写程序的语言,除了编程方式不同外,LabVIEW具备编程语言所有特征,因此被称为G(Graphical)语言。LabVIEW所运用的设备图标与工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相似。用LabVIEW设计的虚拟仪器可以脱离LabVIEW开发环境,最终呈现在用户面前的是和实际的硬件仪器相似的操作面板。LabVIEW包含有专门用于设计数据采集程序和仪器控制程序的功能库和开发工具库。LabVIEW的程序设计实质上就是设计单个的虚拟仪器,即“vls”。在计算机显示屏幕上利用功能库和开发工具库产生一个前面板(front panel);在后台则利用图形化的编程语言编制用于控制前面板的程序。程序的前面板具有与传统仪器类似的界面,可接受用户的鼠标指令。一般来说,每个VI都可以作为其他VI的调用对象,其功能类似于文本语言的子程序。LabVIEW的运行机制就宏观上已经不再是传统上的冯.诺依曼计算机体系结构的执行方式。传统的计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并行机制所代替。从本质上讲,它是一种带有图形控制流结构的数据流模式,这种方式确保程序中的节点只有在获得它的全部数据后才能执行。数据流程序设计规定,一个目标只有当它的所有输入有效时才能执行,而且目标的输出,只有当它的功能完全时才是有效的。即在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计算机等因素的影响。这样,LabVIEW中被连接的方框图之间的数据流控制程序的执行次序,而不像文本程序受到顺序执行的约束。从而可以通过相互连接功能方框快速简洁地开发应用程序,甚至还可以有多个数据通道同步执行。LabVIEW的核心是VI有一个人机交互界面前面板(front panel)和类似于源代码功能的方框图(diagram)。在VI的前面板中,控件(controls)模拟了仪器的输入装置并把数据提供给VI的方框图;而指示器(indicators)则模拟了仪器的输出装置并显示由方框图获得或产生的数据。一个VI可以由底层的多个VI组成,就像真实仪器由印刷电路板组成,而印刷电路板又由IC、分立元件足协一样。底层的VI代表了最基本的计算,I/O操作与界面设计功能,各层VI都有相同的结构形式。虚拟仪器模型、图形界面和结构化数据流程图编程是LabVIEW三大核心技术。2.2 图形化虚拟仪器开发平台LabVIEWLabVIEW(Laboratory Virtual Instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数,是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都更加形象化。传统的文本式编程是一种顺序的设计思路,设计者必须写出执行的语句。而LabVIEW是基于数据流的工作方式,同时是基于图形化的编程,这使得设计者不必掌握大量的编程语言和程序设计技巧便可设计出虚拟仪器系统6。目前,在以PC机为基础的测试和工控软件中,LabVIEW的市场普及率仅次于C+/C语言。LabVIEW具有一系列无与伦比的优点:首先,LabVIEW作为图形化语言编程,采用流程图式的编程,运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相似;同时,LabVIEW提供了丰富的VI库和仪器面板素材库,近600种设备的驱动程序(可扩充)如GPIB设备控制、VXI总线控制、串行口设备控制、以及数据分析、显示和存储;并且LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够设置断点,调试过程中可以使用数据探针和动态执行程序来观察数据的传输过程,更加便于程序的调试。因此,LabVIEW受到越来越多工程师、科学家的普遍青睐。利用LabVIEW ,可产生独立运行的可执行文件,它是一个真正的32编译器。像许多通用的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh OS等多种版本7。2.3 基于LabVIEW平台的虚拟仪器程序设计所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(Front Panel)、流程图(Block Diagram)以及图标/连结器(Icon/Connector)三部分。(1)前面板:前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。但并非画出两个控件后程序就可以运行,在前面板后还有一个与之对应的流程图。(2)流程图:流程图提供VI的图形化源程序。在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。如果将VI与传统仪器相比较,那么前面板上的控件对应的就是传统仪器上的按钮、显示屏等控件,而流程图上的连线端子相当于传统仪器箱内的硬件电路。在许多情况下,使用VI可以仿真传统仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与传统标准仪器相差无几。这种设计思想的优点体现在两方面: 类似流程图的设计思想,很容易被工程人员接受和掌握,特别是那些没有很多程序设计经验的工程人员。 设计的思路和运行过程清晰而且直观。如通过使用数据探针、高亮执行调试等多种方法,程序以较慢的速度运行,使没有执行的代码显示灰色,执行后的代码会高亮显示,同时在线显示数据流线上的数据值,完全跟踪数据流的运行。这为程序的调试和参数的设定带来诸多的方便。(3)图标/连接设计:这部分的设计突出体现了虚拟仪器模块化程序设计的思想。在设计大型自动检测系统时一步完成一个复杂系统的设计是相当有难度的。而在LabVIEW中提供的图标/连接工具正是为实现模块化设计而准备的。设计者可把一个复杂自动检测系统分为多个子系统,每一个都可完成一定的功能。这样设计的优点体现在如下几方面: 把一个复杂自动检测系统分为多个子系统,程序设计思路清晰,给设计者调试程序带来了诸多的方便。同时也对于将来系统的维护提供了便利。 一个复杂自动检测系统分为多个子系统,每一个子系统都是一个完整的功能模块,这样把测试功能细节化,便于实现软件复用,大大节省软件研发周期,提高系统设计的可靠性。 便于实现“测试集成”和虚拟仪器库的思想。同时为实现虚拟仪器设计的灵活性提供了前提。2.4 LabVIEW的特点与传统程序语言不同,LabVIEW采用强大的图形化语言(G语言)编程,面向测试工程师而非专业程序员,编程非常方便,人机交互界面直观友好,具有强大的数据可视化分析和仪器控制能力等特点。LabVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当做子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。LabVIEW这种创建和调用的子程序的方法,使创建的程序结构模块化,更易于调试、理解和维护。LabVIEW具有以下几个特点:(1) 提供大量的仪器面板中的控制对象,如各种开关、表头、旋钮、图表、刻度杆、指示灯等,而且用户可以方便的设计库中没有的仪器。(2) 使用图标表示功能模块,使用连线表示各模块间的数据传递,使用数据流程图式的语言书写程序源代码,这样使得编程过程与思维过程非常相近。(3) 提供程序调试功能,可以在源代码中设置断点,单步执行源代码,连线上设置探针,观察程序运行过程中数据流的变化,可以直观的对程序进行动态调试并实时地记录调试结果。(4) 采用编译方式运行32位应用程序,运行速度快。应用程序生成器可以将LabVIEW编写的文件转化为可在Windows下独立执行软件包,保护应用程序不被修改,也增强了程序运行的灵活性。(5) 提供了大量的函数库供用户直接调用,除包括基本的数学函数、字符串处理函数、数组运算函数和文件I/O函数外,还有高级分析函数库、工具箱库、综合时频分析控制箱、仪器驱动函数库,提供了包含500多种、40多个仪器厂家制造的硬件驱动程序。(6) 提供动态链接库接口和外部代码接口节点,使用户能在它的平台上使用其它软件平台编译的模块。能调用C、BASIC语言程序,支持ActiveX技术,可以直接使用VB、VC生成的控件,可以在控件和程序之间交换数据。(7) 支持TCP/IP协议,可以通过Internet调用远程机上的LabVIEW程序,使用LabVIEW的VI Server可以实现远程网络监控。2.5 LabVIEW的模板在虚拟仪器的开发过程中,设计者主要用到LabVIEW提供的三个模板2进行程序开发。这三个模板是:工具模板(tool palette),控制模板(controls palette)和功能模板(function palette)。1、工具模板:工具模板提供了用于操作、编辑前面板和流程图上对象的各种工具,若想使用操作工具,只需用鼠标点击该工具即可。工具模板如图2-1所示。图2-1 LabVIEW工具模板2、控制模板:控制模板提供了用于虚拟仪器前面板设计的各种控件。虚拟仪器的前面板(软面板)是通过软件实现的,也就是LabVIEW将传统仪器的物理面板(硬面板)上的各种旋钮、开关、显示屏等所有可能涉及到的操作部件,都做成外形相似的“控件”,分类存放在控制面板上。设计者在设计虚拟仪器前面板时,只需要根据需要选择合适的“控件”,并放置在前面板的相应位置即可。控制模板如图2-2所示。图2-2 LabVIEW控制模板3、功能模板:功能模板是创建程序框图的工具,只是在程序框图作为当前页面显示时才出现。该模板上的每一个顶层图标都表示一个子模板。通过这些功能子模板可以找到创建程序所需的程序框图工具,比如运算符号、各种类型的常数等,通过连线把在前面板中创建的对象连成一个完整的程序流程。LabVIEW将传统仪器上的各种测试功能、信号分析、文件操作、I/O接口设备驱动做成可供直接调用的库函数。并将各个库函数做成图标的形式存放在相应功能的子模板上,设计者在设计流程图时,只需根据欲实现的功能与操作,从子模板上选择相应的“图标”,并放在流程图编辑窗口中相应的位置上即可。功能模板如图2-3所示。图2-3 LabVIEW的功能模板2.6 LabVIEW开发虚拟仪器的方法在虚拟仪器总线标准确定后,配置适当的I/O接口硬件,即可用LabVIEW开发虚拟仪器。开发虚拟仪器的一般步骤如下:1、创建新VI在LabVIEW的主窗口或已打开的VI窗口中选择New VI按钮,创建出一个空白的前面板编辑窗口和空白流程图编辑窗口。2、设计前面板 用选择工具在控制模板中选取适当的控件放在空白的前面板编辑窗口中,调整好所有控件的位置和尺寸,根据设计要求设置每个控件的属性。前面板设计完成。 3、编辑流程图 在前面板设计完成后,前面板上的控件随即出现在流程图编辑窗口中,根据设计的虚拟仪器的功能,从功能模板选择适当的函数图标放入到流程图编辑窗口中,往往完成一个特定功能需要用到多个不同的函数,最后用连线工具将所有控件、函数图标按照一定的逻辑或运算关系连接起来,流程图的设计基本完成。 4、保存VI 在前面板窗口或程序框图窗口中,选择菜单中的Save,保存刚设计完成的VI。 5、运行调试VI 在前面板窗口或程序框图窗口选择运行(Run),运行已设计好的VI,若前面板控件选择和控件属性设置及程序框图设计合适,运行VI会得出正确结果,否则还需调试程序。前面板控件属性设计不当,可能得不到正确的测试结果,这时可以选择属性设置中的“自动”菜单项,再运行VI,往往会得到正确的测试结果,此选项对波形显示控件尤为有效。程序框图的编写不合适,可以用LabVIEW的调试工具调试。LabVIEW提供了非常方便有效的程序调试工具,程序开发者用该工具很容易发现并改正错误。 上述步骤是设计VI的基本方法,设计者也可以将多个较简单的VI合并成一个功能复杂、规模庞大的新VI,也可以把一个已有的VI当成新VI中的一个部件(函数),非常方便地设计出满足要求的新VI。第三章 信号的频谱分析概述频谱分析仪主要是将采集到的模拟信号经过模/数转换后变为数字信号,然后再进行数字化处理。而将连续信号变成数字信号是在计算机上实现信号数字化处理的必要步骤。信号的全部频率分量组成了所谓的频谱。人们主要通过在频域范围内测量频谱的各个分量,以此来获取信号的多种参数。在频谱测量中,一般将随频率变化的幅度谱称为频谱,而傅立叶变换是频谱测量的基础。对于任意一个时域信号来说,它都可以被分解为一系列不同频率、不同相位、不同幅度的正弦组合。傅立叶变换是一种将信号从时域转换到频域的方法,是信号处理领域的重要分析工具,傅立叶变换对于分析线性系统以及平稳信号都非常适用。离散傅立叶变换(DFT)作为连续傅里叶变换的离散表达形式,用于在计算机上做数字运算,但由于DFT的计算量非常大,其应用就受到了一定程度的限制。而快速傅立叶变换(FFT)是快速计算DFT的一种高效方法,它使DFT的运算大大简化,因此将其应用于本文设计的信号处理当中。3.1 信号频谱分析的作用信号的时域描述只能反映信号的幅值随时间的变化情况,一般很难明确揭示信号的频率组成和各频率分量的大小。图3-1是一受噪声干扰的多频率成分周期信号,从信号波形上很难看出其特征,但从图3-2的功率谱上却可以判断并识别出信号中的四个周期分量和它们的大小。信号的频谱X(f)代表了信号在不同频率分量处信号成分的大小,它能够提供比时域信号波形更直观、更丰富的信息。图3-1 受噪声干扰的多频率成分周期信号的波形图3-2 受噪声干扰的多频率成分周期信号的功率谱 频谱是构成信号的各频率分量的集合,它完整地表示了信号频率的结构。即信号由哪些谐波组成,各谐波分量的幅值大小及初始相位,从而揭示了信号的频率信息。频域分析的意义在于使人们能够在频域中观察一个信号的特征,通过频谱可以方便地观察和分析信号的频率组成成分。3. 2 信号频谱分析的方法信号的频谱可以分为幅值谱、相位谱、功率谱等等。对信号做频谱分析的仪器主要是频谱分析仪,它把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式两种。模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础,实现信号的时域频域的关系转换分析。本文设计的是数字式频谱分析仪,设计过程中采用快速傅立叶变换。傅立叶变换是信号频谱分析中常用的一个重要工具8910,它把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。信号频谱分析是采用傅立叶变换将时域信号X(t)变换为频域信号X(f)。时域信号X(t)的傅立叶变换为: (3-1)式中X(f)为信号的频域表示,X(t)为信号的时域表示,f为频率。3.2.1 周期信号的频谱分析周期信号是经过一定时间可以重复出现的信号,满足条件: (3-2)。从数学分析已知,任何周期函数在满足狄利克利(Dirichlet)条件下,可以展开成正交函数线性组合无穷级数,如正交函数集是三角函数集或复指数函数集,则可展开成为傅立叶级数,通常有实数形式表达式: (3-3)直流分量幅值为: (3-4)各余弦分量幅值为: (3-5)各正弦分量幅值为: (3-6)周期信号的三角函数展开式的另一种形式为: (3-7)直流分量幅值为: (3-8)各频率分量幅值为: (3-9)各频率分量的相位为: (3-10)式中,T周期,;-基波圆频率;f0基波频率;。为信号的傅立叶系数,表示信号在频率f0处的成分大小。傅立叶级数的复指数展开式: (3-11) (3-12)其中:;。 工程上习惯将计算结果用图形方式表示,若分别以作图,则可得其幅频谱图和相频谱图;也可以分别以的实部或虚部与频率的关系做幅频图,并分别称为实频谱图和虚频谱图。 周期信号的频谱具有三个特点:1、周期信号的频谱是离散的,由一系列冲击函数组成离散频谱。2、每条谱线只会出现在基波频率的谐波频率处。3、各频率分量的谱线高度表示该谐波分量的幅值或相位角。3.2.2 非周期信号的频谱分析 当周期信号的周期T无限大时,周期信号就转变为对应的非周期信号。与周期信号相似,非周期信号也可以分解为许多不同频率分量的谐波和。所不同的是,由于非周期信号的周期,基频,它包含了从零到无穷大的所有频率分量,即谱线无限密集,频谱是连续的。各频率分量的幅值为是无穷小量,所以频谱用幅值密度函数描述。1、频谱密度函数: (3-13)其中:代表了信号中各频率分量振幅的相对大小;各频率分量的实际振幅为为无穷小量。具有单位角频率振幅的量纲: (3-14)的振幅:; 的相位:;并且和是的偶函数,和是的奇函数。2、非周期信号的频谱的性质:(1)连续性: 为连续量,谱线出现在的各连续频率值上。(2)收敛性: 增大时,减小。(3)对称性:纵坐标对称,原点对称。3.2.3 离散傅里叶变换(DFT)离散时间傅里叶变换为: (3-15)其中以为周期。设为有限长序列,则 (3-16) 如果对在区间也取N个点,频率序号,第K个点处的频率为,若记该频率处的频谱为,则的DFT为: (3-17)按(3-17)式计算出后,对其做周期延拓,即可得到得到频谱样本。 由于DFT在时域和频域均是有限长度的,在用DFT进行连续时间信号的频谱分析时,除要对其离散化外,还要对信号的时域和频域进行截断处理,截断处理势必引入分析误差、 设信号的时域和频域均抽样N个点,时域抽样间隔为,抽样时间为,其中,频域抽样间隔为,抽样频率为,其中由于,则频谱间隔: (3-18)可见,频谱的分辨率与时间截取的长度有关。3.2.4 快速傅里叶变换(FFT)快速傅里叶变换是对DFT的算法进行改进获得的。能在工程实际中用来减少计算次数,缩短计算时间的快速算法,简称FFT。当信号的采样点数是2的幂时,就可以采用这种方法。LabVIEW提供了FFT图标,可供直接调用进行快速频谱分析。问题在于如何选取采样的时间间隔,取多少个采样点N,截取长度应为多大,以保证频率分析的精度。1、栅栏效应 对于一个无限长的信号,其频谱是连续的,要利用计算机对它进行频谱分析时,必须将它截断,使其成为有限长度为的信号。经过有限截取的信号就转化为周期为的周期信号。相应的,频率由原来的连续谱变为离散谱。于是在离散谱之间的频率分量就被“挡住”而丢掉,这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,由于用数值方法只能算出连续频谱中N个抽样点处的值,因此很可能使一部分有用的频率成分漏掉,它不能代表频谱的完整分布,这以现象称为栅栏效应。例如:截取信号长度为,则可获得谱线的频率为(基波),,。如果信号有的峰值分量,则被栅栏挡住而无法检验出来。这种情况可以通过提高频率的分辨率F来改善:。增大T将会减小采样频率,故需注意必须保证满足采样定律。增大N,要满足的要求。对于某些衰减信号可以采取补零来增加N的数值。2、泄漏 时域无限长信号被截断,相当于用矩形窗函数或0(其它)与相乘,窗外时域信息全部损失,导致频域增加频率分量的现象。第四章 频谱分析仪的软件设计虚拟仪器的实质是将完成传统仪器功能的硬件和最新计算机软件充分结合起来,实现并扩展传统仪器的功能,完成数据采集、分析处理、显示和自动化功能。本文是基于LabVIEW(8.2)这种软件平台进行设计的。本文设计的频谱分析仪可以接收来自声卡采集到的声音信号,也可以实现典型信号的产生,并经过滤波器、窗函数和FFT处理后获得频谱分布图。在设计的过程中也是基本上遵循模块化设计思想,根据所需的不同功能分别组建各种功能模块,最后再集成和调试11。下面对各个功能模块的设计思想作简要介绍。4.1 仿真信号生成模块LabVIEW的函数库中有丰富的仿真信号,如正弦波、方波、三角波、锯齿波等。设计时只需将所要的各个子VI放入一个case结构即可构成典型的信号生成模块。也可以利用声卡采集到的声音信号进行分析。仿真信号生成的程序框图设计如图4-1所示。在设计过程中,包含了一个case结构,在case结构中有正弦+均匀白噪声、方波、三角波+均匀白噪声、锯齿波、直流信号。如果想得到其它噪声的波形,则可以在设计的程序框图中对其属性进行更改,即可以得到想要的噪声,例如:添加高斯白噪声、泊松噪声、二项噪声、周期性随机噪声等。也可以对采样率进行设置,从而满足采样定理。声卡采集部分的电路设计将在硬件部分介绍。图4-1 仿真信号生成程序框图4.2 滤波器的设计滤波器模块是在频谱分析之前对信号进行模拟和数字两种滤波处理,使输出信号中存在的干扰尽量减小,提高频谱测量的精度。滤波器是一种选频装置,可以使信号中特定的频率成分通过,而极大的衰减其它频率成分。在测试装置中利用滤波器的这种选频作用,可以滤处与输入信号频率不同的各种干扰信号的干扰。本文所设计的滤波器为无限脉冲响应数字滤波器(IIR)滤波器,IIR滤波器的设计源于传统的模拟滤波器设计,可以通过对低通模拟滤波器进行模拟频率变换得到IIR滤波器。IIR滤波器和FIR滤波器之间的最基本的差别是:由于FIR滤波器使用递归算法,输出不仅取决于当前和以前的输入值,还取决于以前的输出值;而对于IIR滤波器,输出只取决于当前和以前的输入值。常用的IIR滤波器有巴特沃斯(Butterworth)滤波器、切比雪夫(Chekyshev)滤波器、椭圆(Elliptic)滤波器、贝塞尔滤波器。本文设计的滤波器含有高通、低通、带通、带阻和平滑滤波,每种滤波器都含有以上的拓扑结构,即都包含巴特沃斯(Butterworth)滤波器、切比雪夫(Chekyshev)滤波器、椭圆(Elliptic)滤波器、贝塞尔(Bessel)滤波器。4.2.1 滤波器的类型设计低通滤波器的程序框图如图4-2所示,其中,高通滤波器、带通滤波器、带阻滤波器的程序框图与低通的相同,只是存在于不同的分支内。低通滤波器就是利用电容的通高频阻低频、电感通低频阻高频的原理。对于需要截止的高频,利用电容吸收电感、阻碍的方法不使它通过,对于需要的低频,利用电容高阻、电感低阻的特点使它通过。高通滤波器是滤掉信号中不必要的低频成分,去掉低频干扰的滤波器。 在电力系统中,谐波补偿时用高通滤波器滤除某次及其以上的各次谐波。带通滤波器是(band-pass filter)是一个允许特定频段的波通过同时屏蔽其他频段的设备。比如RLC振荡回路就是一个模拟带通滤波器。带阻滤波器是指能通过大多数频率分量、但将某些范围的频率分量衰减到极低水平的滤波器,与带通滤波器的概念相对。图4-2 低通滤波器的程序框图 平滑滤波的程序框图如图4-3所示。平滑滤波器是一种低通滤波器,是在空间域实现的一种滤波器。通过缩小高频,扩大低频可以去除某些噪声。滤波器的阶数越高,值越均匀,滤波效果越好。可以对滤波器的属性进行设置,得到想要的波形。图4-3 平滑滤波的程序框图4.2.2 滤波器的拓扑结构简介 1、巴特沃斯(Butterworth)滤波器 巴特沃斯(Butterworth)滤波器拥有最平滑的频率响应,在截断频率以外,频率响应单调下降。在通带中是理想的单位响应,在阻带中响应为零。在截断频率处有3dB衰减。巴特沃斯(Butterworth)滤波器的优点是具有平滑的单调递减的响应。过渡带的陡峭程度正比于滤波器的阶数,因此高阶巴特沃斯低通滤波器的频率响应近似于理想低通滤波器。 2、切比雪夫(Chekyshev)滤波器 巴特沃斯滤波器的一个缺点是温带与阻带之间过渡缓慢。与之相比,切比雪夫(Chekyshev)滤波器过渡迅速,并且能够通过计算与理想滤波器的差异将通带峰值误差降到最小。切比雪夫滤波器频率响应的特点是:在通带中是等幅的纹波,阻带中单调衰减,过渡迅速。 3、椭圆(Elliptic)滤波器 椭圆(Elliptic)滤波器将峰值误差分散大通带和阻带中。与其它滤波器相比,相同阶次的情况下,椭圆滤波器的过渡带最为陡峭,因此椭圆滤波器的应用非常广泛。 4、贝塞尔(Bessel)滤波器 贝塞尔(Bessel)滤波器能够减小IIR滤波器固有的非线性畸变。滤波器的阶数越高,过渡带越陡峭、使用效果越显著。贝塞尔滤波器拥有最平稳的幅度和相位响应:在通带中,贝塞尔滤波器的相位响应近似于线性。但贝塞尔滤波器必须通过提高阶数以减小误差,因此应用不是很广泛。4.3 窗函数的设计 数字信号处理的主要数学工具是博里叶变换而傅里叶变换是研究整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无线长的信号被截断以后,其频谱发生了畸变,原来集中在处的能量被分散到两个较宽的频带中去了(这种现

温馨提示

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

最新文档

评论

0/150

提交评论