主要内容

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;*exp(-t);φ= 2 *π* cumtrapz (t,不;

信号的谐波分量对应于1、2、3阶。二阶正弦信号的振幅是其他正弦信号的两倍。

Ol = [1 2 3];Amp = [5 10 5];vib = amp * cos (ol '。*φ);

使用2阶脊上的一个点提取并可视化信号的RPM配置文件。

时间= 3;订单= 2;P =[时间顺序*ifq(t==时间)];rpmtrack (vib、fs、秩序、p)

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

fs = 1000;t = (0:1 / fs: 30) ';适合= @ (a, x)(时距)。^ 6。* exp(-(时距))。*((时距)> = 0)*”;Fis = fit([0.4 1 0.6 1],[0 6 13 17]);φ= 2 *π* cumtrapz (t, fis);Ol = [1 2.4 3];Amp = [5 4 0.5]';Vib = cos(phi.*ol)*amp + randn(size(t));xt =时间表(秒(t), vib);情节(t, fis * 60)

图中包含一个轴对象。axis对象包含一个类型为line的对象。

使用rpmtrack函数从振动信号导出RPM轮廓。以5秒为间隔使用4个点来指定与2.4顺序相对应的脊。显示输出时间表的摘要。

ndx = (5:5:20) * fs;订单= ol (2);P = [t(ndx) order*fis(ndx)];rpm = rpmtrack (xt,秩序,p);总结(转)
RowTimes: tout: 30001x1 duration值:Min 0 sec中位数15 sec Max 30 sec TimeStep 0.001 sec变量:rpm: 30001x1 double值: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的对象。这些对象表示Order = 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)

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

使用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,...“PowerPenalty”正,...“FrequencyPenalty”, 0.0000,...“开始时间”, 0.0000,...“EndTime”, 3.0000);

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

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

图中包含一个轴对象。axis对象包含一个类型为line的对象。

输入参数

全部折叠

输入信号,指定为向量。

例子:因为(π/ 4 * (0:159))+ randn (1160)指定以2π Hz采样的噪声正弦信号。

数据类型:|

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

数据类型:|

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

数据类型:|

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

数据类型:|

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

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

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

数据类型:|

名称-值参数

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

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

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

  • “stft”—使用短时傅里叶变换计算功率谱图时频图。看到pspectrum,以获取关于短时傅里叶变换的更多细节。

  • “fsst”—使用同步压缩傅里叶变换计算时频图。看到fsst有关同步压缩傅里叶变换的更多细节。

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

数据类型:|

相邻脊点之间的最大功率差,指定为由逗号分隔的对组成“PowerPenalty”和一个用dB表示的数字标量。

使用此参数,保证的脊提取算法rpmtrack为相应的顺序找到正确的脊。“PowerPenalty”当感兴趣的序脊与其他序脊相交,或与其他序脊在频率上非常接近,但有不同的功率级时,是有用的。

数据类型:|

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

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

数据类型:|

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

数据类型:||持续时间

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

数据类型:||持续时间

输出参数

全部折叠

转速估计,返回为以每分钟转数表示的矢量。

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

估计RPM配置文件的时间值,以矢量形式返回。

算法

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

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

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

参考文献

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

扩展功能

介绍了R2018a