主要内容

orderwaveform

从振动信号中提取时域阶波形

描述

例子

XREC.= orderwaveform (xfs转速orderlist返回与输入信号中存在的一组指定顺序对应的时域波形,xx在一组上测量转速每分钟转速表达的转速。fs是Hz中的测量采样率。矢量orderlist指定所需的订单,其中波形在相应的列中返回XREC..该函数使用Vold-Kalman滤波器进行计算。

XREC.= orderwaveform (xfs转速orderlistrpmrefidx返回具有多个参考RPM信号的时域波形,存储在列中转速rpmrefidx是否有一个向量将每个顺序联系起来orderlist到RPM信号。

例子

XREC.= orderwaveform (xfs转速orderlistrpmrefidx名称,价值指定Vold-Kalman过程使用的进一步选项名称,价值对。

例子

全部收缩

在600 Hz采样采样5秒的模拟信号。正在测试的系统在观察期间将其从10到40转的转速从10到40次转速增加到(或等效,每分钟600至2400转)。

生成转速表读数。

FS = 600;t1 = 5;T = 0:1 / FS:T1;F0 = 10;F1 = 40;RPM = 60 * LINSPACE(F0,F1,长度(T));

信号由四个谐波相关的啁啾,订单1,1 / 2,χ2和2.啁啾的幅度分别为1,1 / 2,χ2和2。要生成啁啾,请使用梯形规则以表达阶段作为转速的积分。

=[1 0.5根号(2)2];Amp =[1 0.5√(2)2];ph = 2 *π* cumtrapz (rpm / 60) / fs;x (1:) = amp (1) * cos(奥德(1)* ph值);: x (2) = amp (2) * cos(奥德(2)* ph值);x (3:) = amp (3) * cos(奥德(3)* ph值);x (4:) = amp (4) * cos(奥德(4)* ph值);xsum = (x)之和;

重建构成信号的时域波形。

XREC = ORDERWAVEFORM(XSUM,FS,RPM,ORD);

可视化结果。放大瞬态衰减后发生的时间间隔。

kj = 1:4子图(2,2,kj)绘图(t,x(kj,:),t,xrec(:,kj))标题([“订单”num2str(奥德(kj))) xlim (2 [3])结束

图包含4个轴。带标题= 1的轴1包含2个类型的线。带有标题= 0.5的轴2包含2个类型的类型。带有标题= 1.4142的轴3包含2个类型的线。带有标题= 2的轴4包含2个类型的线。

创建一个由两个交叉指令组成的模拟振动信号,对应于两个不同的电机。信号以300hz采样3秒。在测量过程中,第一个电机的转速从每秒10转增加到100转(或,等价的,从600转到6000转)。第二电机增加它的转速从50到70转每秒(或3000到4200转)在同一时期。

FS = 300;nsamp = 3 * fs;RPM1 = Linspace(10,100,NSAMP)'* 60;RPM2 = LINSPACE(50,70,NSAMP)'* 60;

测量信号的阶数为1.2,振幅为2√2关于第一个电机。对于第二个电机,信号的阶数为0.8,振幅为4√2.

X = [2 4] * SQRT(2)。* COS(2 * PI * CUMTRAPZ([1.2 * RPM1 0.8 * RPM2] / 60)/ FS);

使第一电动机在频率范围的中间激发共振。

y = (1 + 1. / (1 + linspace(-10、10、nsamp)。^ 4)“/ 2 (nsamp 1)]。* x;x = (y, 2)总和;

使用以下命令可视化rpmfreqmap

RPMFreqMap(x,fs,rpm1)

图Frequency Map包含uimenu, uitoolbar, uiflowcontainer类型的对象。

重建构成信号的时域波形。使用Vold-Kalman算法将交叉订单解耦。

XREC = ORDERWAVEFORM(X,FS,[RPM1 RPM2],[1.2 0.8],[1 2],“脱钩”,真正的);

绘制原始波形和重构波形。

Kj = 1:2 figure(Kj) subplot(2,1,1) plot((0:nsamp-1)/fs,y(:, Kj))“原始”) 标题(['马达 'INT2STR(KJ)])子图(2,1,2)绘图((0:nsamp-1)/ fs,xrec(:,kj))图例('重建'结束

图包含2个轴。带标题电机2的轴1包含类型线的物体。此对象代表原始。轴2包含类型线的对象。该对象表示重建。

输入参数

全部收缩

输入信号,指定为行或列向量。

例子:因为(π/ 4 * (0:159))+ randn (1160)指定嵌入高斯白噪声中的正弦信号。

采样率,指定为以Hz表示的正标量。

转速,以每分钟转数表示的正数矢量。转速长度必须和x

  • 如果你有转速计脉冲信号,使用Tachorpm.提取转速直接地。

  • 如果您没有转速表脉冲信号,请使用rpmtrack.提取转速从一个振动信号。

例子:100:10:3​​000指定系统最初旋转100个每分钟转数,每分钟最多可增加3000次,增量为10。

顺序列表,指定为向量。orderlist不得有比大于的值fs/(2×max (转速/ 60))。

数据类型:双倍的|

RPM列索引,指定为与orderlist

数据类型:双倍的|

名称值对参数

指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:“解耦”,为真,“过滤器顺序”,2同时提取指定的订单波形并使用二阶VOLD-Kalman滤波器。

Vold-Kalman滤波顺序,指定为逗号分隔对组成“FilterOrder”和任何一种12

数据类型:双倍的|

近似半功率带宽,指定为包括的逗号分隔对“带宽”并且是一个真正的标量或一个具有相同元素数量的真实矢量orderlist.较小的值“带宽”产生平滑,窄带输出。然而,这个输出可能不能准确地反映顺序振幅的快速变化。

数据类型:双倍的|

模式解耦选项,指定为逗号分隔的对,由“脱钩”和一个逻辑值。如果该选项设置为真的,然后orderwaveform同时提取订单波形,使其能够分离紧密间隔或交叉订单。

数据类型:逻辑

重叠段的长度,指定为逗号分隔对,由'secmentLength'和一个整数。如果指定了段的长度,那么orderwaveform将输入信号分成若干段。然后计算每个分段的重建波形,并将结果组合起来产生输出。如果段太短,函数可能无法正确捕获本地化的事件,如交叉顺序。

数据类型:双倍的|

输出参数

全部收缩

重建的时域顺序波形,作为矩阵作为矩阵,每个列中具有一个波形。

工具书类

[1] Feldbauer,Christian和Roberthöldrich。“实现Vold-Kalman跟踪过滤器 - 最小二乘问题。”成本G-6数字音频效应会议的诉讼程序(DAFX-00).2000年12月7日至9日,意大利维罗纳。

[2] 沃尔德、赫瓦尔德和扬·鲁里丹。“使用卡尔曼跟踪滤波器在极端回转率下进行高分辨率顺序跟踪。”冲击和振动.第二卷,1995年,第507-515页。

扩展功能

介绍了R2016b