1、第7章 数据的分析及处理 数据的分析处理是指在LabVIEW中对数据进行种类及大小的分解、计算等操作。对采集的信号进行分析处理,可以使数据整齐、有规律,更加准确。数据的分析处理为以后的操作提供保障。在第6章中,数据从下位采集,经过传输,送到上位主机。本章主要是对上位机接收到的数据进行分析处理。这是本章的重点,也是整个系统关键。7.1 数据分析概述 目前,在LabVIEW中进行实时分析、高速浮点运算和数字信号处理已经变得越来越重要。任何采集到的数据,送到上位计算机后,都要对其进行数据分析和处理,为后面的环节使用做准备。这也是测试技术工作的重要组成部分。通常对数据的分析是在时间和频率中,并通过后面
2、的编程使数据和波形显示出来。LabVIEW提供了大量的数据分析处理模块及函数,来完成如下两项。1测量任务 2分析的特征7.2 Labview中信号的分析方法 Labview中对信号的分析方法有多种。主要的分析是对数据进行时域到频域的转换。例如,计算幅频特性和相频特性、功率谱、网路的传递函数等。另一些测量VI可以对时域窗和对功率频率进行估算。7.3 滤波方法及编程 在Labview中,波形的分析及处理是最常见的。波形的分析处理主要是对采集到的信号进行滤波,这样也是软件防干扰的一种。在滤去干扰波后,假如需要,还要对波形进行变形,以方便以后的使用或观测。7.3.1 滤波原理及前面板 算术平均滤波的原
3、理是连续对N个采样值进行算术求和,再求其平均值。算术平均滤波适用于对一般具有随机干扰的信号进行滤波。这样信号的特点是围绕着一个算术平均值,在某一范围附近作上下波动。下面就从原理入手,进行编程。NiiyNy117.3.2 For循环设置 For循环是在特定的循环次数下进行重复运算的控件。主要由循环框架、计数端口、循环端口组成。在算术平均滤波中是用来进行N个数的求和。7.3.3 添加组件 添加组件就是按需要添加一些必要的运算组件。在算术平均滤波中,只有For循环是不行的,还要在循环中对数据进行求和操作,所以还要添加相关的组件和连接,具体如下:7.3.4 整体完善 整体完善就是在编程的最后阶段,对系
4、统进行一些更完备的设置。以上只完成了对N个采集数的相加,算术平均滤波中还要对相加的值计算平均值。所以还要加一个求平均值的控件。7.3.5 系统工具调用 在安装LabVIEW时,系统会自动安装一些常用的工具包,编程过程中可以直接调用。这样也省去了编程的许多的麻烦。下面以调用信号处理中的贝塞尔滤波器为例讲解编程过程。7.3.6 其他滤波方法 上面对算术平均滤波的原理及编程进行了详解,下面对其他几类常用的滤波原理进行讲解。大体编程和算术平均滤波相差不大,可以按以上方法编程。1限幅滤波法(又称程序判断滤波法)7.3.6 其他滤波方法 2去极值平均滤波7.3.6 其他滤波方法 3中值滤波 4中值滤波、递
5、推平均滤波 5加权递推平均滤波、中值滤波、递推平均滤波7.4 信号的频域分析 信号的频域分析是对信号按频率进行分析。这样分析的好处是对信号可以进行频率的分解,得到不现频率下的量值。频率分析的关键是对数据进行相关变换。下面就对频域分析中常用的几种方法进行讲解。7.4.1 傅立叶变换 傅立叶变换是一种非常有用的数学分析方法,它能够对一定范围内的数据进行变换,可以进行各类计算及计算机的运算。一般有离散傅立叶和快速傅立叶变换两种。1离散傅立叶变换(DFT)2快速傅立叶变换(FFT)7.4.2 谱分析 谱分析是用于在频谱上执行数组的相关分析。它主要是生成一些图形谱,形象直观地表现出来。其中最见是功率谱的
6、分析和应用。它包含有许多函数,如图7.24所示。7.4.3 拉普拉斯变换分析 拉普拉斯变换分析是工程数学中常用的积分变换之一。它是把信号从时域上转换为复频域的一种有效算法。实数信号x(s)的实数拉普拉斯变换定义为7.5 信号的时域分析 信号的时域分析就是在时间域下对信号进行变换、缩放、微分、积分等各类分析运算。时域分析的最大好处是能对信号按不同时间段分析,得出最佳需要的状态。7.5.1 相关性分析 相关性是两个事物过两个量之间的联系,在正常测量中常表示两种的特征的关联程度。运算公式如下:相关性分析函数位于“函数”|“信号处理”|“信号运算”|“自相关”命令打开,如图5.31所示。Tdttxtx
7、TRxx0)()(1lim)(7.5.2 卷积分析 卷积运算是线性系统中进行时域分析有效方法之一。它可以计算出线性系统中对任何一个激励源的零状态响应。它的表达式如下:dthxty)()()(7.5.3 幅值及电平分析 幅值和电平分析返回波形或波形数组的幅值、高状态电平和低状态电平。连接至信号输入端的数据类型决定了所使用的多态实例。其端口接线如图7.36所示。7.5.4 谐波失真分析 谐波失真分析是输入一个信号,进行完全谐波分析,包括测量基频和谐波,并返回基频、所有谐波幅值电平,以及总谐波失真(THD)。其端口接线如图7.39所示。7.6波形生成 波形生成是用于一些信号处理或仿真时产生相关的信号
8、。这主要用在一些场合中对某一信号进行拟合,或大小比较,在程序内部产生一个波形。它能生成各种类型的单频和混合单频信号、函数发生器信号及噪声信号。7.6.1 波形生成介绍 波形生成VI用于生成各种类型的单频和混合单频信号、函数发生器信号及噪声信号。它的函数如图7.42所示。7.6.2 周期性随机噪声波形 周期性随机噪声波形生成一个包含周期性随机噪声(PRN)的波形。其端口如图7.43所示。7.6.3 公式波形 公式波形VI是用公式字符串指定要使用的时间函数,创建一个输出波形。VI端口如图7.46所示。7.6.4 仿真信号 仿真信号是模拟正弦波、方波、三角波、锯齿波和噪声等波形的一个函数。在后面板程
9、序框图上放置仿真信号后,会自动弹出一个波形设置对话框,可以完成对波形种类、频率、相位等设置。7.7 小结 本章对数值分析方法进行了详细说明。这时本章的重点,也是本书的重点。同时对数学分析中编程方法进行了具体的编程说明。数据分析中的波形分析是常用的处理方法又是难点,这里作了重点讲解。在有些的测量过程中得到的数值不能直接用于处理,还要进行信号转换。所以这里对信号变化也做了讲解。为以后处理各类信号提供了基础。下面接着将对LabVIEW的信号调理进行说明。7.8 练习题 1信号分析在数据处理中占怎样的地位,重要吗?2Labviw中有几种信号分析方法?3试着用公式节点编写一个关于算术滤波的程序(也可以是其他滤波方法)。4怎样生成一个任意波形发生器?要求在前面板可以对其波形种类、频率、幅值等相关信息可以进行调节。5信号运算中卷积有什么作用?怎样在各行业中应用?6什么是谐波失真分析?编程中有什么技巧?7公式波形编程中,怎样编写自己想要的公式,显示出来,并进行运算?8编写一个示波器,要求它能够显示出多种想要的波形。同时可以调节多个参数,让用户在输入时有一个波形预览。