主要内容

rpmtrack

从振动信号中跟踪并提取转速曲线

描述

例子

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配置文件。

例子

全部收缩

产生三次谐波分量的振动信号。信号以1khz采样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配置文件。

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:Tout:30001x1持续时间值:Min 0秒中位数15秒MAX 30秒SIMESTEP 0.001秒变量:RPM:30001x1双值:MIN 2.2204E-16中位数4327.2 MAX 8879.8

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

抓住rpmest.rpm情节(秒(rpmest.tout),'.-')情节(t (ndx),金融中间人(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的对象。这些对象表示订单= 1,ORDER = 2.4,ORDER = 3。

估计风扇叶片的RPM轮廓,因为它在开关后减速。

每分钟2万转的工业用屋顶风扇被关闭。空气阻力(来自轴承摩擦的微不足道的贡献)导致风扇转子在大约6秒内停止。一台高速摄像机测量X-坐标的一个风扇叶片的速率为1khz。

fs = 1000;t = 0:1 / fs: 6 - 1 / f;rpm0 = 20000;

将风扇叶片理想化为以50厘米半径绕转子中心旋转的质点。叶片受到的阻力与速度成正比,相位角的表达式如下:

ϕ = 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(phi) + randn(size(phi))/10;Y = a*sin(phi) + randn(size(phi))/10;情节(t t, x,, y)

图中包含一个轴对象。轴对象包含2个类型的物体。

使用rpmtrack用于确定RPM配置文件的功能。类型

rpmtrack(x,fs)

在命令行打开交互式图。

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

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

% MATLAB代码从rpmtrack GUI%由matlab9.4和信号处理工具箱8.0生成%生成于2017年12月18日19:00:35%设置采样率fs = 1000.0000;%设置兴趣岭的顺序订单= 1.0000;在感兴趣的山脊上设置山脊点ridgepoints = [...0.4501 - 179.8246;...0.9944 - 88.5965;...2.4161 - 11.4035);%估计转/分[rpmOut,兜售]= rpmtrack (x, fs,秩序,ridgePoints,...“方法”“stft”...“FrequencyResolution”, 11.1612,...'PowerGenalty',inf,...“FrequencyPenalty”0.0000,...'开始时间'0.0000,...'时间结束',3.0000);

运行脚本。在半对数图中显示RPM配置文件。

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

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

输入参数

全部收缩

输入信号,指定为向量。

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

数据类型:|

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

数据类型:|

山脊阶,指定为正实标量。

数据类型:|

脊点,指定为两列矩阵,每行包含一个时频坐标。坐标描述时频图上属于感兴趣的阶脊的点。

数据类型:|

输入时间表。xt必须包含递增的、有限的、等间距的行时间类型期间.时间表必须仅包含一个具有信号值的一个数字数据向量。

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

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

数据类型:|

名称 - 值参数

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

例子:'方法','fsst','powergenalty',10指定使用同步压缩傅里叶变换估计时频图,允许山脊上相邻点之间高达10分贝的功率差。

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

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

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

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

数据类型:|

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

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

数据类型:|

罚在粗脊提取,指定为逗号分隔对组成“FrequencyPenalty”一个非负标量。

使用此参数,保证的脊提取算法rpmtrack避免大的跳跃,可能使山脊估计移动到一个错误的时频位置。“FrequencyPenalty”当你想要区分交叉的或频率间隔很近的有序脊时很有用。

数据类型:|

RPM配置文件估计的开始时间,指定为逗号分隔的对,包括'开始时间'和一个数字或期间标量。

数据类型:||期间

RPM配置文件估计的结束时间,指定为逗号分隔的对,包括'时间结束'和一个数字或期间标量。

数据类型:||期间

输出参数

全部收缩

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

如果输入rpmtrack那么,有时间表吗rpm是否也有一个单变量的时间表rpm.时间表上的行时间都有标记吹捧并且是类型的期间

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

算法

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

  1. 计算一个时频图X然后根据脊上指定的点集提取一个时频脊,P., 这命令对应于那个山脊,以及可选的惩罚参数'PowerGenalty'“FrequencyPenalty”.提取的脊提供了RPM配置文件的粗略估计。

  2. 使用Vold-Kalman滤波器计算对应于提取脊的阶波形,并从该波形计算一个新的时频图。从新的时频图中分离出来的顺序脊提供了RPM配置文件的精确估计。

参考文献

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

扩展功能

也可以看看

职能

在R2018A介绍