振动信号的阶次分析(matlab)

本篇记录和分享matlab官网关于振动信号的阶次分析部分的内容,在学习过程中又参考了其他文章
振动信号的阶次分析
rpmordermap
(阶次分析、阶比追踪)故障诊断之基于振动信号的阶比谱分析
故障诊断之基于振动信号的阶比谱分析

阶次的定义及用途

阶次分析用于量化转速随时间变化的旋转机械中的噪声或振动。阶次指的是参考转速的某个倍数的频率。例如,频率等于发动机旋转频率两倍的振动信号对应的是阶次 2,同样,频率等于发动机旋转频率 0.5 倍的振动信号对应的是阶次 0.5。

阶次与频率的关系

旋转振动用角度和阶次来描述,除此之外,还有一个关键的参数,即转速(是角速度)。转速表示每分钟旋转的圈数,单位为rpm(Revolution Per Minute),如果用每秒钟旋转的圈数来表示,则称为转动频率,简称为转频,是频率的一种表现形式。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MATLAB中AR模型功率谱估计中AR阶次估计的实现-psd_my.rar (最近看了几个关于功率谱的问题,有关AR模型的谱估计,在此分享一下,希望大家不吝指正) (声明:本文内容摘自我的毕业论文——心率变异信号的预处理及功率谱估计) (按:AR模型功率谱估计是对非平稳随机信号功率谱估计的常用方法,但是其模型阶次的估计,除了HOSA工具箱里的arorder函数外,没有现成的函数可用,arorder函数是基于矩阵SVD分解的阶次估计方法,为了比较各种阶次估计方法的区别,下面的函数使用了'FPE', 'AIC', 'MDL', 'CAT'集中准则一并估计,并采用试验方法确定那一个阶次更好。) ………………………………以上省略…………………………………………………………………… 假设原始数据序列为x,那么n阶参数使用最小二乘估计在MATLAB中实现如下: Y = x; Y(1:n) = []; m = N-n; X = [];% 构造系数矩阵 for i = 1:m     for j = 1:n         X(i,j) = xt(n i-j);     end end beta = inv(X'*X)*X'*Y'; 复制代码 beta即为用最小二乘法估计出的模型参数。 此外,还有估计AR模型参数的Yule-Walker方程法、基于线性预测理论的Burg算法和修正的协方差算法等[26]。相应的参数估计方法在MATLAB中都有现成的函数,比如aryule、arburg以及arcov等。 4.3.3 AR模型阶次的选择及实验设计 文献[26]中介绍了五种不同的AR模型定阶准则,分别为矩阵奇异值分解(Singular Value Decomposition, SVD)定阶法、最小预测定误差阶准则(Final Prediction Error Criterion, FPE)、AIC定阶准则(Akaika’s Information theoretic Criterion, AIC)、MDL定阶准则以及CAT定阶准则。文献[28]中还介绍了一种BIC定阶准则。SVD方法是对Yule-Walker方程中的自相关矩阵进行SVD分解来实现的,在MATLAB工具箱中arorder函数就是使用的该算法。其他五种算法的基本思想都是建立目标函数,阶次估计的标准是使目标函数最小化。 以上定阶准则在MATLAB中也可以方便的实现,下面是本文实现FPE、AIC、MDL、CAT定阶准则的程序(部分): for m = 1:N-1    ……       % 判断是否达到所选定阶准则的要求    if strcmp(criterion,'FPE')        objectfun(m 1) = (N (m 1))/(N-(m 1))*E(m 1);    elseif strcmp(criterion,'AIC')        objectfun(m 1) = N*log(E(m 1)) 2*(m 1);    elseif strcmp(criterion,'MDL')        objectfun(m 1) = N*log(E(m 1)) (m 1)*log(N);    elseif strcmp(criterion,'CAT')        for index = 1:m 1            temp = temp (N-index)/(N*E(index));        end        objectfun(m 1) = 1/N*temp-(N-(m 1))/(N*E(m 1));    end        if objectfun(m 1) >= objectfun(m)        orderpredict = m;        break;    end end 复制代码 orderpredict变量即为使用相应准则预测的AR模型阶次。 (注:以上代码为结合MATLAB工具箱函数pburg,arburg两个功率谱估计函数增加而得,修改后的pburg等函数会在附件中示意,名为pburgwithcriterion) 登录/注册后可看大图 程序1.JPG (35.14 KB, 下载次数: 20352) 下载附件  保存到相册 2009-8-28 20:54 上传 登录/注册后可看大图 程序2.JPG (51.78 KB, 下载次数: 15377) 下载附件  保存到相册 2009-8-28 20:54 上传
振动阶次分析是一种用来分析机械系统振动特性的方法,可以借助MATLAB软件进行实现。振动阶次是指主要振动源频率与转速之比,它描述了振动信号中的周期性成分。 在MATLAB中进行振动阶次分析的步骤如下: 1. 准备振动信号数据:获取机械系统的振动信号数据,并将其导入MATLAB中。 2. 选择适当的采样频率:采样频率决定了信号在时间域上的分辨率,应根据振动信号的频域特性和模态频率范围选择合适的采样频率。 3. 对采样数据进行傅里叶变换:使用MATLAB中的FFT函数对振动信号进行傅里叶变换,将信号从时域转换到频域,并得到频率谱。 4. 构建频率轴和振动幅值轴:根据傅里叶变换的结果,构建相应的频率轴和振动幅值轴。 5. 检测主要振动源频率:根据振动信号的频率谱,找到其中的主要频率峰值,即主要振动源频率。 6. 计算振动阶次:将主要振动源频率与系统的转速进行除法运算,即可得到振动阶次。 7. 绘制振动阶次谱图:将振动阶次作为横轴,振动幅值作为纵轴,绘制出振动阶次谱图,以直观地表示不同阶次振动分量。 通过振动阶次分析,我们可以了解系统中的不同频率分量和其来源,进而判断机械系统是否存在振动异常以及判断故障类型。 MATLAB提供了丰富的信号处理函数和绘图函数,可以方便地实现振动阶次分析。同时,MATLAB还支持数据的导入导出、批量处理等功能,可以大大提高振动阶次分析的效率和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闪闪发亮的小星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值