2-23 FFT + db4 小波变换转子碰磨故障信号分析:从复杂振动里拆出碰磨故障的多尺度特征

一句话介绍: 这套工程程序读取转子碰磨工况下的 X、Y 两方向位移信号,先观察时域波形、轴心轨迹和频谱,再利用 db4 小波进行 4 层多尺度分解,把原始振动拆成低频近似成分和不同尺度的高频细节,为识别碰磨引起的谐波、突变和局部冲击特征提供依据。
先看它解决什么问题
转子发生碰磨以后,振动信号往往不再只是一个简单的正弦波。
故障可能同时带来:
基频振动;高次谐波;波形畸变;局部突变或冲击;不同时间尺度上的细节变化。
如果只看原始时域波形,很多细节会混在一起;只做 FFT,又主要告诉我们“有哪些频率”,不容易体现局部变化发生在哪一段。
这套程序采用:
X/Y 位移数据 → 时域与轴心轨迹 → FFT 频谱 → db4 四层小波分解 → 各尺度重构与能量分析
这样既观察整体频率组成,也把信号拆到多个尺度上寻找故障特征。
1. 这个工程真正分析什么数据?
工程提供两个主要工况:
每个工况都包含:
u1.dat:X 方向位移相关数据;u3.dat:Y 方向位移相关数据;
tol.dat:用于构造时间轴的数据。
对应两个主分析脚本:
文件 |
作用 |
main_8_5.m |
分析 Omega8=5.5 工况 |
main_8_7.m |
分析 Omega8=7 工况 |
MaxMode.m |
小波模极大值筛选辅助函数 |
r1.m |
一个简单的分段频率信号示例 |
2. 程序先从哪几个角度观察故障信号?
两个主脚本的整体流程基本一致:
读取 X/Y 位移 → 单位缩放 → 时域波形 → X-Y 轴心轨迹 → FFT → db4 四层小波分解 → 重构 A4、D4、D3、D2、D1
这里实际上使用了三类互补信息:
时域:观察位移随时间怎样变化。
轴心轨迹:把 X、Y 两方向位移组合起来,观察转子轴心在平面内怎样运动。
频域与小波域:FFT 用来查看总体频率成分,小波进一步查看不同尺度上的局部变化。
3. 为什么轴心轨迹对转子碰磨很有价值?
程序把:
X 方向位移作为横坐标
Y 方向位移作为纵坐标
得到轴心轨迹。
对于理想稳定转动,轴心运动通常具有比较规则的周期形态。
发生非线性接触、碰磨以后,两个方向的振动会共同变化,因此轴心轨迹可能比单看一条 X 波形更容易体现:
转子在二维平面中的实际运动状态是否发生畸变。
所以程序并不是只分析一维信号,而是同时利用 X、Y 两个方向的信息。
4. FFT 在这里提取什么特征?
程序对 X、Y 信号分别进行 FFT,并绘制正频率一侧的幅值谱。
离散傅里叶变换的核心可以写成:
X(k) = Σ(n=0→N-1) x(n) · exp(-j2πkn/N)
它把复杂时域波形拆成不同频率的周期成分。
对于转子故障分析,特别值得观察:
1× 基频;2×、3× 等谐波;分数频率成分;宽频高频成分。
这些频率结构往往比单独看原始波形更加容易量化。
5. 当前数据的频谱有什么实际特点?
按照主脚本同样的 FFT 方式核对,两个工况的 X、Y 信号都表现出:
1×频率分量占明显主导,同时存在较弱的 2×谐波。
例如 Omega8=5.5 的 X 向频谱中,1×分量明显高于 2×分量;Omega8=7 也具有相同的主要结构。
这说明当前振动中仍然保留很强的同步转频成分,同时已经可以从频域中观察到额外谐波信息。
但 FFT 给出的是一段信号的整体频率统计。
如果某些碰磨冲击只在局部时刻出现,单靠整体频谱不容易告诉我们这些变化发生在哪里,这也是程序继续使用小波分析的原因。
6. 为什么小波比只做 FFT 多了一层信息?
FFT 使用贯穿整个分析区间的正弦/余弦基函数。
它很适合回答:“这一段信号里总体包含哪些频率?”
小波分析则同时具有:
时间局部性 + 尺度局部性
可以理解为使用一组能够缩放和移动的短波形去观察信号。
连续概念可以写成:
W(a,b) = ∫ x(t) · ψ[(t-b)/a] dt / √|a|
其中:
a:尺度,控制观察的是较快还是较慢变化;
b:时间位置;
ψ:小波基。
因此小波能够回答得更细:
某类高频或突变成分在信号的哪些局部区域比较明显。
这对碰磨这类可能带有局部冲击和非平稳变化的故障信号特别有价值。
7. 程序具体使用什么小波?
两个主程序都使用:db4,Daubechies 4 小波
并进行:4 层一维离散小波分解
主函数是:wavedec(A,4,'db4')
分解后得到:原始信号 ≈ A4 + D4 + D3 + D2 + D1
其中:
A4:第 4 层低频近似成分;D4:较低频的细节;
D3:中低尺度细节;D2:较高频细节;D1:最高频一层细节。
这里不需要把每一层机械地理解成某一种固定故障。
更重要的是观察:
故障信息主要集中在哪些尺度,以及不同工况下这些尺度的幅值和能量怎样变化。
8. 小波分解为什么能够把快变化和慢变化分开?
离散小波变换本质上不断进行:
低通滤波 + 高通滤波 + 下采样
第一层把信号拆成:A1 + D1
然后继续只对低频部分 A1 分解:A1 → A2 + D2
重复到第 4 层:A4 + D4 + D3 + D2 + D1
因此:
A4 更偏向描述较慢、较平稳的整体变化;
D1~D4 描述不同尺度的快速细节。
碰磨造成的局部突变通常会在一个或多个细节分量中更加突出,而不必和整个低频振动完全混在一起。
9. 为什么程序还要把每一层重新构造成完整信号?
程序不仅提取系数,还使用 wrcoef 分别重构:
A4、D4、D3、D2、D1
这样每个尺度都会重新变成和原始信号时间位置对应的序列。
它的价值是:既知道某个频率尺度存在,又能够看到这个尺度上的变化在原始时间轴附近怎样分布。
相比只查看一串小波系数,单支重构更容易直接观察:
哪一段振动变化剧烈;哪个尺度包含更强冲击;两个工况的多尺度结构是否不同。
10. wenergy 提取的是什么特征?
源码还执行:
[Ea,Ed] = wenergy(C,L)
这里的核心思想是比较不同小波分量中的能量。
如果某个重构分量为 D_j,可以用平方和理解其能量:
E_j = Σₙ |D_j(n)|²
程序进一步得到近似部分和各细节层的能量占比。
因此除了“看曲线”,还可以形成更适合数值比较的特征:
A4 能量 + D4 能量 + D3 能量 + D2 能量 + D1 能量
如果碰磨程度或运行状态发生变化,不同尺度的能量重新分配,就可以成为故障识别的候选特征。
11. MaxMode.m 为什么还要找小波模极大值?
工程还提供 MaxMode.m。
它会先寻找小波变换中的最大幅值,再设置约:2% × 最大模值作为筛选门槛,并寻找局部模极大点。
小波模极大值通常对信号中的:突变;边缘;冲击;比较敏感。
所以从工程结构看,这个函数提供了进一步从小波结果中提取局部突变位置的能力。
12. 为什么“FFT + 小波”比只用一种方法更合适?
FFT 擅长整体频率结构
它可以快速显示:基频、谐波以及总体频谱能量集中在哪里。
对于旋转机械来说,转频及倍频本身就是非常重要的故障信息。
小波擅长局部非平稳变化
如果碰磨不是完全稳定持续,而是在某些时刻产生局部冲击,那么这些快速变化可能只占整段信号很短时间。
小波可以在多个尺度上观察这些局部细节。
两者结合后信息更完整
整个程序形成:
时域波形 → 轴心轨迹 → 整体频谱 → 多尺度局部细节
所以它不是用小波“替代 FFT”,而是:
FFT 负责看总体频率组成,小波负责继续拆解非平稳细节。
13. 为什么 db4 适合这种振动分析?
Daubechies 小波具有:
紧支撑;较好的时频局部性;能够表示平滑振动与局部快速变化;适合多尺度离散分解。
db4 在机械振动、小波去噪和瞬态分析中属于非常常见的基础小波。
当前程序选择 4 层分解,相当于在不过度增加层数的情况下,把原始信号划分成一个低频近似层和 4 个细节尺度,比较适合做教学和初步故障特征观察。
14. 程序最终能够得到什么?
运行一个工况以后,用户能够获得:
X 方向振动时域变化;X-Y 轴心运动轨迹;X、Y 两方向频谱;
db4 第 4 层低频近似 A4;D4、D3、D2、D1 四个细节分量;
各尺度小波能量变量 Ea、Ed。
因此所谓“故障特征提取”并不是只得到一个数字,而是从多个角度形成一组特征描述:
轨迹形态 + 谐波结构 + 多尺度细节 + 小波能量
这些信息可以继续用于不同碰磨工况之间的对比。
15. 它适合用在哪里?
转子碰磨故障分析
利用轴心轨迹、倍频和小波细节观察转子与固定部件发生接触以后振动结构的变化。
旋转机械非平稳信号分析
对于具有冲击、摩擦、局部突变的振动信号,小波可以补充传统 FFT 缺少的时间局部信息。
小波故障诊断教学
程序把:
FFT → wavedec → appcoef / detcoef → wrcoef → wenergy
串成一套完整的小波分析流程,很适合理解多尺度分解在机械故障中的用途。
不同工况特征对比
工程已经提供 Omega8=5.5 和 Omega8=7 两组数据,可以直接比较两个运行工况下的频谱和小波尺度特征。
16. 怎么运行?
当前主要有两个入口:
main_8_5.m:分析 Omega8=5.5
main_8_7.m:分析 Omega8=7
改成当前电脑上对应的 u1.dat、u3.dat、tol.dat 路径,否则 MATLAB 无法读取数据。
程序使用 wavedec、wenergy、appcoef、detcoef 和 wrcoef,因此需要 MATLAB Wavelet Toolbox。
如果做扩展实验,最值得调整的是小波基、分解层数和分析工况:它们分别决定“用什么波形观察信号”“拆成多少尺度”和“比较哪一种运行状态”。
17. 一句话看懂这个项目
这是一个转子碰磨故障振动特征分析程序:先通过时域波形、轴心轨迹和 FFT 观察整体振动与谐波结构,再使用 db4 对 X 向信号进行 4 层离散小波分解,把原始振动拆成 A4 与 D4~D1 多尺度分量,并计算各尺度能量;当前数据的频谱以 1×分量为主,同时存在较弱 2×谐波,小波分析则进一步提供局部高频细节和能量分布,用于观察碰磨故障的非平稳特征。
18. 可二次开发工程包
获取相应程序:https://mbd.pub/o/bread/Zpeclpls。
百度网盘链接:
https://pan.baidu.com/s/1kPQ0DwuOMXeaQhGGeskcbw























全部评论 (0)