1、装订线信号采集与分析虚拟系统的设计摘 要随着计算机技术的发展,仪器工业正在经历一场巨变。计算机强大的处理和显示能力,使它可以在数据采集、分析和表达中的任意一个方面提升仪器的性能。以虚拟仪器为代表的新型仪器改变了传统仪器的思想,它们充分利用了计算机强大的软硬件资源,把计算机技术和测量技术紧密结合起来,是融合了电子测量、信号处理、计算机和网络技术的新型测量仪器,由于成本低、使用方便等优点得到了广泛的应用。本文用计算机声卡代替普通采集卡作为硬件,用数据分析和处理功能非常强大的工程实用软件LabVIEW作为软件开发平台,设计了一个高采样精度、中等采样频率、灵活性好的声卡数据采集系统,实现了数据采集、信
2、号分析(时域分析和频域分析)及信号发生等多种功能。其中,时域分析包括实时显示波形,测量信号电压、频率、周期等参数;频域分析包括幅值谱、相位谱、功率谱等;信号发生包括常用信号(如正弦波、方波、三角波等)的产生。该采集系统性价比高、通用性强、扩展性好、界面简单,在工程测量与实验室应用中具有广阔的前景。关键词:虚拟仪器,LabVIEW,声卡数据采集,信号分析ABSTRACTWith the development of computer technology, equipment industry is under going a change. The powerful processing an
3、d display capabilities of computer enhance data collection, analysis and expression of any aspect of the performance of equipment. A virtual instrument as the representative new equipment has changed the traditional instruments, it takes full advantage of computer hardware and software resources. Th
4、e computer technology is integrated with measurement technology. It integrate the electronic measurement, signal processing and computer and network technology in the new instrument.Taking the computex sound card instead of current acquisition card as hardware and the engineering software LabVIEW th
5、at data analysis and processing function is very powerful as software development platform,a kind of sound card data acquisition system with higher sampling precision,middling sampling frequency and better flexibility is designedIt has realized several functions such as data acquisition,signal analy
6、sis(ietimedomain analysis and frequencydomain analysis) and signal generatorThe timedomain analysis includes the realtime display of the waveformthe signal parameter measurements of voltage,frequency and periodThe frequencydomain analysis contains amplitude spectrum,phase spectrum,power spectrumThe
7、signal generator can produce common signal like sine wave,square wave and triangular waveThe system has many advantages,for example,high cost performance,strong commonality,good expansibility and simple interface。It takes on wider foreground in the fields of engineering measure and laboratory applic
8、ationKey Words:virtual instrument, LabVIEW , Sound card data acquisition, Signals Analysis, virtual experiment system目 录前 言1第一章 虚拟仪器技术31.1 虚拟仪器介绍31.1.1 虚拟仪器概念31.1.2 虚拟仪器的特点31.1.3 虚拟仪器系统的构成41.2 虚拟仪器开发平台LabVIEW41.2.1 LabVIEW简介41.2.2 LabVIEW的作用41.2.3 选用 LabVIEW 的原因51.2.4 LabVIEW的操作模板51.2.5 LabVIEW程序Vi的
9、建立51.2.6 程序的调试7第二章 信号采集分析理论72.1 信号分析理论82.1.1 数据采集理论基础82.1.2 快速傅里叶变换(FFT)92.1.3 谐波分析理论102.2 声卡简介122.2.1 声卡的基本功能122.2.2 声卡的硬件结构122.2.3 声卡的工作原理132.2.4 声卡的性能指标13第三章 虚拟信号采集分析系统方案选择153.1 系统硬件的选择153.1.1 统设计方案比较153.1.2 声卡作为数据采集卡的可行性分析163.2 系统设计的总体功能模块163.2.1 模块化编程思想173.2.2 系统模块划分18第四章 虚拟信号采集分析系统的设计实现194.1 系
10、统首页的设计194.2 进入系统模块的设计204.3 历史数据模块设计234.3.1 文件路径、滤波设置模块254.3.2 时域分析的设计254.3.3 频域分析的设计254.3.4 谐波分析的设计264.4 程序的运行与调试274.4.1 运行 VI274.4.2 调试 VI274.5 技术指标及误差分析284.5.1 技术指标284.5.2 误差来源与分析294.6 本章小结30结 论31参考文献33致 谢34前 言本文旨在运用虚拟仪器开发软件 LabVIEW2012,设计开发基于声卡的数据采集分析系统,使其具有通过普通声卡进行声音数据的采集、分析、显示以及存储功能,并用其构建音频信号采集
11、分析虚拟实验系统,使其能在具体实验教学中运用。1)课题开发背景和发展现状微电子学和计算机技术的发展,正以不可逆转之势影响着各行业的技术进步,其应用范围越来越广使得当今的测控仪器行业也同样经历着一场翻天覆地的变革,其原因有两方面:一方面,传统的测控仪器越来越满足不了测控技术的发展需求,另一方面,计算机技术的进步为新型测控仪器的产生提供了技术基础。随着电子技术、计算机技术和网络技术的高速发展及其在电子测量技术与仪器领域中的应用,新的测试理论、新的测试方法、新的测试领域以及新的仪器结构不断出现,传统仪器显得越来越力不从心,其信号处理电路的设计十分复杂且难以更新,当新的计算方法出来后,传统的仪器亦无法
12、升级,满足不了科研人员的要求,给科研工作带来额外的科研成本。而虚拟仪器的信号分析系统完全可以解决这个问题,用虚拟仪器开发平台开发各种“虚拟仪器”,不但成本低廉、简单易行,且交互性、可操作性和真实感与传统仪器基本相同。“软件即仪器”(Software is Instrument)反映了虚拟仪器的基本特征。美国是虚拟仪器的诞生地,也是全球最大虚拟仪器制造国。创立于 1976 年的 NI公司,几十年来,不断致力于开发基于计算机的测试测量与自动化平台,其推出的软件产品已经成为行业标准。最新统计显示,全球有超过 25000 的客户在使用 NI 的产品,其中不乏国际知名的大公司,像 Nokia、Sieme
13、ns、Tektronix 等等。在世界财富 500 强中的制造业厂商,也有 95都是 NI 的客户。此外,虚拟仪器的主要生产厂家还包括 HP 公司、Tektronix公司等,前者目前生产 100 多种型号的虚拟仪器,后者则生产约 80 多种型号,这些厂家的产品在国际市场上都具有较强的竞争力。LabVIEW 作为虚拟仪器开发系统的杰出代表,在我国虽然引进的时间不长,但是现在己经被认识和推广、应用,它促进了中国测试领域的技术革命,在科研及教育领域都得到了迅速推广。它在许多企业、科研单位被用于产品测试和测控系统。国内专家预测:未来的几年内,我国将有 50%的仪器为虚拟仪器。国内将有大批企业使用虚拟仪
14、器系统对生产设备的运行状况进行实时检测。随着微型计算机的发展,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流。虚拟仪器技术的提出与发展,标志着二十一世纪自动测试与电子测量仪器领域技术发展的一个重要方向。传统仪器具有“技术更新周期长”、“仪器功能无法自定义”、“与其它设备连接困难”、“开发维护费用高”等问题,所以在对信号处理要求越来越高的今天,用户希望能在虚拟仪器平台上来建立一信号分析系统以解决上述问题;另通过调查显示在高校中存在“传统仪器提供的实验信息量少,由于人工读数而导致实验结果误差率高”、“传统仪器无法进行远程实验,实现设备资源共享”、“实验设备更新困难,大部分设备落后于课程建设
15、的需要”、“实验的内容侧重于理论的验证和模仿训练,学生的实验内容统一,缺乏对学生创新意识的培养和综合能力的提高”等问题,这些在很大程度上制约了实验教学的发展和人才培养质量的提高。究其原因,不能不说在科技迅猛发展的今天,以教育有限的投入无法满足实验设备价格昂贵、更新速度快的要求,是其最根本的原因。这就要求教育工作者,开发能够满足现代实验教学要求、物美价廉的实验教学仪器,以提高实验教学水平,培养高素质、高技能的创新型人才。目前在国内高校,虚拟仪器正逐步走进理工科课堂和实验室,越来越多的学校通过购置美国NI 公司的虚拟仪器产品组建高中档次的虚拟实验室,但成本相对比较昂贵。在这种背景下提出了本课题。2
16、)课题研究的意义目前,我国正处于科学技术蓬勃发展的新时期,对仪器设备的要求更加迫切。虚拟仪器作为传统仪器的替代品,市场容量巨大。一方面,目前我国高档台式仪器,如数字示波器、频谱分析仪、逻辑分析仪等主要依赖进口,这些仪器加工工艺复杂、对制造水平要求很高,生产突破有困难。另一方面,用户可以将一些先进的数字信号处理算法应用于虚拟仪器的设计,完善传统仪器不具备的功能,而且完全可以通过软件配置实现多功能集成的仪器设计。因此,虚拟仪器信号分析系统的研究是非常有必要的。而且,与计算机技术相结合是测试仪器发展的主流,由此而产生的虚拟仪器技术已经成为测试仪器技术中的重要领域。而传统仪器下的高校实验教学,已严重滞
17、后于信息时代和工程实际的需要。在学校特别是大学中,要想紧跟技术的发展就要不断更新教学和实验设备,而传统仪器无法升级,更换设备代价又太昂贵。基于 LabVIEW 的信号分析系统正是解决这一矛盾的最佳方案,它最大的优势在于它的智能化和软件平台对用户的开放性。虚拟仪器能完全替代传统仪器并扩展其功能,这是虚拟仪器在教学、科研中最有价值的应用。目前多数院校采用 NI 公司提供的专业数据采集设备能组建专业的虚拟实验系统,但建设成本高。普通声卡是PC 机最基本配置,使用普通声卡进行信号的采集,建设成本大大降低,虽然与专业采集设备相比虽然效果有差距,但能满足日常教学的要求,并能用于音频信号分析方向的科研开发工
18、作。第一章 虚拟仪器技术20多年前,美国国家仪器公司NI(National Instruments)提出“软件即是仪器”的虚拟仪器(VI)概念引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以长驱直入仪器领域,和仪器技术结合起来,开创了软件即是仪器的先河。本文所设计的信号分析系统就是在虚拟仪器技术高速发展的背景下,利用美国 NI公司的虚拟仪器开发平台 LabVIEW2012 软件实现的。虚拟仪器技术是测试技术和计算机技术综合集成的产物,虚拟仪器从二十世纪八十年代初产生一直到现在,技术发展逐步成熟,在工业自动化、仪器制造和实验室方面应用较为广泛。本章主要介绍信号分析系统建设的软、硬件平台
19、及所需理论基础知识。1.1 虚拟仪器介绍虚拟仪器系统是由计算机、应用软件和仪器硬件三大要素构成的。计算机与仪器硬件又称为 VI 的通用仪器硬件平台。虚拟仪器利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。1.1.1 虚拟仪器概念 虚拟仪器,就是在通用的计算机平台上定义和设计仪器的测试功能,使用者操作这台计算机,就像是在使用一台专门设计的电子仪器。它突破了传统仪器的特点,将传统仪器由硬件实现的数据分析功能与显示功能,改由功能强大的计算机及其显示器来完成,并配置以相应的I/O接口设备进行数据采集,再编制不同测试功能的软件对获得的信号数据进行分析处理及显示,就可以构成一
20、套完整的测试系统,并具备数据处理的功能和友好的人机界面。同时,仪器的功能和面板可以由用户根据需要自行定义或扩展,而不是由厂家事先定义且固定不变。这样,用户不必购买多台不同功能的仪器,不必购买昂贵的集多功能于一身的传统仪器,也不必不断的购买新的仪器。而且因为有网络的存在,可以应用网络实现仪器共享或远程控制。虚拟仪器之“虚拟”含义:虚拟仪器面板;软件实现具体仪器功能。1.1.2 虚拟仪器的特点与传统仪器相比,虚拟仪器具有以下特点:1) 虚拟仪器可以通过几个分面板上的操作来实现比较复杂的功能;2) 在通用硬件平台确定后,由软件取代传统仪器中的硬件来实现仪器的功能;3) 仪器的功能是用户根据需要由软件
21、来定义的,而不是由厂家事先定义好的;4) 仪器的性能改进和功能扩展只需更新相关软件,而不需购买新的仪器;5) 研制周期比传统仪器大为缩短;6) 虚拟仪器开放、灵活,可与计算机同步发展,与网络及其他周边设备互联。此外,与传统仪器相比,虚拟仪器具有高效、易用、功能强大、性价比高、可操作性好等优点,具体表现为:1) 智能化程度高,处理能力强。虚拟仪器的处理能力和智能化程度主要取决于仪器的软件水平。用户完全可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。2) 复用性强,系统费用低。采用虚拟仪器技术,可以用相同的基本硬件构建多
22、种不同功能的测量系统。这样形成的测量系统更灵活、更高效、更开放、更便宜。3) 可操作性强,灵活易用。虚拟仪器面板可由用户定义,针对不同的应用可以设计不同的操作界面。计算机强大的多媒体处理能力使仪器操作变得更加直观、简便、易于理解。此外,测量完成后可以显示和打印所需的报表(或曲线),可以把测量数据存入数据库系统或通过网络进行数据共享。1.1.3 虚拟仪器系统的构成虚拟仪器系统是由计算机、应用软件和仪器硬件组成的。硬件是指获得测试数据的各种硬件I/O接口设备,大致可分为4类:DAQ、GPIB、VXI、PXI,因此组成了4种虚拟仪器体系结构。无论哪种结构,都是将硬件仪器嵌入到笔记本电脑、台式计算机或
23、工作站等各种计算机平台上,再加上应用软件而构成的。因而,虚拟仪器的发展已经与计算机技术的发展步伐完全同步。由于虚拟仪器更注重软件的应用和开发,所以虚拟仪器使用更方便,更新更快捷,修改更容易,并且功能比一般仪器系统更强大。只要具备必备的硬件,在加上丰富而且日新月异的软件系统,虚拟仪器将不断完善和进步,会逐渐融入现代生活生产中。1.2 虚拟仪器开发平台LabVIEW1.2.1 LabVIEW简介LabVIE 是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的
24、执行顺序。它用图标表示函数,用连线表示数据流向。LabVIEW 提供很多外观与传统仪器(如示波器、信号发生器等)类似的控件,可以方便地创建用户界面(在 LabVIEW 中称为前面板),可以通过使用图标和连线编程对前面板上的对象进行控制,这就是图形化源代码,又称“G 代码”或“程序框图代码”。LabVIEW 程序被称为 VI(Virtual Instrument),即虚拟仪器;LabVIEW 的核心概念就是“软件即仪器”,即虚拟仪器的概念。LabVIEW 还包含了大量的工具与函数用于数据采集、分析、显示与存储等。这些都是向导式的工具,用户只需要一步步按照提示就可以实现与仪器的连接和参数设置。程序
25、员不需要记忆大量的函数,函数以图标与名称的形式存在于函数面板上,只要把它从函数面板上拖放到程序框图中就可以了。LabVIEW 的运行机制就宏观上讲已经不再是传统上的冯诺依曼计算机体系结构的执行方式。传统的计算机语言(如 C)中的顺序结构在 LabVIEW 中被并行机制所代替。从本质上讲,它是一种带有图形控制流结构的数据流模式。程序设计规定,一个目标只有当它的所有输入有效时才能执行;而目标的输出,只有当它的功能完全时才是有效的。这种方式确保它不受操作系统、计算机等因素的影响。1.2.2 LabVIEW的作用LabVIEW在测试、测量和自动化等领域具有最大的优势,因为 LabVIEW 提供了大量的
26、工具与函数用于数据采集、分析、显示和存储。用户可以在数分钟内完成一套完整的从仪器连接、数据采集到分析、显示和存储的自动化测试测量系统。它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域。LabVIEW 不仅可以用来快速搭建小型自动化测试测量系统,还可以被用来开发大型的分布式数据采集与控制系统。例如在美国 Lawrence Livermore 国家实验室,一个花费 2000 万美金的极为复杂的飞秒激光切割系统就是基于 LabVIEW 开发的;在北京正负电子对撞机二期工程北京谱仪慢控制系统中,大约有 30 种物理量共 7000 多点的现场数据点需要实时采集控制和分
27、析记录等。1.2.3 选用 LabVIEW 的原因选择 LabVIEW 开发测试和测量应用程序的一大决定性因素是其开发速度。通常,使用 LabVIEW 开发应用系统的速度比使用其他编程语言快 410 倍。这一速度背后的原因在于 LabVIEW 易用易学,它所提供的工具使创建测试和测量应用变得更为轻松。LabVIEW 的具体优势主要体现在以下几个方面:1)提供了丰富的图形控件,并采用图形化的编程方法,彻底把工程师们从复杂枯涩的文本编程工作中解放出来。2)内建的编译器在用户编写程序的同时就在后台自动完成了编译。因此用户在编写程序的过程中如果有语法错误,它会被立即显示出来。3)由于采用数据流模型,它
28、实现了自动的多线程,从而能充分利用处理器尤其是多处理器的处理能力。4)通过 DLL、CIN 节点、ActiveX、.NET 或 MATLAB 脚本节点等技术,可以轻松实现 LabVIEW 与其它编程语言混合编程。5)通过应用程序生成器可以轻松地发布 EXE、动态链接库或安装包。6)LabVIEW 提供了大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。7)LabVIEW 内建了 600 多个分析函数,用于数据分析和信号处理。8)NI 同时提供了丰富的附加模块,用于扩展 LabVIEW 在不同领域中的应用。1.2.4 LabVIEW的操作模板具有多个图形化的操作模板,用于创建和运行程序。这些
29、操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操作模板共有三类,工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。工具模板(Tools Palette )为编程者提供了各种用于创建、修改和调试VI程序的工具,当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。控制模板(Controls Palette )可以为前面板添加输入控制和输出显示。功能模板(Functions Palette)是创建框图程序的工具。1.2.5 LabVIEW程序Vi的建立所有的LabVIEW应用程序,即虚拟仪器,它包括前面板(front panel)、流程图/
30、框图程序(block diagram)以及图标/连结器(icon/connector)三部分。前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口用来控制程序前面板和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。图标/连接
31、器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就像函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。LabVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。当创建Vi程序时,有以下步骤:1)前面板 使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口。而显示是输出程序产生的数据接口。控制和显示有许多种类,可以从控制模板的各个子模板中选取。两种最常用的前面板对象是数字控制和数字显示。若想要在数字控制中输入或修改数值,
32、只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。2)框图程序框图程序是由节点、端点、图框和连线四种元素构成的。节点是程序执行元素,类似于文本语言程序的语句、函数或者子程序。LabVIEW有二种节点类型函数节点和子VI节点。两者的区别在于:函数节点是LabVIEW以编译好了的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。用户可以访问和修改任一子VI节点的代码,但无法对函数节点进行修改。端点是只有一路输入输出,且方向固定节点。LabVIEW有三类端点前面板对象端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序部分
33、和前面板之间传输的接口。一般来说,一个VI的前面板上的对象(控制或显示)都在框图中有一个对象端点与之一一对应。当在前面板创建或删除面板对象时,可以自动创建或删除相应的对象端点。 框图是LabVIEW实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。代码接口节点(CIN)是框图程序与用户提供的C语言文本程序的接口。连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显上,每种数据类型还以不同的颜色予以强调。3)框图程序窗口创建前面板对象用选择和连线
34、工具,都可以用鼠标右键点击任一个节点和端点,然后从弹出菜单中选择“创建常数”、“创建控制”或“创建显示”等命令。LabVIEW会自动地在被创建的端点与所点击对象之间接好连线。4)数据流编程控制VI程序的运行方式叫做“数据流”。对一个节点而言,只有当它的所有输入端口上的数据都成为有效数据时,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口,使之成为有效数据。并且数据很快从源送到目的端口。1.2.6 程序的调试1)找出语法错误如果一个VI程序存在语法错误,则在面板工具条上的运行按钮会变成一个折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表。点击它,则LabVIEW弹出错误
35、清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。2)设置执行程序高亮 在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮。点击这个按钮使它变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,就可以根据数据的流动状态跟踪程序的执行。3)断点与单步执行为了查找程序中的逻辑错误,有时希望流程图程序一个节点接一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点
36、的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。也可以点击暂停按钮,这样程序将连续执行直到下一个断点。4)探针可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左键点击所希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,同样可以为该连线加上一
37、个探针。用LabVIEW编制出的图形化VI是分层次和模块化的。每个VI既可以单独运行,也可以被其他VI调用。一个VI用在其它VI中,称之为SubVI,SubVI在调用它的程序中同样是以一个图标的形式出现的。LabVIEW依附并发展了模块化程序设计的概念。用户可以把一个应用题目分解为一系列的子任务,每个子任务还可以进一步分解成许多更低一级的子任务,直到把一个复杂的题目分解为许多子任务的组合。首先设计SubVI完成每个子任务,然后将之逐步组合成能够解决最终问题的VI。第二章 信号采集分析理论本章主要介绍系统所涉及的信号分析理论及作为数据采集卡声卡的基础知识。2.1 信号分析理论2.1.1 数据采集
38、理论基础数据采集系统中以计算机作为处理机。众所周知,计算机内部参与运算的信号是二进制的离散数字信号,而被采集的物理量一般是连续的模拟信号。因此,在数据采集系统中同时存在两种不同形式的信号:连续模拟信号和离散数字信号。连续的模拟信号转换为离散的数字信号,经历两个断续过程:1)时间断续对连续的模拟信号x(t),按一定的时间间隔Ts,抽取相应的瞬时值(也就是通常所说的离散化),这个过程称为采样。连续的模拟信号X(t)经过采样过程后转换为时间上离散的模拟信号Xs(nTs)(即幅值仍是连续的模拟信号), 简称为采样信号。2)数值断续把采样信号Xs(nTs)以某个最小数量单位的整数倍来度量,这个过程称为量
39、化。采样信号Xs(nTs)经量化后变换为量化信号Xq(nTs),再经过编码,转换为离散的数字信号X(n)(即时间和幅值是离散的信号),简称为数字信号。在实际工作中,信号的抽样是通过A/D芯片来实现的。通过A/D,将连续信号X(t)变成数字信号Xs(nTs),X(t)的傅立叶变换X(j)变成X(ejw)。A/D转换原理如图2-1所示。图2-1 A/D转换原理模拟信号经过(A/D)变换转换为数字信号的过程称之为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率fs,重复出现一次。为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成份的两倍。这称之为采样定理。如图2-2所示,由于不
40、满足采样定理,信号产生了混叠。图2-2 信号正常采样和欠采样信号的采样定理是连结离散信号和连续信号的桥梁,是进行离散信号处理与离散系统设计的基础。采样定理(sampling theory):若连续信号x(t)是有限带宽的,其频谱的最高频率为fc,对X(t)抽样时,若保证抽样频率fs fc (或s 2c ,T s /c)那么,可由x(nTs)恢复出x(t),即x(nTs)保留了x(t)的全部信息。2.1.2 快速傅里叶变换(FFT)离散傅里叶变换(DFT)是信号处理中最基本也是最常用的运算,它涉及到信号与系统的分析与综合这一广泛的信号处理领域。对N点序列x(n),其DFT变换对定义为: (2-1
41、)DFT之所以在各个学科领域获得广泛应用,其中一个非常重要原因是因为它存在有高效快速的算法-快速傅立叶变换,简称FFT。习惯上是指以1965年库利-图基(Cooley-Tukey)算法为基础的一类高效算法,它的出现和发展对推动信号的数字处理技术的变革和发展起到着重大作用,是数字信号处理发展史上的一个转折点,也可以称之为一个里程碑。1)FFT算法的基本思想已知N点有限长序列x(n)的DFT如式(2-1)所示,通常X(k)可以为复数,给定的数据x(n)可以是实数也可以是复数。DFT可以看作是以为加权系数的一组样点x(n)的线性组合。将式(2-1)中第一个式展开得: (2-2)可见上式中,每完成一个
42、频谱样点的计算,需要作N次复数乘法和(N-1)次复数加法。对整个X(k)序列的N个采样点的计算,就得作N2次复数乘法和(N-1)次复数加法。而且每一复乘又含有4次实乘和2个复加;每一复加又包含有2个实加。这对一个实际的信号长度来说,每当点较多时,这么大的数组,势必占用很长的计算时间。即使是目前运算速度很快的通用PC机,往往也难免失去实时性。可见,DFT虽然解决了利用计算机进行信号与系统的分析问题,但尚未解决实时性问题,因而直接计算DFT,在实际应用中有其局限性,为了提高速度,还有赖于提出高效的算法。DFT运算时间能否减少,关键在于实现DFT运算是否存在规律性以及如何利用这些潜在的规律。通过以下
43、对式(2-1)的分析,得知指数因子存在周期性,即式中下标N是为了强调以N为周期。由于=1 ( 2 4 )所以又称为对模N的N次单位根,称为离散傅里叶变换核。快速傅立叶变换的实现,在很大程度上取决于这个变换核周期性和基于下列关系而存在着许多可压缩的重复运算(冗余量),即 (2 - 5)因此,除具有周期性以外,还具有对称性,即 此外,由于DFT的复乘和复加的次数都是与N2成正比的,因此若把长序列分解为短序列,例如把N点DFT分解为2个N/2点DFT之和时,其结果使复乘次数减少到近似等于2 (N/2)2=N2/2,即为分解前的一半。由此可见,FFT的基本思想是把原始的N 点序列,依次分解成一系列短序
44、列。充分利用DFT计算式中指数因子WN所具有的对称性质和周期性质,进而求出这些短序列相应的DFT,并进行适当组合,最终达到删除重复计算、减少乘法运算和提高速度的目的。2)FFT算法的软件实现在各种离散傅立叶变换的应用中,其软件部分实现FFT运算的程序段是必不可少的,并且一般均作为一个主要的子程序调用。FFT算法程序的基本部分,现在一般已经是一个常规的程序。从早期的使用FORTRAN语言到现在的采用C(C+)语言编写的都能比较方便的找到,一些著名的应用软件如MATLAB、MATHMATICA等,把FFT()作为它们的一个内部函数,用一条语句直接调用即可完成运算。在LabVIEW中也提供了基本FF
45、T函数,但直接调用不会得到频谱,必须经过一系列变换才能得到幅频特性。其所采用FFT算法为按频率抽取基2FFT算法。这种算法要求输入的采样点必须是2的整数幂,如果不是2的整数幂,则自动转化为DFT运算。2.1.3 谐波分析理论谐波(harmonic)定义:谐波是指信号中所含有的频率为基波的整数倍的信号,一般是指对周期性的非正弦信号进行傅里叶级数分解,其余大于基波频率的电流产生的信号。产生的原因:一般电子电路中由于正弦电压加压于非线性负载,基波信号发生畸变产生谐波。有关谐波的数学分析在13世纪和19世纪就已奠定了良好的基础,傅立叶等人提出的谐波分析方法至今仍被广泛应用。本文信号分析中的谐波分析即是
46、基于傅里叶变换的谐波测量,下面介绍关于这一测量方式的基本理论。1)谐波分析原理周期为T角频率为n的周期函数f(t)可表示为:则任何一个满足狄里赫利条件的非正弦周期信号函数均可以分解为傅里叶级数,即:式中 =2/T,T为的周期。因此,非正弦波是由直流分量 A0、基波和一系列频率为基波频率整数倍的正弦波(谐波)构成。要对非正弦信号进行谐波分析,需要对信号采样并进行傅氏变换。为了便于分析,引入复指数因子 ejkwt,并且将 k 扩充到-,式 2-7 化为: 其中,上两式按瞬时值相加得从上式便可得第k次谐波,其幅值为,初相位为 。利用傅立叶积分变换可得:对进行每周波均匀采样N点时,将上式进行离散化处理得离散傅里叶形式式中,为的离散序列, = 为旋转因子。可以得出式2-12为离散化后的DFT分解,因此可以得出f(t)的第k次谐波的幅值为2|,相位为相位角加90度,另根据香农采样定律,一个周期信号的采样点数为N,仅能得到0N-1次频谱,而谐波只能得到0(N/