wudikk 发表于 2007-6-6 18:17

LabVIEW中提取振动信号中的相位问题

最近遇到一个比较棘手的问题,要用LabVIEW中提取采集过来的振动信号中的幅值和相位,在一些论文中看了一些讲解,但还是没有明白,论文中写到:
:@) 风机叶片不平衡量引起的振动可用传感器由电动机上测得。振动信号除了由不平衡量引起的工频振动谐波信号外,还有一些倍频成分,甚至一些随机振动成分。其信号表达式为:

x=直流分量+工频振动信号+其它频率振动信号

即为:x=b0+A*sin(2лfn+β)+∑Bi*sin(2лvn+η)+s(n),n∈   (1)

式中 b0为振动信号中的直流分量;A为工频振动信号的振幅;f为选定采样频率下工频对应的数字频率;β为工频振动信号的振幅;Bi为其它频率振动信号的振幅;v为选定采样频率下其它频率对应的数字频率;η为其它频率振动信号的相位;s(n)为干扰信号

为了分离原始振动信号中工频信号的相位,利用相关理论对信号进行了处理。相关函数Rxy(τ)定义为

   Rxy(τ)=X(t)*Y(t)=lim 1/T ∫X(t)Y(t+τ)dt(2)

把上式中的X(t)用式(1)代入,Y(t)分别为z,v:其中z为一正弦信号,v为一余弦信号,

x以及z和v都是能量信号,根据式(1)分别让z和v与x作互相关。根据傅立叶级数的正交性,相关函数具有抑制噪声、异频分量的作用,即z、v与振动信号直流分量和倍频分量的互相关函数理论值为0,随机噪声分量s2与z、v的互相关函数也趋于0,这样就只剩下工频信号了.
对噪声分量进行互相关抑制,取的数字序列愈多,愈接近0。

振动信号与模拟产生的正弦、余弦进行互相关计算中体现了工频下的有关信息,如下式

          N-1
Rxz=∑    xz=A/2 *N*cos(β)
         k=0
         N-1
Rxv=∑   xv=A/2*N*sin(β)
          k=0

进而可以得到不平衡量引起的振动信号的相位

            Rxv
β=arctan---------             β∈
            Rxz

我的问题就是怎么在LabVIEW中实现这些算法? 我只知道在前面分别产生了一个正弦和一个余弦信号,然后分别与原始信号进行互相关,得出来的是两个Rxy的值(好像这还是两个一维数组),但是我不知道上面说到的最后两个这个Rxz和Rxv是怎么得到了,在LabVIEW中应该怎么求出这两个数呢?拜托各位高手帮帮忙解决一下!!!!!!!急需解决啊!!!!!!!!!!!!!!!!!!!!!
:@) :handshake

wudikk 发表于 2007-6-6 22:46

怎么没有人帮忙啊????????????????????????

怎么没有人帮忙啊????????????????????????

ap0108220 发表于 2007-6-7 10:49

说实在,labview里面求相位还真是有点难,不过你可以借助mathscript节点来做~

用y=angle(x),不过记住要在机上先装Matlab哦~:@)

wudikk 发表于 2007-6-10 12:34

我已经用LabVIEW求出了两个互相关函数Rxz和Rxv.但是现在问题求不出这个Rxz和Rxv的值来????????该怎么求呢?

dapper 发表于 2007-6-15 15:13

mathscript在LabVIEW8.2中不需要安装Matlab就可以调用,还可以用NI的声音与振动分析工具包。

lizheng 发表于 2007-8-31 22:22

你只要知道X(N)和Z(N)两个数组,用一个循环就可以计算出∑    xz=?了
页: [1]
查看完整版本: LabVIEW中提取振动信号中的相位问题