机械故障诊断与音频信号处理中的倒频谱分析系统
项目介绍
本项目是一款基于MATLAB开发的数字信号处理工具,核心聚焦于倒频谱(Cepstrum)分析技术。该系统专门设计用于处理具有复杂周期性特征的非平稳信号,能够有效应对机械振动中的调制现象以及语音信号中的声源与声道耦合问题。通过将对数功率谱映射回倒频域,系统能将传统频谱中难以辨识的边频带或周期性谐波转化为直观的离散峰值,从而实现特征频率的精准提取。
功能特性
- 多场景信号仿真:内置机械故障(调幅/调频混合信号)与语音激励(脉冲串+声道滤波器)两种仿真模型,用于验证分析算法的有效性。
- 精密倒频谱计算:采用标准的功率倒频谱计算流程,包含加窗处理、FFT变换、对数增益调节及逆FFT变换,并能有效处理零值奇异点。
- 自动化特征提取:系统具备智能峰值检索功能,能够自动识别机械故障的调制频率以及语音信号的基音周期(Pitch)。
- 同态滤波与成分分离:利用倒频谱的线性叠加特性,通过倒频提升(Liftering)技术分离声源激励分量与声道包络响应。
- 交互式可视化展示:集成时域波形、对数功率谱、倒频谱特征及包络重构结果的多维度对比图表。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Signal Processing Toolbox(用于执行findpeaks、butter、periodogram等信号处理函数)。
功能实现逻辑说明
系统按照预设的流程执行任务,主要逻辑步骤如下:
- 信号构建阶段:
- 在机械诊断场景下,生成一个带有中心频率(1000Hz)和调制频率(50Hz)的振动信号。该信号模拟了齿轮点蚀等损伤引起的振动特征,并叠加了背景噪声。
- 在音频处理场景下,利用脉冲序列模拟声带振动产生的基音(120Hz),并通过四阶巴特沃斯带通滤波器模拟声道的谐振特性,重组生成合成语音信号。
- 核心算法执行:
- 系统对生成的信号执行加窗处理(Hamming),以减少频谱泄露。
- 通过计算信号FFT的绝对值得出幅度谱,并进行对数变换($log|X|$),将乘性分量(如声道响应与激励)转化为加性分量。
- 对对数谱进行逆傅里叶变换(IFFT),得到实倒频谱。
- 倒频域特征分析:
- 针对机械信号,在倒频轴上检索大于0.005秒的区域,寻找最高峰值点。该峰值的位置(倒频率)的倒数即对应机械故障的调制频率。
- 针对语音信号,在特定的倒频率区间(0.003s至0.02s)内锁定基音周期,从而计算出基音频率。
- 同态滤波去卷积:
- 系统执行“低时间提升”操作,将倒频谱中代表激励信号的高倒频分量置零。
- 对处理后的倒频谱进行频域转换与指数化重构,从而分离出平滑的声道包络。
- 结果分析与输出:
- 系统在命令行窗口打印检测到的调制频率和基音频率。
- 自动弹出图形界面,展示对数功率谱中密集的边频带与倒频谱中单一峰值的转换关系,并对比展示原始信号与提取出的包络信号。
算法与关键技术分析
- 功率倒频谱(Power Cepstrum):算法通过 $text{IFFT}(log(|text{FFT}(x)|^2))$ 的数学通路,将频域中的周期性波纹映射为倒频域中的脉冲。由于倒频谱是对称的,系统仅截取前半部分进行分析,并计算对应的倒频率轴(Quefrency Axis,单位为秒)。
- 自动化峰值提取算法:采用基于阈值和最小间隔约束的检测方法。通过设置最小倒频率搜索起始点,规避了变换初期(低倒频区)由信号整体包络引起的强干扰,确保了周期成分提取的准确性。
- 同态滤波(Homomorphic Filtering):利用语音信号在倒频谱中“低位反映包络,高位反映激励”的特性,通过设置切断点(截止倒频率索引为25),实现了线性滤波无法完成的卷积信号分离,能够重构出反映声道生理特征的包络线。
使用方法
- 在MATLAB环境下,将本项目的所有代码置于当前工作目录中。
- 运行主函数。
- 观察命令行输出,系统将实时显示检测出的特征频率。
- 查看生成的分析图表:
- 左侧三图反映机械振动分析流程,重点观察倒频谱图中的红倒三角标注点。
- 右侧三图反映语音信号处理流程,重点观察同态滤波重构的红色声道包络线。