LabVIEW提取正弦波(DOC)

合集下载

LabVIEW中的波形数据

LabVIEW中的波形数据

LabVIEW中的波形数据与其他基于文本模式的编程语言不同,在LabVIEW中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。

但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。

这一节将主要介绍创建波形数据以及处理波形数据的方法。

1 波形数据的创建LabVIEW中的波形数据既可以由一些用于产生波形的函数、VIs以及Express VIs生成,也可以由数据采集函数从数据采集卡中采集数据而得到。

下面主要介绍用函数、VIs以及Express VIs生成波形数据的方法。

在LabVIEW中,与创建波形数据相关的函数、VIs以及Express VIs主要位于函数选板中的波形(Waveform)子选板以及信号处理(Signal Processing)子选板中,两个选板分别如图6-19以及图6-20所示。

图6-19 波形子选板图6-20 信号处理子选板下面介绍一些常用的用于产生波形数据的函数、VIs以及Express VIs的使用方法。

1.基本函数发生器函数(Basic Function Generation.vi)基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。

图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。

程序的后面板如图6-22所示。

图6-21 基本函数发生器函数演示程序的前面板图6-22 基本函数发生器函数演示程序的后面板2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi)调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。

基于LabVIEW的正弦信号频率与相位测量

基于LabVIEW的正弦信号频率与相位测量

基于LabVIEW 的正弦信号频率与相位测量1. 前言信号频率与相位的测量具有重要的实际意义。

本文调研了频率与相位的多种测量算法,并借助LabVIEW 编程实现。

在此基础上,对各种算法进行了比较研究,且提出了行之有效的改进措施。

2. 采样定理与误差分析2.1 采样定理时域信号()f t 的频谱若只占据有限频率区间m m ωω(-,),则信号可以用等间隔的采样值唯一表示,而最低采样频率为m 2f 。

采样定理表明:信号最大变化速度决定了信号所包含的最高频率分量,要使采样信号能够不失真地反映原信号,必须满足在最高频率分量的一个周期内至少采样两个点。

2.2 误差分析对连续周期信号()a x t 进行采样得离散序列()d x n ,如果满足采样定理,则离散序列()d x n 的傅里叶级数()dg X k 是连续信号()a x t 的傅里叶级数1()ag X k ω的周期延拓,否则会出现两种形式的误差。

2.2.1 泄漏误差在连续信号()a x t 一个周期1T 内采样1N 个点,如果正好满足11s N T T =(s T 为采样间隔),则是完整周期采样,采样结果()d x n 仍为周期序列,周期为1N 。

基于()d x n 一个周期1N 个点计算离散傅里叶级数()dg X k ,由()dg X k 可以准确得到连续信号()a x t 的傅里叶级数1()ag X k ω。

如果在连续信号()a x t 的M 个周期时间内采样整数1N 个点,即11s N T MT =,也是完整周期采样。

在此情况下,采样结果()d x n 仍为周期序列,周期为1N ,但()d x n 的一个周期对应于()a x t 的M 个周期,由离散序列()d x n 仍然可以准确得到连续信号()a x t 的频谱。

如果以上两种情况都不满足,则为不完整周期抽样,()d x n 也不再是周期序列。

如果取()d x n 近似周期的1N 个点计算傅立叶级数,则产生误差,此误差称为泄漏误差。

Labview―正弦信号发生及其频率和相位测量

Labview―正弦信号发生及其频率和相位测量
谐波成分等;
(2具有频率计和相位的功能,可以对波形发生器生成的信号或硬件采集到的信号
进行频率测量和相位差测量;
(3波形发生器生成的信号可以通过与微计算机相连接的硬件电路的模拟输出端输
出;虚拟仪器可以接收硬件电路模拟输入端采集的信号以便进行分析。
注意事项:
(1可先仿真研究频率和相位的测量算法,然后再做实初始化模块
初始化模块主要对程序中需要初始化的部分进行初始化,同时它还可以在采样频率等输入信息缺失时,设置其为默认值。此处采样频率默认值为6800Hz,采样点数默认值为680。
图11程序初始化框图
5软件仿真
5.1波形发生
例如:若设置采样率为4000Hz,采样点数设为2000(即每次采集0.5秒的数据;基波幅值设为1V,频率5Hz,基波相位差为90度;叠加均匀白噪声的幅值为0.1V;叠加3次谐波的占有率2为0.2。(该设置后成为事例1则波形设置和输出的波形如下:
在以上事例的设置条件下,谐波分析的结果如下:
图16谐波分析结果(事例1
观察发现,信号中主要含有的谐波次数较低,可将分析的最高谐波频率设定为100Hz。分析结果如下:
图17谐波分析结果(事例1
由上图可已看出谐波分析结果:基波幅值为1V(设定值为1V,3次谐波幅值为0.195V (设定0.2V,五次谐波幅值为0.099V(设定0.1V,还有极少量的其他次谐波(主要受噪声影响。可见谐波分析结果的误差较小,测量精确较高。
1谐波总失真即各次谐波幅值的方均根与基波幅值平方的比值的开方。
图5基波分析和谐波分析前面板设计
图6频谱测量前面板设计
运算处理模块的程序框图主要分两部分,即相位差运算和基波频率运算。此处相位差运算采用相关法进行运算,基波频率运算采用基于谐波分析的算法进行运算。运算处理模块的程序框图如下:

(完整word版)基于LabVIEW的正弦信号频率与相位测量

(完整word版)基于LabVIEW的正弦信号频率与相位测量

基于LabVIEW 的正弦信号频率与相位测量1. 前言信号频率与相位的测量具有重要的实际意义。

本文调研了频率与相位的多种测量算法,并借助LabVIEW 编程实现。

在此基础上,对各种算法进行了比较研究,且提出了行之有效的改进措施。

2. 采样定理与误差分析2.1 采样定理时域信号()f t 的频谱若只占据有限频率区间m m ωω(-,),则信号可以用等间隔的采样值唯一表示,而最低采样频率为m 2f 。

采样定理表明:信号最大变化速度决定了信号所包含的最高频率分量,要使采样信号能够不失真地反映原信号,必须满足在最高频率分量的一个周期内至少采样两个点。

2.2 误差分析对连续周期信号()a x t 进行采样得离散序列()d x n ,如果满足采样定理,则离散序列()d x n 的傅里叶级数()dg X k 是连续信号()a x t 的傅里叶级数1()ag X k ω的周期延拓,否则会出现两种形式的误差。

2.2.1 泄漏误差在连续信号()a x t 一个周期1T 内采样1N 个点,如果正好满足11s N T T =(s T 为采样间隔),则是完整周期采样,采样结果()d x n 仍为周期序列,周期为1N 。

基于()d x n 一个周期1N 个点计算离散傅里叶级数()dg X k ,由()dg X k 可以准确得到连续信号()a x t 的傅里叶级数1()ag X k ω。

如果在连续信号()a x t 的M 个周期时间内采样整数1N 个点,即11s N T MT =,也是完整周期采样。

在此情况下,采样结果()d x n 仍为周期序列,周期为1N ,但()d x n 的一个周期对应于()a x t 的M 个周期,由离散序列()d x n 仍然可以准确得到连续信号()a x t 的频谱。

如果以上两种情况都不满足,则为不完整周期抽样,()d x n 也不再是周期序列。

如果取()d x n 近似周期的1N 个点计算傅立叶级数,则产生误差,此误差称为泄漏误差。

LabVIEWDAQ助手数据采集教程.docx

LabVIEWDAQ助手数据采集教程.docx

信号输入(数据采集)信号输入部分可以借助DAQ助手来实现,也可以使用DAQ通道来实现。

在NI-DAQmX 中,任务是包括一条或多条通道以及定时、触发等属性的集合。

从概念上来说,任务就是要进行的测量或生成。

例如,测量DAQ设备一条或多条通道的温度就是一个任务。

在创建DAQ任务前,我们首先得初始化设备。

初始化设备要用到MeSUrement&AutOmention Explorer (如图5.1所示为它的启动界面)。

按照下述步骤初始化设备。

¾7r NAΓ IONALMeaSUrenlent & AUtDmatiOn EXPIOrer图5.11. 打开MeSUrement&AUtOmention Explorer。

2. 在“配置”栏-“设备与接口”上单击鼠标右键,选择“新建,,”会出现如图5.2所示界面:图5.2由于没有硬件,这里用仿真设备,这里我们就选择“NI-DAQ仿真设备”,点“完成”后会出现如图5.3界面。

图5.33. 点击“ E系列DAQ ”前面的“ +”,展开栏目后如图5.4所示:图5.4这里我们选择“ NI PCI-6071E”,点击“确定”后出现下图所示界面。

很容易发现,界面左边“配置” -“NI-DAQ设备”下多了一个“ NI PCI-6071E”,单击它, 右边的界面中出现它的配置参数,如图 5.5所示。

图5.5经过以上步骤的设置,设备设备初始化完毕。

接下来我们就可以创建NI-DAQmX 任务了。

3.3.1.1 创建NI-DAQmX 任务按照下列步骤,可以创建并配置一个从DAQ设备读取电压的任务。

方案1:利用DAQ助手1. 打开一个新建的空白Vl。

2. 在程序框图中,打开函数选板并选择Express?输入,显示输入选板。

3. 选择输入选板上的“ DAQ助手” EXPreSS VI,如左图所示。

将该EXPreSS VI 放置到程序框图上。

打开DAQ助手,显示新建EXPreSS任务对话框。

LabView数据采集教程文件

LabView数据采集教程文件

第一节概述LabVIEW的数据采集(Data Acquisition )程序库包括了许多NI公司数据采集(DAQ 卡的驱动控制程序。

通常,一块卡可以完成多种功能-模/ 数转换,数/ 模转换,数字量输入/ 输出,以及计数器/ 定时器操作等。

用户在使用之前必须DAQ#的硬件进行配置。

这些控制程序用到了许多低层的DAQ驱动程序。

本课程需要一块安装好的DAC卡以及LabVIEW开发系统。

数据采集系统的组成:DAC系统的基本任务是物理信号的产生或测量。

但是要使计算机系统能够测量物理信号,必须要使用传感器把物理信号转换成电信号(电压或者电流信号)。

有时不能把被测信号直接连接到DAC卡,而必须使用信号调理辅助电路,先将信号进行一定的处理。

总之,数据采集是借助软件来控制整个DAC系统-包括采集原始数据、分析数据、给出结果等。

上图中描述了插入式DAQ卡。

另一种方式是外接式DAC系统。

这样,就不需要在计算机内部插槽中插入板卡,这时,计算机与DAQ系统之间的通讯可以采用各种不同的总线,如USB并行口或者PCMCIA等完成。

这种结构适用于远程数据采集和控制系统。

模拟输入:当采用DAC卡测量模拟信号时,必须考虑下列因素:输入模式(单端输入或者差分输入)、分辨率、输入范围、采样速率,精度和噪声等。

单端输入以一个共同接地点为参考点。

这种方式适用于输入信号为高电平(大于一伏),信号源与采集端之间的距离较短(小于15英尺),并且所有输入信号有一个公共接地端。

如果不能满足上述条件,则需要使用差分输入。

差分输入方式下,每个输入可以有不同的接地参考点并且,由于消除了共模噪声的误差,所以差分输入的精度较高。

输入范围是指ADC能够量化处理的最大、最小输入电压值。

DAQ卡提供了可选择的输入范围,它与分辨率、增益等配合,以获得最佳的测量精度。

分辨率是模/数转换所使用的数字位数。

分辩率越高,输入信号的细分程度就越高,能够识别的信号变化量就越小。

labview图形化显示实验实验报告

labview图形化显示实验实验报告

图形化显示实验一、实验目的1.建立图形数据显示系统,显示与观测数据变化;2.掌握图形控件及其控制函数的使用。

二、实验内容项目1.使用图形控件显示正弦波与余弦波;项目2.三维图形的显示。

三、实验步骤3.1项目1(1).分别建立正弦波、余弦波数组数据(a)正弦波数据(b)余弦波数据图1 正弦波与余弦波数据(2).设置起始坐标与步长,正弦波起始坐标为(1000,0),步长为10,余弦波起始坐标为(1500,0),步长为20。

程序如图2(a)、(b)所示,波形显示如图2(c)、(d)所示。

(a) 正弦波程序(b) 余弦波程序(c) 正弦波显示(d) 余弦波显示图 2 正弦波与余弦波显示(3)正弦波、余弦波两个波形在同一坐标显示,程序框图如图3所示,前面板图形如图4所示。

图3 双波形显示程序图 4 双波形显示(4).要求:对以上程序进行修改,添加注释、游标、将图形放大,如图所示图 5 修改后的图形显示3.2项目2(1)建立三维显示的正旋波图形,X数组为{0,100},Y数组为{-1,1},Z的数组为{100,200},如下图所示。

图 6 获取三维显示的数据(2)三维数组显示数据与图形如图7所示(a) 三维显示数据(b) 三维显示图形图7 三维显示(3)要求:画出以下三维图图8 要求画出的图形四、实验要求1.认真做实验,注意老师提出的额外的修改程序要求(黑体字部分);2.写出“程序修改”的工作思路、步骤(可用框图表示);3.写出调试程序中出现的问题,并指出如何解决;4.写出实验报告。

五、思考题1.图4中,正弦函数和余弦函数的周期为多少?如何计算?2.图4中,正弦函数和余弦函数的数学表达式为多少?为什么?。

LabVIEW软件实验指导

LabVIEW软件实验指导

LabVIEW软件实验指导一、利用软件完成正弦函数波形,可设定幅值、周期等参数,波形采用图形化显示,数据保存到文本文件中实验提示:1)在前面板中创建两个输入控件,分别用来设定正弦波的幅值和频率;2)在前面板中创建一个波形图显示控件,用来显示正弦波波形;3)在程序框图中的函数选板(或右键点击空白处)中,选择可以产生正弦波形的函数。

方法一:函数选板\编程\波形\模拟波形\波形生成,里面的基本函数发生器、正弦波形、函数波形,都可以用来产生正弦波信号。

方法二:函数选板\Express\输入\仿真信号,该Express VI可以生成一些常用的基本波形,通过外部给定参数或进入其属性可以设置信号的各项参数;4)产生的波形信号可以通过函数选板\编程\文件I/O,或函数选板\编程\波形\波形文件I/O,或函数选板\Express\输出\写入测量文件里的函数保存下来。

不同的函数,不同的设置,保存后的文件形式可以是多样的;5)要让波形连续产生并保存,需要将之前绘制好的程序用while循环包括起来。

为了避免每次循环保存文件时弹出询问对话框或覆盖已有的波形信号,最好事先设定好保存路径,并将保存形式设定为“添加至文件”;6)为了避免CPU全速运行循环体而占用大量资源,可以在循环体内添加等待函数(函数选板\定时\等待(ms))让程序在每次执行循环时等待一定时间;7)如果对某个控件的功能和接线端不清楚,请务必通过即时帮助或更详尽的LabVIEW帮助获取相关信息。

二、利用软件完成三角波函数波形,可设定幅值、周期等参数,波形采用图形化显示,数据保存到文本文件中实验提示可参照实验一三、利用软件完成脉冲函数波形,可设定幅值、周期、占空比等参数,波形采用图形化显示,数据保存到文本文件中实验提示可参照实验一四、利用软件完成1至100的奇数判断,输入数据,显示分析结果实验提示:1)程序中可以使用循环体结构和条件结构实现算法;2)1~100的依次判断可以通过for循环实现,与C语言中的for循环不同的是,LabVIEW中的for循环需要指定循环次数N,并且当前循环数i是从0~N-1逐次加1的,因此编程时可能需要对这两个数值进行一些处理;3)判别K是否是奇数的一种比较基本的方法是:用2去除K,若余数不为0,则表明是奇数,否则是偶数。

LabVIEW的数据采集与信号处理.doc

LabVIEW的数据采集与信号处理.doc

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正弦信号拟合母德强谢新旺郗元(长春工业大学机电工程学院, 吉林长春130012)摘要:本文介绍了一种拟合正弦信号的程序,此程序是基于Labview编写的,利用最小二乘法对数据进行处理 ,可以得到正弦信号的幅值、角频率和初相角。

从仿真结果看,该程序具有拟合精度高,处理速度快等优点。

关键字:正弦信号 LabVIEW 最小二乘法0 引言任何复杂信号,都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的迭加[1]。

因此正弦信号常常出现在工程测试中,精确获得正弦信号的信息显得尤为重要。

LabVIEW是一款广泛应用于测试和测量系统的图形化编程语言软件,用户只需简单地调用几个工具包中的函数,就可组成一个完整的测试测量应用程序。

1、数据采集系统现在的数据采集系统一般都是由传感器将被测量转换为电信号,再通过整形电路对其进行进一步处理,最后经采集卡进入计算机。

其系统组成如下图所示[2]图一、数据采集系统的组成2、总体方案与程序算法本文使用最小二乘法对所测数据进行处理。

具体程序框图如图二所示:图二 主程序框图令Y(i)表示采集的第i 个离散点的数值,采集的点数为n 。

我们假设所要还原的理想正弦信号Y 服从g(t i )=A 0sin(w*t i +ϕ0)。

由此可知,从Y(0)至Y(n-1)这n 个采集点均在函数g(t i )上下波动。

通过前两个所采数据来初判断初相角ϕ属于哪个象限,当第一采集点大于零时,该初相角属于一、二象限,再用第二个采集值减去第一个,通过其差的正负来判断初相角具体属于哪一象限;同理,可以判断第一采集点为负值时的象限归属。

利用LabVIEW 中的FFT (快速傅立叶变换)来对所测数据进行幅频特性处理,而幅频曲线上最大值所对应的频率便是该信号的固有频率w [3]。

根据最小二乘法的原理:有且仅有一组(A ,ϕ)使得Y(i)与g(t i )的数值距离之差的平方和最小,而且这一组(A ,ϕ)就是函数g(t i )中的参数(A 0,ϕ0)。

基于最小二乘法的LabVIEW正弦信号拟合

基于最小二乘法的LabVIEW正弦信号拟合

基于最小二乘法的LabVIEW正弦信号拟合母德强谢新旺郗元(长春工业大学机电工程学院, 吉林长春130012)摘要:本文介绍了一种拟合正弦信号的程序,此程序是基于Labview编写的,利用最小二乘法对数据进行处理 ,可以得到正弦信号的幅值、角频率和初相角。

从仿真结果看,该程序具有拟合精度高,处理速度快等优点。

关键字:正弦信号 LabVIEW 最小二乘法0 引言任何复杂信号,都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的迭加[1]。

因此正弦信号常常出现在工程测试中,精确获得正弦信号的信息显得尤为重要。

LabVIEW是一款广泛应用于测试和测量系统的图形化编程语言软件,用户只需简单地调用几个工具包中的函数,就可组成一个完整的测试测量应用程序。

1、数据采集系统现在的数据采集系统一般都是由传感器将被测量转换为电信号,再通过整形电路对其进行进一步处理,最后经采集卡进入计算机。

其系统组成如下图所示[2]图一、数据采集系统的组成2、总体方案与程序算法本文使用最小二乘法对所测数据进行处理。

具体程序框图如图二所示:图二 主程序框图令Y(i)表示采集的第i 个离散点的数值,采集的点数为n 。

我们假设所要还原的理想正弦信号Y 服从g(t i )=A 0sin(w*t i +ϕ0)。

由此可知,从Y(0)至Y(n-1)这n 个采集点均在函数g(t i )上下波动。

通过前两个所采数据来初判断初相角ϕ属于哪个象限,当第一采集点大于零时,该初相角属于一、二象限,再用第二个采集值减去第一个,通过其差的正负来判断初相角具体属于哪一象限;同理,可以判断第一采集点为负值时的象限归属。

利用LabVIEW 中的FFT (快速傅立叶变换)来对所测数据进行幅频特性处理,而幅频曲线上最大值所对应的频率便是该信号的固有频率w [3]。

根据最小二乘法的原理:有且仅有一组(A ,ϕ)使得Y(i)与g(t i )的数值距离之差的平方和最小,而且这一组(A ,ϕ)就是函数g(t i )中的参数(A 0,ϕ0)。

labview三角函数运算

labview三角函数运算

labview三角函数运算
LabVIEW支持三角函数运算,包括正弦函数(Sine)、余弦函数(Cosine)、正切函数(Tangent)、反正弦函数(Arcsine)、反余
弦函数(Arccosine)、反正切函数(Arctangent)等等。

在LabVIEW中,可以使用“三角函数”节点来进行三角函数运算。

打开LabVIEW软件,选择“Functions”选项卡,展开“Programming”选项,找到“Mathematics”选项,然后在菜单中选择“Trigonometry”选项,即可看到各种三角函数运算节点。

例如,要计算正弦函数sin(x)的值,可以在Block Diagram中添加“Sine”节点,将x作为输入信号,输出结果即为sin(x)的值。

三角函数运算在信号处理、图像处理、控制系统等领域中都有广
泛应用。

通过使用LabVIEW的三角函数运算节点,可以方便地实现这
些应用程序。

基于LabVIEW的正弦响应法状态滤波器动态特性测试研究

基于LabVIEW的正弦响应法状态滤波器动态特性测试研究

基于LabVIEW的正弦响应法状态滤波器动态特性测试研究付晓云(沈阳理工大学机械工程学院辽宁沈阳110159)摘要利用图形化编程软件LabVIEW,对实验改进,开发了基于虚拟仪器的滤波器特性分析系统。

系统硬件部分的改进:信号发生器产生的信号输入二阶跟踪滤波器,利用采集卡将滤波器的输出信号转化成能被计算机识别的数字信号。

增加了基于计算机的LabVIEW的信号采集、显示及分析的软件部分,能够实现数据采集、波形复现、数据处理、幅相频特性曲线及二阶系统的动态特性分析。

改进了实验数据的采集、显示及处理方法及效率,提高了测试系统的精确性和稳定性。

关键词滤波器虚拟仪器数据采集随着计算机电子技术和集成电路的发展以及各种测试软件的诞生,为适应发展的需求。

本文设计出基于LabVIEW的滤波器特性分析系统,具有较好的操作界面,可以在计算机中仿真模拟实验。

首先将信号发生器发出的信号送到滤波器试验仪,把电压信号放大、滤波、电平转换;经采集卡把模拟信号转换成数字信号,然后经LabVIEW采集信号、测量数据、存储数据,完成经过低通、带通、高通滤波器的幅相频曲线的绘制。

通过信号在三种滤波器幅相频特性曲线二阶系统传递函数的实验分析。

在设计中,采用LabVIEW来编程。

整个软件系统采用模块化的设计思想,把不同功能的子程序模块化。

改造前的状态滤波器动态特性实验测试中,由于各种硬件设备的局限性(设备的不稳定、连接线的损坏)导致实验数据的失准,状态滤波器动态特性实验测试达不到理想的要求。

改进后,以虚拟仪器代替了部分硬件处理环节,数据的采集、复现及处理都是基于LabVIEW编写的软件实现,提高了实验数据处理的速度和精度。

1 虚拟仪器搭建测试平台虚拟仪器测试装置的总体程序框图,如图1所示。

而传统实验仪器有滤波器特性实验仪、信号发生器、示波器和动平衡测试仪,仪器连接的布线如图2所示。

信号发生器发出正弦信号,示波器显示信号的波形,动平衡仪测量正弦信号的幅值和相位。

labview数据采集实例

labview数据采集实例

通道切换时间
DAQmx模拟量生成
DAQmx Write.vi
输出单个电平,直流电压
生成N点波形
先在内存中开辟一个缓存区,将波形载入
生成一个周期的正弦波
通过设置多少样本描绘一个波形周期和采集卡的更新率决定实际输出波形的频率
生成连续波形 波形生成凼数
频率为100Hz,幅值为5V的正弦波, Express VI的定时为每秒钟生成10000个点, 所以每个波形周期由100个样本所表示
共需要采集的样本数 采集卡将会以每秒钟1000次的速度进行采样, 在0.1秒后完成100次采集自动停止
比如说采集一段-5 V到+5 V的正弦波, 同样是3位的分辨率, 选择±10 V的量程需要将20 V的范围平均分割成8份, 而±5 V的量程只需要在10 V的范围内分割8份, 这样码宽就会减小一半,精度自然相应提高
当采集卡得到一个从低于2.7V 上升到2.7V 的模 拟触发信号,即开始任务
旋转机械、扭矩测试、瞬态测试等 触发之后立刻又跳回触发值以外
增加了迟滞的设置。同样是2.7V 触发,斜率设为上升,这时设置1 个1V 的迟滞
DAQ 助手配置完成后,点击右下角的“OK”键, 即可自动在LabVIEW 中生成代码, 我们可以在前面板放置一个Waveform Chart, 将采集的结果实时显示出来
DAQmx模拟量采集
DAQmx Create Virtual Channel.vi Dev1/ai1,Dev1/ai3,Dev1/ai5,Dev1/ai7
Dev1/ai0:4
自定义换算
DAQmx Timing.vi
开辟的缓存区大小
DAQmx Trigger.vi
DAQmx Read.vi

基于LabVIEW的正弦波信号发生系统

基于LabVIEW的正弦波信号发生系统

#include <reg52.h>#define uint unsigned int#define uchar unsigned char#define BN 16uchar tr[16]="hello!";#define LCDPORT P2 //LCD数据线sbit lcdrs=P1^0;sbit lcden=P1^1;sbit QW=P1^7;uchar start=0;uchar flag='0';uchar extentFactor=5;uchar freqFactor=0;uint OUTPUT;uint time=1;uint tab[5]={1,2,5,10,35};uint code sin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2, 0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1, 0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd, 0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc, 0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76, 0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06, 0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e, 0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80 };/*正弦波码 */void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--) ;}void write_com(uchar com){lcdrs=0;P2=com;delay(1);lcden=1;delay(1);lcden=0;}void write_data(uchar date){lcdrs=1;P2=date;delay(1);lcden=1;delay(1);lcden=0;}/*******液晶初始化 ********/void lcd_init(){lcden=0;write_com(0x38) ; //初始化write_com(0x0c) ; //打开光标 0x0c不显示光标 0x0e光标不闪,0x0f光标闪write_com(0x01) ; //清显示write_com(0x80) ;}/********串口中断初始化 *****/void UART_init(){TMOD = 0x21; //定时器1工作于工作方式2 自动重载数据TH1 = 0xfd;TL1 = 0xfd; //波特率为9600TR1 = 1; //开启定时器1ET1=1;EA = 1; //开启总中断SCON = 0x50; // 串口工作于方式1(10位为一帧 1个起始位 8个数据位 1个停止位)ES = 1; //允许串口中断TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;TR0=1;}/*****发送数据*****/void send_data(uchar c){SBUF = c;while(TI == 0);TI = 0;}/*******串口中断服务程序******/void com_int(void) interrupt 4{if(RI){flag = SBUF;RI = 0;QW=0;write_data(flag);switch(flag){case '0':break;case '1': start=1; // 开始生产波形break;case '2':++extentFactor; //改变幅度if(extentFactor>5) extentFactor=0;break;case '3': //改变频率++freqFactor;if(freqFactor>4){freqFactor=0;}time=tab[freqFactor];break;case '4':start=0; //关闭break;}}}sbit key_fudu=P3^2;sbit key_freq=P3^3;sbit test=P1^7;void key_scan(){if(key_fudu==0){delay(5);if(key_fudu==0){test=!test;++extentFactor; //改变幅度if(extentFactor>5) extentFactor=0;}}if(key_freq==0){delay(5);if(key_freq==0){test=!test;++freqFactor;if(freqFactor>=4){freqFactor=0;}time=tab[freqFactor];}}}unsigned int aa;void Timer0InterruptService(void) interrupt 1 using 0 {TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;if(aa>=4){key_scan();aa=0;}}void main(void){uint i;lcd_init(); //液晶初始化UART_init(); //串口中断初始化while(1){key_scan();if(start==0){for(i=0;i<256;i++){OUTPUT=sin[i]*extentFactor/5;send_data(OUTPUT);delay(time);}}// while(1);}}。

Labview―正弦信号发生及其频率和相位测量

Labview―正弦信号发生及其频率和相位测量
(2应讨论采样频率、样本数、非整周期采样、噪声及谐波等对测量结果的影响。
3设计方案
3.1顶层设计分析
一套完整的基于微计算机的正弦信号发生及其频率和相位测量的虚拟仪器,分为四个部分:首先是波形发生模块,如设计要求所述,它负责产生相位差可调的双路正弦信号,同时可以叠加噪声及谐波成分等;其次是运算处理模块,它采用不同算法对生成的或者硬件电路采集到的信号进行运算,从而得到频率和相位差测量结果;第三部分是模拟信号输出模块,该部分既有软件又有硬件,其负责软硬件结合,将信号发生器生成的信号通过硬件电路模拟输出端输出;第四部分是信号采集模块,该模块同样有软硬件结合的特点,它负责接收硬件电路模拟输入端采集的信号并传递给虚拟仪器的运算模块以便进行分析。
Labview课程设计结题报告
1引言
正弦信号是一种应用广泛的信号源,任何波形都可以看作由幅度、角频率、初相不同的正弦波叠加而形成。正弦信号的频率和相位差是工业测控领域经常需要测量的参数,如电力系统中的供电频率和功率因数的测量,电机扭矩的测量,铁路系统中相敏轨道电路相位差的测量以及科氏质量计中的相位差测量等。
本课题设计的基于微计算机的正弦信号发生及其频率和相位测量的虚拟仪器产生可调的双路正弦信号,并通过对其采集分析进行频率和相位差的测量,在研究和生产中有比较广泛的应用领域和实际意义。
2设计要求
设计一个基于微计算机的正弦信号发生及其频率和相位测量的虚拟仪器,要求如下:
(1具有一双路正弦波发生器,产生双路信号的相位差应可调,且也可叠加噪声及
波形发生模块生成双路正弦信号及叠加噪声程序框图labview课程设计结题报告波形发生器叠加谐波程序框图42运算处理模块运算处理模块负责对信号发生器产生的波形数据或者硬件采集到的数据进行运算处理通过不同的算法得到测量结果并通运算结果与设定值的比较分析采样频率样本数非周期采样谐波和噪声对测量结果的影响讨论不同算法的优劣

LabVIEW提取正弦波(DOC)

LabVIEW提取正弦波(DOC)

虚拟仪器课程设计提取正弦波
姓名:彭明键
学号: 2
班级:1221202
指导老师:方江雄
提取正弦波
从有限采样样本中提取正弦信号参数(包括频率、幅度、相位等)是信号处理中一类重要的估计问题。

1、设计目的
用数字滤波器从含有高频噪声的采样数据中提取正弦信号。

基于LabVIEW 8.2虚拟平台,使用图形语言编程设计一个系统,使输入信号为正弦波,并加载一个高频均匀白噪声作为模拟信号传输中的
随机干扰信号,以及采用一个切比雪夫低通滤波器,以滤除信号中的噪声分量,提取出频率为5Hz的正弦信号。

2、程序框图主要功能模块介绍
滤波器子选板位于函数选板的“信号处理→滤波器”中,如图1所示。

其中“Chebyshev滤波器”函数节点用于对噪声的输入信号进行切比
雪夫滤波处理。

根据输入数据类型的不同,它有两个多态实例(实数、复数)可供选用,其调用路径为“函数→信号处理→滤波器→Chebyshev滤波器”。

如表1是其输入/输出参数说明表。

表1 “Chebyshev滤波器”函数的输入/输出参数说明表。

LabVIEW中的波形数据

LabVIEW中的波形数据

LabVIEW中的波形数据与其他基于文本模式的编程语言不同,在LabVIEW中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。

但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。

这一节将主要介绍创建波形数据以及处理波形数据的方法。

1 波形数据的创建LabVIEW中的波形数据既可以由一些用于产生波形的函数、VIs以及Express VIs生成,也可以由数据采集函数从数据采集卡中采集数据而得到。

下面主要介绍用函数、VIs以及Express VIs生成波形数据的方法。

在LabVIEW中,与创建波形数据相关的函数、VIs以及Express VIs主要位于函数选板中的波形(Waveform)子选板以及信号处理(Signal Processing)子选板中,两个选板分别如图6-19以及图6-20所示。

图6-19 波形子选板图6-20 信号处理子选板下面介绍一些常用的用于产生波形数据的函数、VIs以及Express VIs的使用方法。

1.基本函数发生器函数(Basic Function Generation.vi)基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。

图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。

程序的后面板如图6-22所示。

图6-21 基本函数发生器函数演示程序的前面板图6-22 基本函数发生器函数演示程序的后面板2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi)调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。

Labview正弦波

Labview正弦波

一.课程设计题:虚拟正弦信号发生器1.1 虚拟仪器的组成原理虚拟仪器是计算机硬件资源、仪器与测控系统硬件资源和专用软件资源三者的有效结合。

仪器与测控系统硬件资源包括用于对被测输入信号进行采集、放大、A/D 转换等设备。

计算机是虚拟仪器的载体,软件是核心,高质量的A/D 采集卡及调理放大器是虚拟仪器的关键。

如图1 所示图 1 虚拟仪器构成框图虚拟仪器可分以下五种类型:1) PC 总线———插卡型虚拟仪器。

利用PC 总线技术的数据采集卡(PC - DAQ)与专用的软件如LabVIEW相结合。

通过PC 各种不同的接口总线,组建不同规模的自动测试系统。

它可以借助不同的接口总线的沟通,将虚拟仪器、带接口总线的各种电子仪器或各种插件单元,调配并组建成为中小型甚至大型的自动调试系统。

2) 串口虚拟仪器。

利用PC 机的各种串口通讯,可把硬件集成在一个采集盒里或一个探头上,软件装在PC机上,通常可以完成各种虚拟仪器的功能。

PC机的串口包括RS232 串行总线、USB 总线和1394 总线。

它们的最大好处是可以与笔记本计算机相连,方便野外作业。

3) GPIB 总线方式的虚拟仪器。

GPIB(GeneralPurpose Interface Bus) , 即综合接口总线技术。

GPIB 技术是IEEE488 标准的虚拟仪器早期的发展阶段,典型的GPIB 系统由一台PC 机、一块GPIB接口卡和若干台BPIB 形式的仪器通过GPIB 电缆连接而成。

GPIB测量系统的结构和命令简单,主要应用于台式仪器,适合于精确度要求高,但不要求对计算机高速传输状况时应用。

4)VXI总线方式虚拟仪器。

VXI(VMEbus eX2tension for Instrumentation) ,即VME总线技术在仪器领域的扩展。

VXI 具有标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用众多仪器厂家支持的优点。

5) PXI 总线方式虚拟仪器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

虚拟仪器课程设计提取正弦波
姓名:彭明键
学号:201220120221
班级:1221202
指导老师:方江雄
提取正弦波
从有限采样样本中提取正弦信号参数(包括频率、幅度、相位等)是信号处理中一类重要的估计问题。

1、设计目的
用数字滤波器从含有高频噪声的采样数据中提取正弦信号。

基于LabVIEW 8.2虚拟平台,使用图形语言编程设计一个系统,使输入信号为正弦波,并加载一个高频均匀白噪声作为模拟信号传输中的随机干扰信号,以及采用一个切比雪夫低通滤波器,以滤除信号中的噪声分量,提取出频率为5Hz的正弦信号。

2、程序框图主要功能模块介绍
滤波器子选板位于函数选板的“信号处理→滤波器”中,如图1所示。

其中“Chebyshev滤波器”函数节点用于对噪声的输入信号进行切比雪夫滤波处理。

根据输入数据类型的不同,它有两个多态实例(实数、复数)可供选用,其调用路径为“函数→信号处理→滤波器→Chebyshev滤波器”。

如表1是其输入/输出参数说明表。

表1 “Chebyshev滤波器”函数的输入/输出参数说明表
图1 切比雪夫滤波器
11.19.3详细设计步骤
利用信号生成子选板上的“正弦波”函数,加载一个高频均匀白噪声作为模拟信号传输中的随机干扰信号,井对此信号进行切比雪夫低通滤波,以滤除信号中的噪声分量,提取出基频频率的正弦信号。

具体设计步骤如下所示。

1、前面板的设计
(I)创建新vi,命名为PMJ.vi.其操作路径为“文件→新建vi”。

(2)放置数值控件、布尔控件及图形控件。

·将数值输入控什分别命名为“频率(Hz)"(默认值设置为5),“采样”(默认值设置为1024),“幅道”(默认值设置为1.00),“采样频率(Hz)”(默认值设置为1024)和“波纹(dB)”(默认值设置为0.10)。

·执行.控件~新式一数值~垂直指针滑动杆.操作,将垂直指针滑动杆控件分别命名为“低通截止频率:fl”和“阶数”,前者的默认值为20Hz,后者的默认值为5。

·执行“控件→新式→布尔→停止按钮”操作,放置一个“停止,,按钮控件。

·执行“控件→新式→图形→波形图”操作,放置3个波形图控件,分别命名为“input signal”, “filtered signal”“滤波后fft频谱图”。

提取正弦波实例的前面板设计完毕后如图2所示。

图2提取正弦波实例的前面板
2.程序框图的编辑
(1)打开程序框图编辑窗口,相应的控件图标已经显示出来。

其操作路径为“窗口→显示程序框图”。

(2)放置While循环、正弦波(Sine Pattem. vi),均匀白噪声(Unifomt White Noise. vi),切比雪夫滤波器(Chebyshev filtered. vi), FFT,捆绑(Bundle),数组大小(Artay Size),复数至极坐标转换及倒数等节点图标。

·执行“函数~编程~结构~While循环介操作,将所有节点拖入While循环中,而且所有程序在While循环中进行。

·执行“函数→信号处理→信号生成→正弦信号”操作,如图3所示,添加1个正弦信号的函数节点;执行“函数→信号处理→信号生成→均匀白噪声”操作,如图4所示,添加1个“均匀白噪声”的
函数节点,将它与正弦信号相加合成测试信号。

其中,如图4所示,“均匀白噪声”函数节点可以产生幅值位于区间【-a~a】的均匀分布的伪随机波形,a表示幅值的绝对值,此处a=100。

最后,将“正弦波”和“均匀白噪声”函数节点与参数输入和滤波器部分连接起来。

图3 “正弦信号”函数
图4 “均匀白噪声”函数
·执行“函数→数学→数值→复数→复数至极坐标转换”操作,添加“复数至极坐标转换”函数节点,用P (r,theta)表示极坐标系,其中r为极径,theta为极角,r*e^ (i*theta)为复数的极坐标形式,其图标和输入/输出端子如图5所示。

图5 “复数至极坐标转换”函数
·执行“函数→信号处理→滤波器→Chebyshev滤波器”操作,如图1所示,添加一个“ChebyshevP滤波器”函数。

在此次设计中,用切比雪夫滤波器对均匀白噪声信号进行高通滤波,用于产生高频噪声(f>150Hz)。

滤波器阶数为5,波纹为0.1dB。

然后使用切比雪夫低通滤波器对合成的信号进行处理,截止频率、阶数和波纹的设置可在前面板中完成和更改.
·执行“函数→信号处理→变换→FFT”操作,如图6所示,添加一个FFT函数节点。

“FFT”函数节点是用来计算输入序列的傅里叶变换。

注意在前面板的“滤波后fft频谱图”控件上,先将波形图的横坐标范围更改为0~100。

然后右键单击控件,弹出如图7所示的快捷菜单。

在X标尺项中取消“自动调整X标尺”,这样就可以只显示信号经FFT变换后的正频率信息了。

图6 “FFT”函数
图7滤波后fft频谱图属性
·“捆绑数据到波形图”函数节点的用法:图8给出了捆绑数据到波形图的示意图,其中“x0”表示波形显示的起始端。

“故”表示波形显示的步长,“数组”可以是一维的也可以是二维的。

一维数组用于显示单条曲线,二维数组用于显示多条曲线。

这里要使用捆绑节
点对输入波形图的数据进行组合。

图8 捆绑数据到波形示意图
提取正弦波实例的程序框图设计完毕后如图9所示.
图9 提取额正弦波的程序框图
3.运行程序
在前面板上单击“运行”按钮,如图10所示,此时可在“input signal"控件中观察到频率为5Hz。

含有噪声的正弦信号。

合成信号经过滤波后,在“filtered signal”中可观察到提取出来的正弦波经过FFT后在频谱上正好对应5Hz。

改变“频率(Hz)”和“阶数”等输入控件
的值,观察3个波形图中的变化情况。

单击中止执行按钮或者“停止”按钮,程序将停止运行。

图10 提取正弦波运行结果图
四、心得体会
在此次课程设计之前,对于LabVIEW这个软件我确实不怎么熟悉。

仅仅是上课跟着老师和同学做一做书本上的例子,觉得这门课非常简单,混一混就过去了,课后也没有进行实践。

但是在完成此次课
百度文库- 让每个人平等地提升自我
程设计的过程中我却遇到了许多的问题,例如:有些器件找不到,参数不会改,还有运行出错了也不知道哪里错了等等。

所以在此次课程设计过程中吃到了一些苦头,花费了一些时间,不过同时我也收获良多,觉得受益匪浅。

通过本次课程设计,加深了我对LabVIEW这项软件有了更深的认识和了解,加强了我对其的应用和掌握,同时让我认识到了我自身的一些缺点。

懒惰、自大、马虎让我在此次课程设计中大吃苦头,明明并不难的一些东西却被我搞的很复杂、很乱。

以后我会改正这些缺点,戒骄戒躁、脚踏实地的去学习、工作。

11。

相关文档
最新文档