阶次分析是什么?一篇讲清旋转机械工程中的阶次概念、原理与 MATLAB 仿真

1. 引言

在旋转机械的振动与噪声分析中,传统频谱分析是最常见的手段之一。它能够回答一个基本问题:信号中包含哪些频率成分,它们分别位于多少 Hz

但是在很多实际工程场景中,设备并不是始终在恒定转速下运行。比如:

  • 电机启动和停机过程
  • 发动机升速和降速过程
  • 风机、泵、压缩机的变工况运行

在这些场景下,转速不断变化,许多与转速同步的振动成分也会随之发生频率漂移。此时,如果仍然直接使用普通 FFT 进行分析,往往会出现谱峰展宽、拖尾、模糊等现象,使得故障特征难以辨识。

为了解决这一问题,工程上广泛采用一种非常重要的方法:阶次分析(Order Analysis)

阶次分析不是单纯地研究"每秒振动多少次",而是研究"每转一圈振动重复多少次"。对于旋转机械而言,这种描述方式往往比固定频率描述更符合物理本质。

2. 什么是阶次

2.1 阶次的基本定义

阶次的核心概念可以概括为一句话:

某一振动成分在转子每转一圈时重复多少次,这个成分就是多少阶。

例如:

  • 1 阶:转子每转一圈,信号重复 1 次
  • 2 阶:转子每转一圈,信号重复 2 次
  • 3 阶:转子每转一圈,信号重复 3 次

因此,阶次本质上描述的是:振动成分与转速之间的同步倍数关系

2.2 阶次与转频的关系

设转子的转速为 n rpm,则对应的转频为:

如果某一成分为 k 阶,那么它的频率为:

这说明:阶次就是频率相对于转频的倍数

也就是说:

2.3 一个简单例子

假设某旋转设备的转速为 1200 rpm,则转频为:

那么:

  • 1 阶对应 20 Hz
  • 2 阶对应 40 Hz
  • 3 阶对应 60 Hz
  • 5 阶对应 100 Hz

如果转速变为 1800 rpm,则转频变为 30 Hz,此时:

  • 1 阶对应 30 Hz
  • 2 阶对应 60 Hz
  • 3 阶对应 90 Hz

可以看出,阶次本身不变,但对应的 Hz 会随着转速变化而变化

这正是阶次分析与普通频谱分析最本质的区别。

3. 为什么旋转机械更适合用阶次来描述

3.1 普通频谱分析的局限性

传统 FFT 分析默认有一个隐含前提:信号中的主要频率成分在分析时段内基本稳定不变

对于恒速工况,这个前提通常成立;但对于变速工况,这个前提就不再成立。

例如,设某一振动成分为 1 阶,那么它的频率等于转频:

如果转速不断变化,那么转频 也随时间变化,因此该成分不再是一个固定频率信号。

它在时域中可表示为:

这已经不是普通的固定频率正弦波,而是一个瞬时频率随时间变化的非平稳信号。

因此,当直接对整段数据做 FFT 时,本来应该对应 1 阶的成分不会表现为单一尖峰,而是会在某一频率范围内展宽。

3.2 阶次分析的优势

对于旋转机械来说,很多激励本质上不是"每秒发生几次",而是"每转发生几次"。例如:

  • 转子不平衡:通常表现为 1 阶
  • 联轴器不对中:常出现 1 阶、2 阶
  • 齿轮啮合:与齿数和转速相关,常对应高阶成分
  • 叶片通过频率:与叶片数相关,对应固定阶次

因此,从物理机制上看,许多旋转机械振动更适合在"转角域"中描述,而不是在"时间域"中描述。

4. 信号表示

这是理解阶次分析的关键一步。

设 θ 表示转子的机械转角。当转子转一整圈时,有:

4.1 1 阶信号

如果某个振动成分是 1 阶,意味着转子每转一圈,信号重复 1 次。最自然的表达就是:

因为当转子转一圈时:

说明信号正好完成一个周期。

4.2 2 阶信号

如果某个成分是 2 阶,意味着转子每转一圈,信号重复 2 次。此时可表示为:

因为当转子转一圈时:

这说明在一圈内,信号已经完成 2 个完整周期。

4.3 一般形式

因此,k 阶信号的一般形式可以写为:

它的物理含义非常明确:

转子每转一圈,信号完成 k 个周期。

5. 同步重采样:阶次分析的核心步骤

5.1 为什么要同步重采样

原始振动信号通常是按时间均匀采集的,

即:

但阶次分析更希望研究的是按转角变化的信号:

因此,需要把原来的时间采样数据,转换为转角均匀采样数据。这一过程就称为同步重采样

5.2 同步重采样的本质

同步重采样不是"重新采得更密",而是:

把信号的横轴从时间变成转角。

原始数据是:

  • 每隔固定时间采一个点

同步重采样后变成:

  • 每转过固定角度采一个点

例如,每转取 1024 个点,则每个采样点对应的角度间隔为:

这样处理后:

  • 1 阶信号在角度域中始终是"每转 1 个周期"
  • 2 阶信号始终是"每转 2 个周期"

即使转速变化,这些同步分量在角度域里仍然保持稳定。

5.3 工程理解

可以这样理解:

  • 时间域关心的是"每秒多少次"
  • 阶次域关心的是"每转多少次"

很多旋转机械故障激励本质上与"每转多少次"直接相关,因此在角度域中更容易被识别出来。

6. 工程中常见阶次成分的含义

在工程诊断中,不同阶次往往对应不同类型的机械问题。当然,实际系统较复杂,不能简单机械地一一对应,但以下规律具有较强参考意义。

6.1 1 阶成分

1 阶通常与转频同步,最典型的来源包括:

  • 转子不平衡
  • 质量偏心
  • 安装偏心
  • 部分机械松动引起的同步响应

如果某台旋转设备在升速过程中始终存在明显的 1 阶峰值,并且幅值随转速上升明显增强,那么通常应优先考虑不平衡问题。

6.2 2 阶成分

2 阶表示每转一圈出现两次特征,常见来源包括:

  • 联轴器不对中
  • 转轴椭圆度

2 阶成分在很多轴系对中分析中非常重要。

6.3 高阶成分

更高阶成分常见于:

  • 齿轮啮合
  • 叶片通过频率
  • 多槽、多齿、多极引起的周期性激励
  • 转子局部周期性不均匀结构

例如,一个有 Z 个叶片的叶轮,其叶片通过频率通常可以表示为:

因此它在阶次域中通常出现在 Z 阶附近。

7. 阶次分析在工程中的典型应用

7.1 电机与旋转机械状态监测

在电机、风机、泵、压缩机等设备中,阶次分析常用于识别:

  • 不平衡
  • 不对中
  • 机械松动
  • 结构共振
  • 轴系异常同步响应

相比单纯频谱分析,阶次分析在变速工况下更能稳定提取同步特征。

7.2 启停过程分析

很多设备的故障在稳定工况下不明显,但在启动、停机、扫速过程中会暴露得更充分。

例如,当转速扫过某一固有频率附近时,某一阶次可能会激发共振,表现为幅值急剧放大。

这时,结合转速和阶次信息,可以构建转速-阶次幅值图,进一步分析系统的共振区间和动态响应特性。

7.3 齿轮与叶轮系统分析

对于齿轮、叶轮、压气机、涡轮等设备,很多特征频率并不适合直接固定为某个 Hz,而更适合描述为转频的倍数。

例如:

  • 齿轮啮合频率 = 齿数 × 转频
  • 叶片通过频率 = 叶片数 × 转频

这类成分在阶次图中往往表现得更加清晰稳定。

8. MATLAB 仿真:普通 FFT 与阶次谱对比

下面给出一个简单 MATLAB 仿真,用于说明:

  1. 当转速变化时,直接做 FFT 会导致同步成分展宽
  2. 经过同步重采样后,阶次谱能够将 1 阶、2 阶成分重新对齐

8.1 仿真思路

本例中设定:

  • 转速从 600 rpm 线性升至 1800 rpm
  • 振动信号中包含 1 阶、2 阶成分
  • 叠加一个固定 120 Hz 干扰分量和随机噪声
  • 然后分别进行普通 FFT 和同步重采样后的阶次谱分析
Matlab 复制代码
clc; clear; close all;

%% =========================================================
% 1. 基本参数
% =========================================================
fs = 20000;                 % 采样率 Hz
T  = 10;                    % 总时长 s
t  = (0:1/fs:T-1/fs)';      % 时间轴
N  = length(t);

% 转速线性变化:600 rpm -> 1800 rpm
rpm0 = 600;
rpm1 = 1800;
rpm  = rpm0 + (rpm1-rpm0)/T * t;      % 瞬时转速 rpm
fr   = rpm / 60;                      % 瞬时转频 Hz
omega = 2*pi*fr;                      % 瞬时角速度 rad/s

%% =========================================================
% 2. 构造"真实"转角
% =========================================================
theta_true = cumtrapz(t, omega);      % 真实转角 rad

%% =========================================================
% 3. 构造振动信号
%    包括1阶、2阶、固定120Hz干扰和噪声
% =========================================================
x1 = 1.0 * sin(theta_true);                   
x2 = 0.5 * sin(2*theta_true + 0.6);           
x_fixed = 0.25 * sin(2*pi*120*t);             
noise = 0.12 * randn(size(t));                

x = x1 + x2 + x_fixed + noise;

%% =========================================================
% 4. 构造键相信号(每转1个脉冲)
% =========================================================
rev_index = floor(theta_true/(2*pi));      % 当前属于第几圈
keypulse = [0; diff(rev_index)] > 0;       % 每跨过一整圈产生一个脉冲

% 找到每个键相脉冲时刻索引
pulse_idx = find(keypulse);
pulse_t = t(pulse_idx);

%% =========================================================
% 5. 显示原始信号和键相信号
% =========================================================
figure('Name','原始振动与键相信号');
subplot(2,1,1);
plot(t, x, 'LineWidth', 1);
xlabel('Time (s)');
ylabel('Amplitude');
title('原始振动信号');
grid on;
xlim([0 1.2]);

subplot(2,1,2);
plot(t, double(keypulse), 'LineWidth', 1);
xlabel('Time (s)');
ylabel('Keyphasor');
title('键相信号(每转1脉冲)');
grid on;
xlim([0 1.2]);

%% =========================================================
% 6. 普通 FFT
% =========================================================
X = fft(x .* hann(N));
f = (0:N-1)' * fs / N;

idx_half = 1:floor(N/2);
f_half = f(idx_half);
X_half = abs(X(idx_half));

figure('Name','普通FFT频谱');
plot(f_half, X_half, 'LineWidth', 1);
xlabel('Frequency (Hz)');
ylabel('Magnitude');
title('变转速信号的普通 FFT');
grid on;
xlim([0 200]);

%% =========================================================
% 7. 基于键相信号做同步重采样
% =========================================================
samples_per_rev = 1024;                 % 每转重采样点数         

x_order = [];                           % 存储重采样后的角度域信号
rev_axis = [];                          % 对应"第几圈"的横轴

num_revs = length(pulse_idx) - 1;       % 至少需要前后两个脉冲才能定义一圈

for k = 1:num_revs
    idx_start = pulse_idx(k);
    idx_end   = pulse_idx(k+1);
    
    % 当前一圈对应的时间段
    t_seg = t(idx_start:idx_end);
    x_seg = x(idx_start:idx_end);
    
    t_uniform = linspace(t_seg(1), t_seg(end), samples_per_rev)';
    
    % 从原始振动信号中插值,得到该圈的等角度采样值
    x_uniform = interp1(t_seg, x_seg, t_uniform, 'spline');
    
    % 拼接
    x_order = [x_order; x_uniform];
    rev_axis = [rev_axis; (k-1) + (0:samples_per_rev-1)'/samples_per_rev];
end

%% =========================================================
% 8. 观察角度域信号
% =========================================================
figure('Name','同步重采样后的角度域信号');
plot(rev_axis, x_order, 'LineWidth', 1);
xlabel('Revolution');
ylabel('Amplitude');
title('基于键相信号重采样后的角度域信号');
grid on;
xlim([0 8]);

%% =========================================================
% 9. 阶次谱
% =========================================================
N_order = length(x_order);
X_order = fft(x_order .* hann(N_order));

order_axis = (0:N_order-1)' / N_order * samples_per_rev;

idx_half_order = 1:floor(N_order/2);
order_half = order_axis(idx_half_order);
Xo_half = abs(X_order(idx_half_order));

figure('Name','阶次谱');
plot(order_half, Xo_half, 'LineWidth', 1);
xlabel('Order');
ylabel('Magnitude');
title('基于键相信号同步重采样后的阶次谱');
grid on;
xlim([0 10]);

仿真结果分析

第一,直接做 FFT 时,1 阶和 2 阶不会在固定频率处形成尖锐单峰,而会在一定频率范围内展宽。这是因为转速变化导致它们对应的 Hz 不断漂移。

第二,经过同步重采样后,信号从时间域变换到了角度域,此时 1 阶成分始终表示"每转 1 次",2 阶始终表示"每转 2 次",因此在阶次谱中会分别集中在 1 阶和 2 阶附近。

第三,固定 120 Hz 干扰在时间域中是定频成分,但由于转速变化,它对应的阶次并不固定,因此在阶次谱中不会集中成一个稳定的尖峰。

9. 阶次分析的几个常见误区

9.1 阶次不是"肉眼看到几个脉冲"

把"1 阶、2 阶"简单理解成时域里每圈出现几个尖峰,这个理解在某些冲击型信号里可以帮助建立直觉,但并不严格。

更准确地说,阶次描述的是:该成分相对于转频的倍数关系

9.2 阶次分析不能替代所有频谱分析

阶次分析特别适合分析与转速同步的成分,但对于:

  • 固定工频干扰
  • 外部定频激励
  • 与转速无关的结构振动

普通频谱分析仍然非常重要。

工程上通常不是"只看阶次谱"或"只看频谱",而是二者结合使用。

9.3 同步重采样不是改变真实物理信号

同步重采样并没有改变信号的物理本质,它只是把原始时间采样数据重新映射到转角坐标系中,使同步特征更容易被观察和提取。

10. 总结

阶次分析是旋转机械振动与噪声分析中的核心方法之一,其本质在于:

不再只研究某个成分位于多少 Hz,而是研究该成分相对于转频处于多少倍关系。

对于变速工况下的旋转机械,许多故障和激励本质上与"每转多少次"密切相关,因此阶次分析比普通 FFT 更符合物理本质,也更利于工程诊断。

后续我将继续更新深度学习与信号处理的知识,欢迎大家关注。

相关推荐
森屿~~3 小时前
深入理解多目标优化实数编码:SBX交叉与多项式变异(PM)原理解析与MATLAB可视化
matlab
沅_Yuan7 小时前
基于LSSVM-ABKDE的多输入单输出回归预测模型【MATLAB】
人工智能·神经网络·机器学习·matlab·回归预测·lssvm·kde
简简单单做算法9 小时前
基于Qlearning强化学习的RoboCup足球场景下Agent智能进球决策matlab模拟与仿真
matlab·agent·强化学习·qlearning·robocup·智能进球决策
学习永无止境@9 小时前
MATLAB中矩阵转置
算法·matlab·fpga开发·矩阵
yong999010 小时前
Matlab AHP层次分析法(Analytic Hierarchy Process)实现指南
c语言·matlab
机器学习之心11 小时前
基于CNN卷积神经网络的轴承剩余寿命预测MATLAB实现
人工智能·matlab·cnn·轴承剩余寿命预测
沅_Yuan11 小时前
基于RIME-CNN-SVM的多输入单输出回归预测模型【MATLAB】
神经网络·支持向量机·matlab·回归·cnn·svm·rime
我爱C编程11 小时前
【3.2】FFT/IFFT变换的数学原理概述与MATLAB仿真
算法·matlab·fpga·fft·ifft
chao18984411 小时前
基于改进二进制粒子群算法的含需求响应机组组合问题MATLAB实现
开发语言·算法·matlab