Labview的应用-数学分析和信号处理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Waveform Generation
Signal Generation
下面通过举例来说明如何获得需要的波形,如下图所示:
在该例中,第一个波形是通过Formula Waveform.vi函数按照指定的公 式产生的波形信号;第二个波形是通过Signal Generator by Duration.vi 函数产生的正弦信号并迭加了白噪声所产生的信号。
用于计算函数的导数,假设F(t)的导数定义为: f (t )
d F (t ) dt
数组Y代表dx/dt的输出序列,则 yi
其中i=0,1,2,------n-1
1 ( xi 1 xi 1 ) 2dt
数值积分与数值微分举例 设
f ( x) esin x ,求该函数在[0,π]上的定积分、不定积分和导数
y (3 2 x)2 x
因此利用一元函数最小值Vi函数即可找到该一维函数在[0,1.5]上的最小值。
常微分方程
解常微分方程在工程计算中经常用到,通过解常微分方程可以解决很多 几何、力学和物理学等领域的各种问题。Labview提供了多个Vi函数用于解 常微分方程。
常微分方程函数列表
常微分方程数值解举例
最优化
最优化是一门古老而又年轻的学科,它的起源可以追溯到法国数学家 拉格朗日关于一个函数在一组等式约束条件下的极值问题。如今这门学科 在工业、军事技术和管理科学等各个领域中有着广泛的应用,并发展出组 合优化、线性规划、非线性规划、动态控制和最优控制等多个分支。 Labview中最优化函数面板如图:
概述
Labview作为自动化测试、测量领域的专业 软件,其内部集成了600多个分析函数,用于信号 生成、频率分析、概率、统计、数学运算、曲线 拟合、插值、数字信号处理等各种数据分析应用。 此外,Labview还提供了附加工具软件专业应用于 某些信号处理应用中,如声音与振动、机器视觉、 通信测量、瞬态/短时持续信号分析等。
插值
插值是在离散函数之间补充一些数据,使这组离散数据能够符合某个连 续函数。插值是计算数学中最基本和最常用的手段,是函数逼近理论中的重 要方法。利用它可以通过函数在有限点处的取值情况估算该函数在别处的值, 即通过有限的数据得出完整的数学描述。 Labview提供了多个插值函数,如
以样条插值函数为例,在使用样条插值时,首先需要通过Spline Interpolant.vi 函数计算曲线在各插值节点的二阶导数,然后由Spline Interpolation.vi函数完 成插值,如图所示
数拟合(Exp fit)、幂拟合(Power Fit)、高斯拟合(Gauss Peak Fit)、对数拟
合(Logarithm Fit)、多项式拟合(Polynomial Fit)、最小二乘法拟合(Gen.
LS Lin. Fit)和非线性拟合(Nonlinear Curve Fit)等。
最小二乘法曲线拟合举例 利用最小二乘法拟合曲线,将因变量y与自变量x的关系表达为
数值积分与数值微分
数值积分与数值微分相对简单,其函数面板如下
用于一般的数值积分,用于计算一维、二维或三维数组的数值积分,有四种 积分方法供选择。
设 I f f ( x)dx PartialSums
t1 t0
这四种方法对应的PartialSums的算法为:
1 ( xi xi 1 ) dt 2 1 Simpson公式积分: ( x2 i 4 x2 i 1 x2 i 2 ) dt , k 2 3 1 Simpsons 3/8: (3x3i 9 x3i 1 9 x3i 2 3x3i 3 )dt , k 3 8
数字信号处理函数面板
信号处理子面板列表
信号发生
在很多情况下需要在没有硬件的情况下对系统进行仿真实验或验证系统 是否正确,在某些情况下可能还需要通过D/A变换向硬件输出波形。这时候就 需要波形发生函数来模拟产生需要的波形。 LabVIEW有两个信号发生函数面板,其中Waveform Generation用于产生 波形数据类型表示的波形信号,Signal Generation用于产生一维数组表示的 波形信号。
数字滤波器
滤波器的作用是对信号进行筛选,只让特定频段的信号通过。滤 波器分为模拟滤波器和数字滤波器。传统模拟滤波器的输入与输出都 是连续的,而数字滤波器的输入与输出都是离散时间信号。数字滤波 器具有如下好处: 软件可编程,因此易于搭建和测试 只需要加减乘三种基本数学操作 不随外界环境条件变化而漂移,也不会老化 有非常高的性价比
曲线拟合
曲线拟合在分析实验数据时非常有用,它可以从大量的离散数据中抽象出
内部规律。Labview包含了大量的曲线拟合函数以满足不同的拟合需要。曲线拟
合就是根据输入数据的坐标(xi,yi),即X数组和Y数组,找出yi和xi的函数关 系y=f(x)。对于不同的对象,有不同的拟合方法:线性拟合(Linear Fit)、指
本例中,原始数据为原始函数迭加一定的噪声产生,即
假设猜测函数为: 其中
下面通过最小二乘法拟合函数来求解回归系数,其图标和端口如图所示
其中Y为原始数据,H矩阵是根据猜测函数产生的,它是猜测函数在 自变量各点的函数值,Best Fit 为拟合曲线的Y值,Coefficients 为回归系数
通过该函数实现的曲线拟合程序如图所示:
线性代数
线性代数在现代工程和科学领域中有广泛的应用,因此Labview也 提供了强大的线性代数运算功能。
下面通过解线性方程组来举例说明线性代数运算函数的用法。 解如下方程组:Ax=b,其中
只需要将A和b作为求解线性方程组VI函数的输入就可以很容易的得出x 的值, 如图所示:
从这个例子可以看出,通过Labview实现线性代数运算的代码非常简单,用户可以 把精力集中在所做的数学运算上,而不用去考虑数据类型的定义等。
根据冲激响应,可以将滤波器分为有限冲激响应(FIR)滤波器和无限 冲激响应(IIR)滤波器。对于FIR滤波器,冲激响应在有限时间内的衰减为 零,其输出仅取决于当前和过去的输入信号值。对于IIR滤波器,冲激响应 会无限持续(理论上),输出取决于当前及过去的输入信号值和过去输出的 值。在实际应用中,稳定的IIR滤波器的冲激响应会在有限时间内衰减到接 近于零的程度。IIR滤波器的缺点是相位响应非线性。在对线性相位响应有 要求的情况下,则应当使用FIR滤波器。 LabVIEW提供的IIR滤波器类型有Butterworth、Chebyshev、Inverse Chebyshev、Elliptic和Bessel滤波器。它们都有各自的特点,用途也不尽 相同。 LabVIEW还提供了高级IIR和FIR滤波器子面板。在高级面板中,滤波器 的设计部分和执行部分是分开的。由于滤波器的设计很费时间,而滤波过程 则很快。在含有循环结构的程序中,可以将滤波器的设计放在循环外,将设 计好的滤波器参数传递到循环内,在循环内进行滤波,从而提高程序的运行 效率。
滤波器函数面板
选择滤波器时需要考虑应用的需求,例如是否要求线性相频响应,是否 运行纹波存在,是否需要窄的过渡带等,下图给出了一个选择滤波器的大致 步骤,但实际应用中通常需要多次试验才能确定最合适的滤波器。
低通滤波举例 在信号传输过程中,由于外界的干扰,经常会混入高频噪声。因此在测量信 号时希望把这些来自外部的高频噪声信号去掉,通常的做法都是采用低通滤波器 将高频噪声滤掉。 如图所示,信号源由一个正弦信号与一个经过高通滤波的高频信号迭加而成, 这与实际的情况比较相符。高通滤波器的截止频率为100,即滤掉频率小于100的 低频噪声分量。信号滤波器为Butterworth滤波器,截止频率设为30,即滤掉频 率大于30的噪声分量,由图上可以清楚地看到滤波后的信号基本上还原了正弦信 号。
j
梯形公式(Trapezoidal):
Bode:
1 (14 x4i 64 x4i 1 24 x4i 2 64 x4i 3 14 x4i 4 )dt , k 4 45
用于计算函数的不定积分。计算公式为 Y
f (t )dt
1 i Y对应为一维数组, yi ( x j 1 4 x j x j 1 )dt ,其中i=0,1,2,------n-1 6 j 0
信号调理
信号调理的目的是尽量减少干扰信号的影响,提高信号的信噪比,它会 直接影响到分析结果。因此一般来说它是信号分析前需要的必要步骤。常用 的信号调理方法有滤波、放大和加窗等。
wenku.baidu.com
信号调理函数面板
下面通过一个FIR滤波器的例子进行说明
如图所示,通过Sine Waveform.vi产生正弦信号;Uniform White Noise Waveform.vi产生白噪声,并通过高通滤波器只通过高频噪声。通过FIR滤波器 对信号进行滤波,可以看到一个很好的正弦波。其中FIR滤波器的参数Topology 表示滤波器的设计方法;Type表示滤波器类型;Lower PB表示通带最高频率; Lower SB表示阻带最低频率;Upper PB和Upper SB参数不起作用。
导致繁杂的连线,反而由于采取了图形化编程和文本编程相结合的方式,它比单 纯的文本编程语言具有更大的优势。
Labview提供的数学分析函数如下:
数学分析VI函数面板
按不同的数学功能,数学分析VI函数库被分为12个子面板,如下表:
基本数学函数
基本数学函数分为12类:三角函数、指数函数、双曲线函数、门函 数、离散数学函数、贝塞尔函数、γ 函数、超几何分布函数、椭圆积分、 指数函数、误差函数和椭圆抛物函数。
波形测量
波形测量面板提供的VI函数用于对波形的各种信息进行测量,譬如直 流交流分析、振幅测量、脉冲测量、傅立叶变换、功率谱测量、谐波畸变 分析、过渡分析、频率响应等。
波形测量函数面板
例 测量波形的直流分量和有效值
该例用到的波形测量函数为Basic Averaged DC-RMS.vi,波形测量 函数的使用都相对简单,只需要将波形数据作为输入并设定好相应的参数 即可。本例中产生的波形由标准正弦信号、直流分量和噪声迭加产生。如 图所示,可以看到测得的直流分量与设定的直流分量完全相等,有效值为 8.70。
复杂的算法很可能导致繁杂的连线。针对这一点,Labview封装了大量的数学函数
致力于数学分析,并提供了基于文本编程语言的公式节点。通过这些封装好的VI 函数并结合公式节点,程序框图可以非常简洁,用户可以把精力集中放在所需要
解决的问题上而不必再为数学算法费心。因此通过Labview实现数学分析不仅不会
设河边点O的正对岸为点A,河宽OA=h,两岸为平行直 线,水流速度为a,有一鸭子从点A游向点O,设鸭子 (在静水中)的游速为b(b>a),且鸭子游动方向始终 朝着点O.求鸭子游过的迹线方程。
鸭子游过的迹线
通过分析得到迹线微分方程:
该微分方程可以用龙格—库塔方法解,此方法的图标与端子如图所示
用户只需要简单的将微分方程的各种参数作为该函数的输入就可以得到微 分方程的数值解,如图所示
数学分析
Labview作为图形化的开发语言,与传统的文本编程语言有很大区别。如果
大家已经熟悉了通过传统的文本编程语言实现数学分析程序,可能会置疑Labview
写数学算法的能力。因为Labview是通过连线和框图的方式编程,复杂的算法会不 会导致繁杂的连线呢?的确,如果仅以Labview的基本运算符号和程序结构来实现
最优化问题举例
对边长为3米的正方形钢板,在4个角剪去相等的正方形以制成方形无盖水槽, 问如何剪法使水槽的容积最大? 解:设剪去的正方形的边长为x,则水槽的容积为
(3 2 x)2 x
2 建立无约束优化模型为:max y (3 2 x) x,0 x 1.5
可以把求极大值问题转化为求极小值的问题,即:min
数字信号处理
作为自动化测量领域的专业软件,数字信号处理是Labview的重要组成部分之 一。高效、灵活、强大的数字信号处理功能也是Labview的重要优势之一。它将信 号处理所要的各种功能封装为一个个的VI函数,用户利用这些现成的信号处理VI 函数可以迅速地实现所需功能,而无须再为复杂的数字信号处理算法花费精力。