基于自定义小波母函数的信号连续小波变换及时频特性分析系统
项目介绍
本项目是一款基于 MATLAB 开发的高度灵活的连续小波变换(CWT)分析工具。系统旨在解决非平稳信号的处理难题,核心优势在于允许用户根据数学定义自定义小波母函数,并利用快速傅里叶变换(FFT)加速计算过程。系统能够从复杂背景噪声中提取信号的时频局部化特征,自动识别并标注信号中的定频分量、调频成分(Chirp)以及瞬态脉冲。该工具可广泛应用于工业振动分析、故障诊断、物理实验数据处理以及辅助科研教学。
功能特性
- 多成分非平稳信号合成:系统内置信号发生器,可模拟生成包含定频正弦波、线性调频信号(Chirp)以及高斯加窗瞬态脉冲在内的复杂组合信号,并支持疊加随机高斯噪声。
- 自定义小波基配置:用户可以通过数学公式定义小波母函数(系统默认采用复 Morlet 小波),支持调整带宽参数(fb)和中心频率(fc),以适应不同的时频分辨率需求。
- 高效频域卷积算法:采用基于 FFT 的卷积实现方式,将时域的内积运算转化为频域的乘法运算,显著提升了处理大规模数据时的计算效率。
- 物理频率映射:系统具备自动频率校准功能。通过对母小波进行频谱分析确定其实际中心频率,从而实现尺度(Scale)到物理频率(Hz)的精准转换。
- 智能成分识别与标注:利用能量矩阵的局部极大值搜索算法,系统能够自动定位能量集中区域。根据预设的逻辑规则,自动识别信号成分类别,并在时频图中实时标注其中心位置和类型。
- 高分辨三维可视化:系统生成包含原始信号波形与时频能量分布(TFR)的综合图表。时频图采用伪彩色渲染,清晰展示能量随时间和频率演化的全景。
使用方法
- 环境准备:确保安装了 MATLAB 编程环境。
- 参数配置:在代码脚本开头的参数设置区域,用户可根据需要修改采样频率(fs)、分析时长(T)以及小波的带宽参数(fb)和中心频率(fc)。
- 定义信号:在信号生成部分,可以修改或替换模拟信号的分量(s1, s2, s3),以输入自己的实验数据。
- 运行分析:直接执行脚本。系统将自动完成小波库构建、信号卷积、能量矩阵计算及峰值提取。
- 查看结果:系统将弹出可视化窗口,展示原始时域波形。下方的时频色度图会通过白色圆圈及文字标签标示出检测到的信号特征(如定频分量、调频路径或瞬态脉冲)。
系统要求
- MATLAB R2016b 或更高版本。
- Signal Processing Toolbox(可选,用于 chirp 函数,如不具备可手动替换为正弦调频公式)。
实现逻辑分析
1. 信号模拟逻辑
系统构造了一个包含三个典型特征的测试信号:
- 定频成分:50Hz 正弦波,存在于 0.2s 至 1.2s 区间。
- 调频成分:在 0.5s 至 1.8s 期间,频率从 100Hz 线性增长至 300Hz。
- 瞬态成分:在 1.5s 处的一个经高斯衰减的 200Hz 脉冲。
最后加入标准差为 0.1 的白噪声以测试系统的鲁棒性。
2. 复 Morlet 小波母函数
系统使用复 Morlet 小波:$psi(t) = (pi cdot fb)^{-0.5} cdot exp(-t^2/fb) cdot exp(i cdot 2pi cdot fc cdot t)$。该小波兼顾了时域和频域的紧支撑性。通过调整参数 $fb$,可以控制小波在时间上的宽度,从而在时频分析中权衡时间分辨率和频率分辨率。
3. CWT 核心算法逻辑
分析过程通过以下步骤实现:
- 跨尺度生成:根据用户设定的频率范围(10Hz - 450Hz),反向计算对应的尺度向量。
- 频域卷积:对每一尺度,将信号的 FFT 结果与经伸缩变换后的小波基 FFT 结果进行逐点相乘。
- 相位修正:利用循环移位(circshift)修正卷积引入的相位偏移,确保时频能量点与原始信号波形在时间轴上精确对齐。
- 能量计算:对得到的小波系数取模平方,构建 2D 时频能量分布阵。
4. 智能成分识别算法
该模块采用子区域极大值搜索策略:
- 阈值筛选:仅处理能量密度超过全局最大值 20% 的区域。
- 网格划分:将时频平面划分为 10x10 的子块,在每个子块内搜索局部峰值点。
- 特征分类逻辑:
* 若频率 < 70Hz 且时间 < 1.3s,判定为“定频分量”。
* 若频率在 180Hz 至 250Hz 之间,判定为“瞬态脉冲”。
* 若频率在 70Hz 至 350Hz 且呈现跨度分布,判定为“调频路径”。
- 去重处理:计算极值点间的欧几里得距离,剔除距离过近的重叠标注点。
5. 可视化交互逻辑
系统将时间、频率及能量强度映射到三维空间,并强制设置为 90 度俯视图。颜色深浅(jet 色系)代表能量等级。检测到的成分信息通过
text 函数动态注入图形界面,增强了结果的可读性。