主要内容

rpmtrack

跟踪和从振动信号中提取RPM概要文件

描述

例子

rpm= rpmtrack (x,fs,订单,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;不= 20 + t。^ 6。* exp (- t);φ= 2 *π* cumtrapz (t,不;

信号的谐波分量对应订单1,2,3。二阶正弦信号的幅度的两倍。

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

提取信号的RPM文件并将其可视化使用二阶脊上的一点。

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

产生一个信号,像踩油门发动机引起的振动。信号采样1 kHz 30秒和包含三个谐波组件订单1,2.4,3,5,振幅与4和0.5,分别。将信号嵌入unit-variance高斯白噪声,并将它存储在一个MATLAB®的时间表。瞬时频率乘以60获得RPM概要文件。情节RPM概要文件。

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

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

RPM文件来自振动信号。使用4分5秒间隔指定脊对应订单2.4。显示一个总结输出的时间表。

ndx = (5:5:20) * fs;订单= ol (2);p = [t (ndx)订单* fis (ndx)];rpm = rpmtrack (xt,秩序,p);总结(转)
RowTimes:吹捧:30001 x1持续时间值:分0秒值15秒马克斯30秒步伐0.001秒变量:转:30001 x1双重价值:8879.8最小2.2204 e-16值4327.2最大

绘制重建RPM概要和点用于重建。

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

图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。一个或多个行显示的值只使用这些对象标记代表原始,重建,脊点。

使用RPM的概要文件生成order-RPM地图中提取信号。

rpmordermap (vib fs, rpmest.rpm)

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

重建和情节构成信号的时域波形。放大后的时间间隔发生瞬变腐朽。

xrc = orderwaveform (vib、fs、rpmest.rpm ol);图绘制(t, xrc)传说([repmat (订单= ',[3])num2str (ol)]) xlim (20 [5])

图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。这些对象代表订单= 1,订单= 2.4,= 3。

估计一个风扇叶片的RPM概要switchoff后减慢。

一个工业屋顶风机旋转在20000 rpm是关闭的。空气阻力(与轴承摩擦的贡献可以忽略不计)导致风扇转子停止在大约6秒。高速相机的措施x协调的风机叶片的速度1 kHz。

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(φ)+ randn(大小(φ))/ 10;y = a * sin(φ)+ randn(大小(φ))/ 10;情节(t t, x,, y)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

使用rpmtrack函数来确定RPM概要文件。类型

rpmtrack (x, fs)

在命令行打开交互图。

rpm_timefreqmap_switchoff1.png

使用滑块调整的频率分辨率时频映射到大约11赫兹。假定信号分量对应订单1和脊提取设置结束时间3.0秒。使用十字光标在时频图添加按钮以添加三个点躺在山脊上。另外,双击鼠标添加点在您选择的位置。点击估计跟踪和提取RPM概要文件。

rpm_timefreqmap_switchoff2.png

验证RPM剖面指数衰减。在出口选项卡上,单击出口并选择生成MATLAB脚本。脚本出现在编辑器中。

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

运行脚本。在半对数图显示RPM概要文件。

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

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

输入参数

全部折叠

输入信号,指定为一个向量。

例子:因为(π/ 4 * (0:159))+ randn (1160)指定一个嘈杂的正弦信号采样2π赫兹。

数据类型:|

采样率,指定为一个积极的真正的标量。

数据类型:|

岭,指定为一个积极的真正的标量。

数据类型:|

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

数据类型:|

输入时间表。xt必须包含增加,有限的,和等距的行乘以类型持续时间。时间表必须只包含一个数字数据矢量信号值。

如果时间表有缺失或重复的时间点,你可以修理它使用的技巧清洁时间表与失踪、重复或不均匀

例子:时间表(秒(0:4)”,randn (1))指定一个随机变量抽样1赫兹为4秒。

数据类型:|

名称-值参数

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

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“方法”、“fsst”、“PowerPenalty”, 10指定使用synchrosqueezed傅里叶变换的时频图估计,允许10分贝的权力脊的相邻点之间的区别。

使用的时频图类型在估计过程中,指定为“stft”“fsst”

  • “stft”——使用短时傅里叶变换计算功率谱图时频图。为更详细的短时傅里叶变换,明白了pspectrum

  • “fsst”——使用synchrosqueezed傅里叶变换计算时频图。关于synchrosqueezed傅里叶变换的更多细节,请参阅fsst

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

数据类型:|

最大差异功率相邻脊点,指定为数字标量用分贝表示。

使用这个参数,以确保ridge-extraction算法rpmtrack找到正确的脊相应的秩序。PowerPenalty感兴趣的是有用的,当订单岭穿过其他脊或其他脊频率非常接近,但有不同的功率。

数据类型:|

在粗脊提取、指定为负的标量。

使用这个参数,以确保ridge-extraction算法rpmtrack避免大跳跃,可以让岭估计错误的时频位置移动。FrequencyPenalty是有用的,当你想要区分订单脊交叉或紧密间隔的频率。

数据类型:|

开始时间为RPM剖面估计,指定为一个数字或持续时间标量。

数据类型:||持续时间

结束时间为RPM剖面估计,指定为一个数字或持续时间标量。

数据类型:||持续时间

输出参数

全部折叠

转速估计,作为一个向量返回表示每分钟的转数。

如果输入rpmtrack是一个时间表,然后呢rpm也是一个时间表与单个变量标签rpm。标记的行乘以时间表吹捧和类型的持续时间

时间值的RPM估计,作为一个向量返回。

算法

rpmtrack使用一个两步(coarse-fine)估算方法:

  1. 计算的时频图x和提取基于指定的点集的时频脊脊上,p,订单对应于山脊,和可选的惩罚参数PowerPenaltyFrequencyPenalty。RPM的脊提取提供了一个粗略的估计。

  2. 计算订单波形提取脊对应使用Vold-Kalman过滤和计算一个新的时频图的波形。孤立的顺序从新的时频脊地图提供了一个良好的估计RPM概要文件。

引用

[1]他、Jacek Tomasz Barszcz,杰罗姆·安东尼。“估计的两步过程的瞬时转速波动大。”机械系统和信号处理。38卷,2013年,页96 - 102。

扩展功能

版本历史

介绍了R2018a