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 仿真,用于说明:
- 当转速变化时,直接做 FFT 会导致同步成分展宽
- 经过同步重采样后,阶次谱能够将 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 更符合物理本质,也更利于工程诊断。
后续我将继续更新深度学习与信号处理的知识,欢迎大家关注。