主要内容

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

例子

全部折叠

产生一个具有三个谐波分量的振动信号。信号以1千赫采样16秒。信号的瞬时频率类似于发动机的上升和下降。利用梯形法则对频率积分,计算瞬时相位。

Fs = 1000;T = 0:1/fs:16;Ifq = 20 + t.^6.*exp(-t);= 2*pi*cumtrapz(t,ifq);

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

Ol = [1 2 3];Amp = [5 10 5];Vib = amp*cos(ol'.*phi);

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

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

产生一个类似于汽车发动机旋转引起的振动的信号。信号以1 kHz采样30秒,包含阶为1、2.4和3的三个谐波分量,振幅分别为5、4和0.5。将信号嵌入单位方差高斯白噪声中,并将其存储在MATLAB®时间表中。将瞬时频率乘以60得到RPM剖面。绘制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*pi*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类型的对象。

从振动信号中推导出转速曲线。以5秒间隔使用4个点来指定对应于2.4阶的脊。显示输出时间表的摘要。

NDX = (5:5:20)*fs;Order = ol(2);P = [t(ndx) order*fis(ndx)];Rpmest = rpmtrack(xt,order,p);总结(转)
RowTimes: tout: 30001x1 duration值:Min 0 sec Median 15 sec Max 30 sec TimeStep 0.001 sec变量:rpm: 30001x1 double值:Min 2.2204e-16 Median 4327.2 Max 8879.8

绘制重建的RPM剖面和重建中使用的点。

持有rpmest.rpm情节(秒(rpmest.tout),“。”)情节(t (ndx),金融中间人(ndx) * 60岁“好吧”)举行传奇(“原始”“重建”“脊点”“位置”“西北”

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

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

rpmordermap (vib fs, rpmest.rpm)

{

重建并绘制构成信号的时域波形。放大瞬态衰减后发生的时间间隔。

XRC =顺序波形(vib,fs,rpme .rpm,ol);图(t,xrc)图例([repmat('Order = ',[3 1]) num2str(ol')]) xlim([5 20])

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

估计风机叶片在关闭后减速时的RPM分布。

一台转速为每分钟20000转的工业屋顶风机被关闭。空气阻力(轴承摩擦的贡献可以忽略不计)导致风扇转子在大约6秒内停止。一个高速摄像机测量x-一个风扇叶片的坐标,速率为1khz。

Fs = 1000;T = 0:1/fs:6-1/fs;Rpm0 = 20000;

理想的风扇叶片作为一个点质量围绕转子中心半径为50厘米。叶片受到与速度成比例的阻力,导致相位角的表达式如下

ϕ 2 π f 0 T 1 - e - t / T

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

A = 0.5;F0 = rpm0/60;T = 0.75;= 2*pi*f0*T*(1-exp(-t/T));

计算并绘制x- - -y-刀片的坐标。加上方差的高斯白噪声 0 1 2

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

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

使用rpmtrack函数来确定RPM剖面。类型

rpmtrack (x, fs)

在命令行中打开交互式图形。

rpm_timefreqmap_switchoff1.png

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

rpm_timefreqmap_switchoff2.png

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

% MATLAB代码从rpmtrack GUI由MATLAB 9.12和信号处理工具箱8.7生成%生成于2021年10月12日09:36:49设定抽样率Fs = 1000.0000;设置感兴趣的山脊的顺序订单= 1.0000;在感兴趣的山脊上设置山脊点ridgePoints = [...0.4077 - 194.6023;...0.9781 - 89.4886;...2.3678 - 15.6250);估计转速[rpmOut,tOut] = rpmtrack(x,fs,order,ridgePoints,...“方法”“stft”...“FrequencyResolution”, 11.1612,...“PowerPenalty”正,...“FrequencyPenalty”, 0.0000,...“开始时间”, 0.0000,...“EndTime”, 3.0000);

运行脚本。在半对数图中显示RPM剖面。

符号(tOut,rpmOut) ylim([500 20000])

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

输入参数

全部折叠

输入信号,指定为矢量。

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

数据类型:|

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

数据类型:|

脊序,指定为正实标量。

数据类型:|

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

数据类型:|

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

如果时间表有丢失或重复的时间点,您可以使用中的提示来修复它缺少、重复或不均匀时间的清晰时间表

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

数据类型:|

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

估计过程中使用的时频映射类型,指定为任意一种“stft”“fsst”

  • “stft”-使用短时傅里叶变换计算功率谱图时频图。有关短时傅里叶变换的更多细节,请参见pspectrum

  • “fsst”-使用同步压缩傅里叶变换计算时频图。有关同步压缩傅里叶变换的更多细节,请参见fsst

用于计算时频图的频率分辨率带宽,指定为以赫兹表示的数值标量。

数据类型:|

相邻脊点之间功率的最大差值,用数值标量表示,单位为分贝。

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

数据类型:|

粗脊提取中的惩罚,指定为非负标量。

使用此参数可确保脊提取算法rpmtrack避免大的跳跃,可能使脊估计移动到不正确的时频位置。FrequencyPenalty当您想要区分在频率上交叉或紧密间隔的有序脊时非常有用。

数据类型:|

RPM配置文件估计的开始时间,指定为数值或持续时间标量。

数据类型:||持续时间

RPM配置文件估计的结束时间,指定为数值或持续时间标量。

数据类型:||持续时间

输出参数

全部折叠

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

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

RPM概要文件估计的时间值,作为矢量返回。

算法

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

  1. 计算的时频图x并根据脊上的一组指定点提取一个时频脊,p,订单对应于那个山脊,以及可选的惩罚参数PowerPenalty而且FrequencyPenalty.提取的脊线提供了RPM剖面的粗略估计。

  2. 使用vord - kalman滤波器计算与提取脊相对应的顺序波形,并从该波形计算新的时频图。新时频图的孤立阶次脊提供了RPM剖面的精细估计。

参考文献

厄本内克,雅切克,托马什·巴尔什茨,杰罗姆·安东尼。大波动瞬时转速估计的两步法机械系统与信号处理“,.Vol. 38, 2013, pp. 96-102。

扩展功能

版本历史

在R2018a中引入