主要内容

rpmtrack

从振动信号跟踪和提取RPM配置文件

描述

例子

rpm.= rpmtrack(XFS.命令P.返回与时间有关的转速估计,rpm.,来自振动信号X以速度取样FS.

双列矩阵P.包含一组位于对应于给定的时频脊的点命令.每一排P.指定一个坐标对。如果你打电话rpmtrack没有指定这两个命令P.,该函数打开一个显示时间频率映射的交互式绘图,并使您能够选择点。

如果您有转速表脉冲信号,请使用Tachorpm.提取rpm.直接地。

例子

rpm.= rpmtrack(xt命令P.从存储在MATLAB中的信号返回与时间相关的转速估计值®时间表xt

rpm.= rpmtrack(___名称,价值使用名称-值对参数为前面的任何语法指定附加选项。选项包括用于估计RPM配置文件的时间-频率映射和开始时间的方法。

例子

[rpm.兜售] = rpmtrack(___还返回计算RPM配置文件的时间向量。

例子

rpmtrack(___没有输出参数在交互式图中绘制电源时频映射和估计的RPM配置文件。

例子

全部收缩

产生具有三个谐波分量的振动信号。信号在1 kHz上采样16秒。信号的瞬时频率类似于引擎的运转和惯性。通过使用梯形规则集成频率来计算瞬时阶段。

FS = 1000;t = 0:1 / FS:16;IFQ = 20 + T. ^ 6. * EXP(-T);phi = 2 * pi * cumtrapz(t,ifq);

信号的谐波分量对应于订单1,2和3.订单-2正弦曲线具有两倍的幅度。

ol = [1 2 3];amp = [5 10 5];VIB = AMP * COS(OL'。* PHI);

使用订单-2脊上的点提取并可视化信号的RPM轮廓。

时间= 3;订单= 2;p = [时间顺序* ifq(t == time)];RPMTRACK(VIB,FS,ORDER,P)

产生一种类似于汽车发动机发动时产生的振动的信号。信号在1 kHz采样30秒,包含1、2.4和3阶的三个谐波分量,振幅分别为5、4和0.5。将信号嵌入单位方差高斯白噪声中,并存储在MATLAB®时间表中。将瞬时频率乘以60得到RPM配置文件。绘制RPM配置文件。

FS = 1000;t =(0:1 / fs:30)';fit = @(a,x)(t-x)。^ 6. * exp( - (t-x))。*((t-x)> = 0)* a';FIS = FIT([0.4 1 0.6 1],[0 6 13 17]);phi = 2 * pi * cumtrapz(t,fis);ol = [1 2.4 3];amp = [5 4 0.5]';VIB = COS(PHI。* OL)* AMP + RANDN(尺寸(t));xt =时间表(秒(t),vib);情节(T,FIS * 60)

图中包含一个轴。轴包含类型线的对象。

使用rpmtrack功能从振动信号导出RPM配置文件。使用5秒间隔使用四个点来指定与订单2.4相对应的脊。显示输出时间表的摘要。

NDX =(5:5:20)* FS;订单= ol(2);p = [t(ndx)顺序* fis(ndx)];rpmest = rpmtrack(xt,order,p);摘要(rpmest)
Rowtimes:租赁:30001x1持续时间值:Min 0秒中位数15秒最多30秒钟时间表0.001秒变量:RPM:30001x1双值:Min 2.2204E-16中位数4327.2 Max 8879.8

绘制重建的RPM配置文件和重建中使用的点。

抓住绘图(秒(rpmest.tout),rpmest.rpm,'.-')绘图(t(ndx),fis(ndx)* 60,'好的') 抓住离开传奇('原来的''重建''山脊点''地点'“西北”

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象代表原始,重建,脊点。

使用提取的RPM配置文件生成信号的订单RPM映射。

rpmordermap (vib fs, rpmest.rpm)

图顺序映射包含uimenu, uitoolbar, uiflowcontainer类型的对象。

重建和绘制时域波形组成的信号。放大瞬态衰减后的时间间隔。

XRC = OrderWaveForm(VIB,FS,RPMEST.rpm,OL);图绘图(t,xrc)图例([repmat(订单= ',[3 1])NUM2STR(OL')])XLIM([5 20])

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象表示Order = 1, Order = 2.4, Order = 3。

当风扇叶片关闭后转速下降时,请对其转速进行估算。

关闭20,000 rpm的工业屋顶风扇被关闭。空气阻力(轴承摩擦的贡献可忽略不计)使风扇转子在大约6秒内停止。高速相机测量X- 一个风扇叶片的速度为1 kHz的速率。

FS = 1000;T = 0:1 / FS:6-1 / FS;RPM0 = 20000;

理想化风扇刀片作为点质量,将转子中心以50cm的半径盘旋。刀片体验成比例到速度的拖曳力,从而导致相位角的表达式:

ϕ = 2 π F 0. T. 1 - E. - T. / T.

在哪里 F 0. 是初始频率和 T. = 0. 75 第二是衰减时间。

一个= 0.5;f0 = rpm0/60;T = 0.75;φ= 2 *π* f0 * T * (1-exp (T / T));

计算并绘制X- 和y- 刀片的控制。添加白色高斯噪声的方差 0. 1 2

X = a*cos() + randn(size())/10;Y = a*sin(phi) + randn(size(phi))/10;情节(t t, x,, y)

图中包含一个轴。坐标轴包含两个line类型的对象。

使用rpmtrack函数来确定RPM配置文件。类型

rpmtrack(x,fs)

在命令行打开交互式图。

使用滑块将时频图的频率分辨率调整到约11hz。假设信号分量对应于1阶,设置脊提取结束时间为3.0秒。使用时频图中的十字光标和添加按钮添加三分位于山脊上。(或者,双击光标以在您选择的位置添加点。)单击估计跟踪和提取RPM配置文件。

确认RPM配置文件呈指数衰减。在出口选项卡,单击出口并选择生成matlab脚本.脚本出现在编辑器中。

% MATLAB代码从rpmtrack GUI%由MATLAB 9.4和信号处理工具箱8.0生成%在18-dec-2017 19:00:35生成%设置采样率FS = 1000.0000;%设定兴趣脊的顺序订单= 1.0000;%在感兴趣的山脊上设定脊点ridgepoints = [......0.4501 179.8246;......0.9944 88.5965;......2.4161 - 11.4035);%估计转/分[RPMOUT,TOUT] = RPMTRACK(X,FS,ORDER,RIDGPOINTS,......'方法''stft'......“FrequencyResolution”, 11.1612,......'PowerGenalty',inf,......'频率金蛋白',0.0000,......'开始时间',0.0000,......'时间结束',3.0000);

运行脚本。在半机型绘图中显示RPM配置文件。

semilogy(吹捧,rpmOut) ylim (20000 [500])

图中包含一个轴。轴包含类型线的对象。

输入参数

全部收缩

输入信号,指定为向量。

例子:COS(PI / 4 *(0:159))+ RANDN(1,160)指定在2πHz上采样的嘈杂正弦曲线。

数据类型:单身的|

采样率,指定为正实标量。

数据类型:单身的|

Ridge Order,指定为一个正实标量。

数据类型:单身的|

ridge点,指定为每行上的一个时间频率坐标的双列矩阵。坐标描述了属于感兴趣的订单脊的时频图上的点。

数据类型:单身的|

输入时间表。xt必须含有越来越多的,有限的和同等间隔的类型期间.时间表必须只包含一个具有信号值的一个数字数据向量。

如果一个时间表有丢失或重复的时间点,你可以用提示来修正它清洁时间表,缺失,重复或不均匀的时间

例子:时间表(秒(0:4)”,randn (1))指定以1hz采样4秒的随机变量。

数据类型:单身的|

名称值对参数

指定可选的逗号分离对名称,价值参数。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:'方法','fsst','powergenalty',10指定使用SynchroSqueezed傅立叶变换估计时频图,允许在脊上的相邻点之间最多10个功率差分贝。

估计过程中使用的时频映射类型,指定为逗号分隔对,由'方法',要么'stft'或者'fsst'

  • 'stft'- 使用短时傅里叶变换来计算功率谱图时频映射。看pspectrum.有关短时间傅里叶变换的更多详细信息。

  • 'fsst'- 使用SynchroSqueezed傅立叶变换来计算时频映射。看fsst有关SynchroSqueezed傅里叶变换的更多详细信息。

用于计算时频映射的频率分辨率带宽指定为逗号分隔的对“FrequencyResolution”和以Hz表示的数值标量。

数据类型:单身的|

相邻脊点之间的最大功率差,指定为逗号分隔的对,由'PowerGenalty'和DB中表达的数字标量。

使用此参数保证脊提取算法的rpmtrack找到相应的订单的正确脊。'PowerGenalty'当利息的订单脊穿过其他脊或者频率非常接近其他脊,但具有不同的功率水平。

数据类型:单身的|

粗脊提取的罚款,指定为逗号分隔对'频率金蛋白'一个非负标量。

使用此参数保证脊提取算法的rpmtrack避免大跳跃,可以使脊估计移动到不正确的时频位置。'频率金蛋白'当您想要区分交叉或在频率上间隔很近的顺序脊时非常有用。

数据类型:单身的|

转速的开始时间为RPM配置文件估计,指定为逗号分隔对组成'开始时间'一个数字或者期间标量。

数据类型:单身的||期间

rpm配置文件估计的结束时间,指定为逗号分隔对组成'时间结束'一个数字或者期间标量。

数据类型:单身的||期间

输出参数

全部收缩

转速估计,作为每分钟转速表达的向量返回。

如果输入到rpmtrack是一个时间表,然后rpm.也是标有单个变量的时间表rpm..课程表上标注了行程表的时间兜售并且是类型期间

估计RPM配置文件的时间值,返回为向量。

算法

rpmtrack使用两步(粗-细)估计方法:

  1. 计算一个时频图X并基于脊上的指定点集中提取时频脊,P., 这命令对应于那个山脊,和可选的惩罚参数'PowerGenalty''频率金蛋白'.提取的脊提供了RPM配置文件的粗略估计。

  2. 使用Vold-Kalman滤波器计算与提取的脊对应的订单波形,并从该波形计算新的时频映射。来自新时频图中的隔离订单脊提供了RPM配置文件的精细估计。

参考文献

[1] Urbanek,Jacek,Tomasz Barszcz和Jerome Antoni。“估计具有大波动的瞬时转速的两步程序。”机械系统和信号处理.卷。38,2013,pp。96-102。

在R2018A介绍