labview信号处理完美版
- 格式:doc
- 大小:1.75 MB
- 文档页数:31
在Labview下实现数字信号处理赵树忠;李书娜【摘要】LabVIEW在数字信号处理中有着重要的作用.信号生成、时域分析、频域分析和各种常用信号处理中的应用方法帮助解决数字信号处理的问题.通过例子介绍LabVIEW中各个模块及计算方法的使用以及如何对数字信号进行滤波处理分析,达到想要的效果.【期刊名称】《河北联合大学学报(自然科学版)》【年(卷),期】2017(039)003【总页数】5页(P88-92)【关键词】LabVIEW;数字信号处理;数字滤波【作者】赵树忠;李书娜【作者单位】华北理工大学机械工程学院,河北唐山 063210;华北理工大学机械工程学院,河北唐山 063210【正文语种】中文【中图分类】TN911.72LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国虚拟仪器NI(National Instrument)公司的图形化编程开发软件平台,能够实现信号的采集、处理、分析与显示等功能,是集开发、调试、运行于一体的具有强大功能的软件,其中VI(Virtual Instrument)是LabVIEW工作环境下开发出来的应用程序,分为子VI和多态VI,每个VI都是由前面板和后面板组成的,前面板是人机交互界面,而后面板相当于具有源代码功能的程序框图,每个模块都有其相对应的功能,可以直接应用,非常方便[1]。
本文阐述了如何利用LabVIEW对数字信号进行分析处理,通过相关的例子更好的掌握LabVIEW在数字信号处理中的应用。
数字信号处理是一种以计算方法解决问题的理论性手段[2]。
通过数字信号处理技术的应用来提高对数字信号处理技术的掌握,数字信号处理技术的应用离不开对各种数字信号的分析,主要包括信号的时域分析和频域分析等[3]。
一般在实际测试中,信号采集时往往会带有系统本身振动和外界干扰等产生的干扰信号,因此,在数字信号处理过程中对采集信号进行滤波处理是至关重要的,如果不采取相应的滤波处理,采集到的信号中会含有大量的高频信号,严重影响下一步的信号处理,对分析结果产生不利的影响。
LabVIEW的数据采集与信号处理摘要: 针对虚拟仪器技术具有性能高, 易于实现硬件和软件集成等特点, 将虚拟仪器技术和LabvIEW 应用于测试领域。
以计算机和NI 9201 数据采集卡为硬件, 以LabVIEW8. 6 软件作为开发平台, 构建了数据采集与信号处理的虚拟测试系统。
系统由信号源和信号处理模块组成。
关键词:虚拟仪器; LabVIEW; 数据采集; 信号处理虚拟仪器是指以通用计算机作为系统控制器, 由软件来实现人机交互和大部分仪器功能的一种计算机仪器系统。
NI 公司开发的LabVIEW 是目前最为成功的虚拟仪器软件之一, 它是一种基于G 语言的32 位编译型图形化编程语言, 其图形化界面可以方便地进行虚拟仪器的开发, 并在测试测量、数据采集、仪器控制、数字信号处理等领域得到了广泛的应用。
1虚拟仪器测试系统的结构以美国国家仪器公司N I 的LabV IEW8. 6 作为开发平台, 配合NI 公司的N I 9201 数据采集卡作为硬件实现该测试系统的设计。
该系统可实现单、双通道的模拟信号的采集、虚拟信号的产生, 同时完成对信号的分析与处理, 测试系统的核心是前端数据采集和后续信号处理。
虚拟仪器测试系统的结构框图如图1 所示。
图1 虚拟仪器测试系统的结构框图2 程序设计模块该测试系统体现了NI公司提出的软件即是仪器的思想, 以LabVIEW8.6为平台, 设计的虚拟仪器能够完成对数据采集卡采集的模拟信号进行分析与处理, 同时, 利用LabVIEW 的强大功能, 开发了虚拟信号发生器模块, 使得该虚拟仪器对仿真信号进行分析与处理。
也即该测试系统的信号源包括: 数据采集卡采集的模拟信号; 虚拟信号发生器模块产生的仿真信号。
据采集与信号处理系统的结构框图如图2 所示。
图2数据采集及信号处理系统的结构框图2. 1. 1 数据采集卡采集的模拟信号以NI 公司的NI 9201 数据采集卡作为硬件, 实现该数据采集系统的设计。
使用LabVIEW进行峰值检测和信号分析LabVIEW是一种基于图形化编程的工程开发环境,可用于各种测量、控制和测试应用。
在信号处理方面,LabVIEW提供了一系列强大的工具和函数,可以进行峰值检测和信号分析。
本文将介绍如何使用LabVIEW进行峰值检测和信号分析的相关步骤和方法。
1. 准备工作在开始之前,需要准备以下工作:- 安装LabVIEW软件,并确保已正确配置设备驱动程序。
- 连接信号源到计算机,例如通过数据采集卡或传感器。
- 打开LabVIEW软件,创建一个新的VI(虚拟仪器)。
2. 峰值检测峰值通常指信号中的最大值或最小值,对于许多应用来说,峰值检测是一项重要的任务。
在LabVIEW中,可以使用"Find Peak"或"Peak Detector"函数进行峰值检测。
2.1 "Find Peak"函数"Find Peak"函数是LabVIEW中常用的峰值检测函数之一。
它可以找到信号中的峰值,并返回峰值的索引和值。
以下是使用"Find Peak"函数进行峰值检测的步骤:- 在VI中拖动一个"Find Peak"函数图标。
- 将信号输入连接到"Find Peak"函数的输入端。
2.2 "Peak Detector"函数"Peak Detector"函数是另一个LabVIEW中的峰值检测函数。
与"Find Peak"函数类似,它也可以找到信号中的峰值,并返回峰值的索引和值。
以下是使用"Peak Detector"函数进行峰值检测的步骤:- 在VI中拖动一个"Peak Detector"函数图标。
- 将信号输入连接到"Peak Detector"函数的输入端。
利用LabVIEW进行信号处理与滤波的实践经验信号处理与滤波在许多科学与工程领域中扮演着重要角色,其应用范围包括通信系统、生物医学、图像处理等。
为了有效处理信号并滤除噪声,许多工程师和科学家选择使用LabVIEW软件进行实践。
本文将分享利用LabVIEW进行信号处理与滤波的实践经验,并提供一些技巧和建议。
一、信号处理与滤波的基本概念在开始介绍LabVIEW信号处理与滤波的实践经验之前,我们先来回顾一下信号处理与滤波的基本概念。
信号处理是指对信号进行获取、采样、分析、处理和还原的过程,目的是从原始信号中提取有用的信息。
而滤波则是信号处理的一个重要步骤,它可以通过去除噪声、增强信号等方式改善信号的质量。
二、LabVIEW的基本特点LabVIEW是一款功能强大的图形化编程环境,它以图形化的方式呈现程序结构,使得程序设计更加直观和易于理解。
LabVIEW具有以下几个基本特点:1. 虚拟仪器:LabVIEW支持以虚拟仪器的形式进行操作和模拟实验,可以方便地搭建各种测试平台和数据采集系统。
2. 图形化编程:LabVIEW使用图形化的编程语言G语言,用户可以通过将图标与线条连接来表示程序结构和数据流动,简化了程序设计的过程。
3. 多平台支持:LabVIEW可以在不同的操作系统上运行,包括Windows、Linux和Mac OS等,使得用户可以在不同平台下开展信号处理与滤波的工作。
三、使用LabVIEW进行信号处理与滤波的实践经验在使用LabVIEW进行信号处理与滤波时,以下几个方面需要注意:1. 信号采集:LabVIEW提供了丰富的信号采集函数和工具,可以方便地获取各种类型的信号数据,例如模拟信号、数字信号、音频信号等。
在进行信号采集时,需要根据实际需求选择合适的采集设备和参数设置。
2. 信号处理:LabVIEW中提供了多种信号处理函数和工具,可以对采集到的信号进行滤波、FFT变换、时频分析等操作。
在进行信号处理时,需要根据信号的特点选择合适的处理方法,并合理设置参数以达到预期的效果。
利用LabVIE W实现信号处理附件1莆田学院虚拟仪器实验室建设设备清单招标技术参数1.虚拟仪器仿真设计软件1、图形化用户界面开发提供丰富的图形控件,并采用图形化的编程方法,帮助教师/学生和科研人员从复杂枯涩的文本编程工作中解放出来,完成设计、原型和部署一系列应用。
2、内置多种函数和分析工具,可实时数据交互显示软件需包括专门为工程师和科学家创建的数以千计的高级分析函数,所有这些函数都附有详细的帮助文件和文档。
使用这些功能强大的工具可以执行先进的信号处理、频率分析、概率与统计、曲线拟合、插值、数字信号处理等等。
软件包含针对射频通信、机器视觉、嵌入式开发、声音和振动、瞬时和短持续时间信号分析的工具包等。
采用数百种内置图表、图形、温度计、2维和3维可视化工具,快速创建GUI,运行应用程序的同时,可视化实时数据并交互。
3、包含完成控制、嵌入式、信号处理、通信应用的模块和工具包控制设计与仿真模块;数字滤波器设计工具包;桌面执行跟踪工具包;Microsoft Offic报表生成工具包;因特网工具包;FPGA模块;Xilinx编译器10.1和11.5 ;触摸屏模块;Real-Time实时模块;PID控制和模糊逻辑工具包;仿真接口工具包;声音和振动测量套件;高级信号处理工具包;自适应滤波器工具包4、提供配置引导及范例程序,软件需包含常用功能函数和范例程序,节省使用者的开发时间。
交互式窗口和一步步地配置引导帮助完成编程,可以应用自定义的标量和工程单元。
对于最常见的测量任务,从简单的单信道测量到先进的定时,触发,以及多设备间的同步,软件需提供开放可运行的示例程序。
5、记录数据和生成报告,软件支持将数据写入存储设备和创建自定义报告,并可以快速地对测量数据进行定位,检测,分析。
6、内置编译器使语法错误能立即显示,内建的编译器在用户编写程序的同时就在后台自动完成了编译,因此用户在编写程序的过程中如果有语法错误,它会被立即显示出来。
利用LabVIEW实现信号处理摘要信号处理几乎涉及到所有的工程技术领域,而频谱分析正是信号处理中的一个非常重要的分析手段。
一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员携带。
而基于LabVIEW设计的虚拟频谱分析仪,用软件代替硬件,价格低,便于工程技术人员完成现场信号的采集、处理及频谱分析。
现今最有代表性的图形化编辑软件——LabVIEW,用之模拟从DAQ板卡中采集到一路带有均匀白噪声的正弦信号,显示其波形,并分析、显示其幅频特性曲线以及相频特性曲线。
另外本文还根据LabVIEW中的子程序,实现了语音信号的录音与播放。
关键词虚拟仪器数据采集总线LabVIEW1.1 LabVIEW简介LabVIEW (laboratory virtual instrument engineering wokbench——实验室虚拟仪器工程平台)的概念,是直观的前面板与流程图式的编程方法的结合,是构建虚拟仪器的理想工具。
LabVIEW和仪器系统的数据采集、分析、显示部分一起协调工作, 是简化了而又更易于使用的基于图形化编程语言G的开发环境。
LabVIEW集成了很多仪器硬件库,如GPIB/VXI/PXI/基于计算机的仪器、RS232/485协议、插入式数据采集、模拟/数字/计数器I/O、信号调理、分布式数据采集、图像获取和机器视觉、运动控制、PLC/数据日志等。
与传统的编程方式相比,使用LabVIEW设计虚拟仪器,可以提高效率4~10倍。
同时,利用其模块化和递归方式,用户可以在很短的时间内构建、设计和更改自己的虚拟仪器系统。
1.2用LabVIEW设计虚拟仪器的步骤LabVIEW编程一般要经过以下几个步骤。
1、总体设计:根据用户需求,进行VI总体结构设计,确定面板布局与程序流程,并保证所使用的虚拟仪器硬件在LabVIEW函数库中有相应的驱动程序。
2、前面板设计:在LabVIEW的前面板编辑窗口内,利用工具模板和控件模板进行VI 前面板的设计。
第一章系统开发平台1.1硬件平台硬件平台是虚拟仪器的物理基础,所以为了完成虚拟仪器的设计,首先必须要选择合适的硬件平台。
本文设计的系统,硬件平台主要由两部分组成:数据采集卡(DAQ)、PC机。
硬件平台的结构如图1-1所示。
图1-1 硬件结构平台1.1.1数据采集卡的选取由于计算机所能识别的信号是数字信号,振动、温度、湿度等信号经过传感器和放大器可以输出为模拟电信号,必须经过离散化和数字化才能被计算机所识别,数据采集卡就是实现这一转换功能,为整个后续对信号处理中起到了乘前启后的关键作用。
一般常用的数据采集卡(DAQ)的结构如图1-2 所示。
图1-2(a)共用一个A/D图1-2(b)多个A/D一般数据采集设备的两个主要指标:1.采样率对数据采集设备来说,采样率是A/D芯片转换的速率,不同的设备具有不同的采样率,进行测试系统设计时应该根据测试信号的类型选择适当的采样率,盲目提高采样率,会增加测试系统的成本。
2.分辨率分辨率是数据采集设备的精度指标,用A/D转换的数字位数表示。
如果把数据采集设备的分辨率看作尺子上的刻度,同样长度的尺子上刻度线越多,测量就越精确。
同样的,数据采集设备A/D转换的位数越多,把模拟信号划分得就越细,可以检测到的信号变化量也就越小。
在图1-3所示中用一3位的A/D转换芯片去转换振幅为5V的正弦信号,它将峰—峰为10V的电压分成32=8段,则每次采样的模拟信号转换为其中的一个数字段,用000~111之间的码来表示。
而用它得到正弦波的数字图象是非常粗糙的。
若改用16位的A/D转换芯片,则将10V电压2=65536段,经过A/D转换之后的数字图象是相当精细,完全能反映出原分成16始的模拟信号。
图1-3 A/D芯片的位数对反映原始信号的影响目前工程上常用的数据采集卡分辨率为12位,可以满足一般应用的要求。
对于有较高要求的场合,可以使用16位或24位的数据采集卡。
可是,选择高分辨率的数据采集卡无疑是增加了测试成本,但可以通过对A/D 芯片位数的充分利用可以在不增加投资的情况下达到预期的要求。
合理使用数据采集卡的途径有两个:1. 合理设置设备的量程范围设备的量程范围是A/D 芯片可以数字量化的最大和最小模拟信号的电压值。
数据采集卡的性能指标给出的分辨率是满量程状态时的参数。
如果实际上被测信号的电压幅值达不到满量程的范围,可以通过设置使设备的实际量程范围与模拟信号的电压范围相匹配,这样就充分利用了设备现有的分辨率。
2. 合理进行信号极限设置并不是永远能够通过设备的范围的设置来充分利用A/D 芯片的分辨率。
有些设备的范围不允许用户设置,还有时同时监测几个信号,它们的电压范围差别非常大。
在设备无能为力的时候,通过信号的极限设置能很好地解决问题。
信号的极限设置实际上就是单独确定每一个通道被检测的模拟信号的最大值和最小值,而且合理的极限设置可以让A/D 转换时更多地划分信号,使数字图象能完好地反映出原始信号。
但是设置过低的极限是没有意义的。
下面给出一个公式用于计算数据采集设备可检测到的输入模拟信号最小变化量。
2分辨率设置被测信号极限值代码宽度= 在实际测量中,我们经常需要同时对多个信号进行采集,这时可以采用多通道的数据采集卡来实现。
多通道的数据采集卡通常有两种方案:(1)共用一个A/D 转换器的模拟多路开关,如图1-2(a )所示;(2)多个独立A/D 转换器的数字多路开关,如图1-2(b )所示。
这两种方式各有其优缺点:(1)共用一个A/D 转换器的模拟多路开关的优点是成本低、结构简单,但各通道间有时间差,采样频率低一些;(2)多个独立A/D 转换器的数字多路开关的优点是采样频率高,各通道可以同时采集与转换,各通道间没有时间差,但是成本比较高。
本论文是采用了第一种方案,即模拟通道共用一个A/D 。
数据采集卡的主要任务是把模拟信号转换成数字信号,形成计算机能够处理的数组。
数据采集卡与计算机的接口方式直接影响着数据传输的速度,所以在选取数据采集卡的时候要充分考虑接口方式对整个虚拟仪器的影响。
目前,PC 机与数据采集部分的连接,除了利用PC 机内各种总线的插卡外,多采用并口及串口方式。
但是,串口方式速度太慢;并口方式较快,但不足之处是在中断方式时,优先级较低,将影响系统的实时和在线采集性能,且采集卡和打印机不能同时使用。
而最近几年迅速发展起来的USB 接口方式克服了串、并口采集方式的上述缺点,并且目前的计算机已将USB 作为标准配置,且大部分计算机有不止一个USB 接口,不会影响计算机其他USB 接口部件的使用。
正是因为USB 接口具有其他接口形式无法比拟的优势,所以选择DAQ 时,本论文采用了北京迪阳公司的U18型数据采集卡,硬件结构如图1-3所示,它采用了ADS774模数转换芯片,优点是解决了采样频率低的缺点。
U18型数据采集卡的性能和技术指标如下:(1) 模拟信号输入部分● 模拟输入电压范围:51010V V V ±±+ 、、0; ● 模拟通道输入数:16路单端/8路双端;● 模拟输入阻抗:100M Ω;● 模拟输入共模电压范围:2V >±;(2) A/D 转换电路部分● A/D 分辨率:12Bit (4096);● 非线性误差:1LSB ±(最大);● 转换时间:10s μ;● 系统测试精度:0.1%;(3) D/A 转换电路部分● 输出通道数:4路;● 模拟输出电压范围:05010510V V V V ±± 、、、; ● D/A 分辨率:12Bit (4096);● 非线性误差:1LSB ±(最大);● D/A 输出精度(满量程):1LSB ±;● 建立时间:10s μ(0.01%精度);● 输出阻抗:0.2Ω(4) 开关量输入输出部分● 16路数字量输入;● 16路数字量输出;● 数字端口满足标准TTL 电气特性;● 数字量输入最低的高电平/最高的低电平:2V/0.8V● 数字量输出最低的高电平/最高的低电平:3.4V/0.5V图1-3 U18型数据采集卡原理结构框图在Windows环境下将U18数据采集卡插入到计算机的USB接口中,利用计算机提示的安装向导,然后指到北京迪阳科技公司提供的该卡的硬件驱动程序并安装。
等安装驱动完毕后,系统会提示“找到新硬件,可以使用”。
这时说明USB 设备已经安装成功,用户可以对U18数据采集卡进行使用了。
1.1.2PC机的选取硬件平台的核心是计算机,计算机的合理选择直接影响着整个仪器系统的性能。
计算机技术日新月异的发展,使得计算机的性能不断提高。
所以在PC机的选用中一般可以使用台式计算机,但如果考虑到工程现场测试的需求,仪器系统的计算机即要有高的运算速度,又要易于携带、便于使用,可以使用笔记本式计算机。
本论文选用的是台式计算机。
1.2软件平台虚拟仪器的开发必须基于一定的软件开发平台,经过广泛调研,考察、比较各种虚拟仪器软件开发平台(Visual C++ , Visual Basic ,Delphi , C++ Builder)的优缺点,本论文最终采用了美国NI(National Instrument)公司开发的面向仪器与测控过程的图形化开发平台——LabVIEW 7.1作为软件开发环境,如图1-4所示。
图1-4 LabVIEW 7.1软件环境1.2.1LabVIEW软件介绍LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台)是美国NI 公司(National Instrument Company,简称NI 公司)推出的一种基于G 语言(Graphics Language,图形化编程语言)的虚拟仪器开发软件。
LabVIEW 具有多个图形化的操作模板,用于创建和运行程序。
这些操作模板可以在屏幕上随意移动,并可以在屏幕的任一位置放置。
操纵模板共有三类,为工具(Tools)模板、控制(Controls)模板和功能(Functions)模板,如图1-5所示。
图1-5 分别为工具、控制和功能三类模板使用LabVIEW 软件编制的程序称为虚拟仪器程序,简称VI。
VI 包括三个部分:程序前面板、框图程序和图标/连接器。
程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。
在程序前面板上,输入量称为控制(Controls),输出量被称为显示( Indicators)。
控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表等,这使得前面板直观易懂。
1.2.2LabVIEW软件开发过程介绍下面通过建立一个模拟温度测量的VI例子来说明如何使用LabVIEW 软件创建一个VI。
假设传感器输出电压与温度成正比。
例如,当温度为70°时,传感器输出电压为0.7V。
本程序也可以用摄氏温度来代替华氏温度显示。
本程序用软件代替了DAQ数据采集卡。
使用Demo Read V oltage子程序来仿真电压测量,然后把所测得的电压值转换成摄氏或华氏温度读数。
步骤如下:前面板:图1-6 模拟温度测量前面板1.用File菜单的New选项打开一个新的前面板窗口。
2.把温度计指示部件放入前面板窗口。
a.在前面板窗口的空白处点击鼠标键,然后从弹出的Numeric子模板中选择Thermometer。
b.在高亮的文本框中输入“温度计”,再点击鼠标键按钮。
3.重新设定温度计的标尺范围为0.0到100.0。
使用标签工具A,双击温度计标尺的10.0,输入100.0,再点击鼠标键或者工具栏中的V按钮。
4.在前面板窗口中放入竖直开关控制。
a.在面板窗口的空白处点击鼠标键,然后弹出的Boolean子模板中选择Vertical Switch,在文本框中输入“温度值单位”,再点击鼠标键或者工具栏中的V按钮。
b.使用标签工具A,在开关的“条件真”(true)位置旁边输入自由标签“摄氏”,再在“条件假”(false)位置旁边输入自由标签“华氏”。
框图程序:图1-7 模拟温度测量后面板1.从Windows菜单下选择Show Diagram功能打开框图程序窗口。
2.点击框图程序窗口的空白处,弹出功能模板,从弹出的菜单中选择所需的对象。
本程序用到下面的对象:Demo Read V oltage VI程序(Tutorial子模板)。
在本例中,该程序模拟从DAQ卡的0通道读取电压值。
Multiply(乘法)功能(Numeric子模板)。
在本例中,将读取电压值乘以100.00,以获得华氏温度。
Subtract(减法)功能(Numeric子模板)。
在本例中,从华氏温度中减去32.0,以转换成摄氏温度。