小波变换特征:时频联合分析提取多尺度信号特性

FreeGuideOnline 最新 2026-06-27

小波变换特征:时频联合分析提取多尺度信号特性

小波变换被称为"数学显微镜",它能同时在时间(或空间)和频率两个维度上揭示信号的结构。与传统的傅里叶变换不同,小波变换能够捕获信号的瞬态变化和局部特征,尤其适合处理非平稳信号。本教程将从基础概念出发,带你掌握如何利用小波变换提取多尺度特征。


1. 为什么需要时频联合分析?

在工程和科学领域,许多真实信号(如生物电信号、振动信号、语音)的频率成分是随时间变化的。傅里叶变换只能告诉我们信号包含哪些频率,却无法定位这些频率在时间上的出现位置。

短时傅里叶变换(STFT) 通过在信号上滑动固定大小的窗口来获得时频谱,但其分辨率是固定的:窗口窄则时间分辨率高但频率分辨率低,窗口宽则相反。这种矛盾由海森堡测不准原理决定。

小波变换 突破了固定分辨率的限制:它使用可伸缩的窗口,在低频部分采用宽的窗口获得高频率分辨率,在高频部分采用窄的窗口获得高时间分辨率。这种自适应多分辨率分析能力,使小波变换成为提取瞬态、边缘和纹理等多尺度特征的强大工具。


2. 小波变换的核心概念

2.1 母小波

小波变换的基函数由一个母小波经过缩放和平移生成。母小波必须满足振荡性和快速衰减的条件,即函数在时域和频域都具有局部化特性。常用的母小波有:

  • Haar小波:最简单的不连续小波,适合演示原理。
  • Daubechies小波 (dbN):具有紧支撑和正交性,广泛用于信号处理。
  • Morlet小波:复值小波,兼具良好的时频聚集性,常用于连续小波变换。
  • Mexican hat小波:高斯函数的二阶导数,用于边缘检测。

2.2 尺度与平移

  • 尺度因子 ( a ):控制小波的伸缩。尺度越大,小波被拉伸,对应低频分析;尺度越小,小波被压缩,对应高频分析。尺度与频率成反比关系。
  • 平移因子 ( b ):控制小波在时间轴上的位置,通过移动小波覆盖整个信号。

通过对母小波 ( \psi(t) ) 进行缩放和平移,得到一族基函数: [ \psi_{a,b}(t) = \frac{1}{\sqrt{a}} \psi\left( \frac{t - b}{a} \right) ]


3. 连续小波变换

连续小波变换(CWT)将信号 ( x(t) ) 与所有尺度和所有平移的小波基进行内积,生成一个二维表示: [ W(a, b) = \int_{-\infty}^{\infty} x(t) \cdot \frac{1}{\sqrt{a}} \psi^* \left( \frac{t - b}{a} \right) dt ] 结果是一个尺度-时间(或频率-时间)的图谱,称为尺度图(scalogram)。尺度图的每一个点反映了信号在某一时刻、某一尺度上的能量大小。

CWT 常用于可视化和分析信号的时频结构,但由于其连续参数导致信息高度冗余,计算成本较高,实际特征提取更常使用离散形式。


4. 离散小波变换

离散小波变换(DWT)通过二进离散化尺度因子 ( a = 2^j ) 和平移因子 ( b = k \cdot 2^j ) 来降低冗余,实现快速计算。它利用Mallat算法,通过一系列高通和低通滤波器对信号进行分解。

4.1 多级分解

每一级分解将信号分为:

  • 近似系数:低频分量,刻画信号的大致形状和趋势。
  • 细节系数:高频分量,捕获信号的细节和瞬态变化。

对近似系数继续分解,就形成了小波分解树。例如,一个3层分解的结构如下:

原始信号
│
├─ cA1 (近似)
│   ├─ cA2
│   │   ├─ cA3
│   │   └─ cD3
│   └─ cD2
└─ cD1

不同级别的细节系数对应不同的频率带,级别越高,频率越低。这种多级分解天然适合提取多尺度特征。

4.2 小波包变换

标准DWT只对近似系数进行再分解。小波包变换则将分解拓展到细节系数,形成一个完整的二叉树结构,能够更精细地划分频率带,适合需要高频段细分特征的场景。


5. 小波特征的提取方法

从变换后的系数中,我们可以提炼出反映信号本质的数值特征,用于模式识别、故障诊断等任务。

5.1 各频带能量特征

对每一层(或每个节点)的系数计算能量,组成特征向量。 [ E_i = \sum_{k} |c_i(k)|^2 ] 各频带能量通常以归一化后的形式使用,反映信号能量在不同频率范围的分布。例如,一个3层DWT可提取4个能量特征(cA3, cD3, cD2, cD1)。该特征对非平稳变化鲁棒,是最常用的特征之一。

5.2 统计特征

基于每层系数,可以计算多种统计量:

  • 均值、标准差、方差:描述系数的中心趋势和散布程度。
  • 偏度、峭度:反映系数分布的形状,峭度对冲击性故障敏感。
  • 峰值因子、波形因子:帮助区分信号的平稳性与脉冲性。

5.3 小波熵

熵衡量系统的紊乱程度。常用的小波熵有:

  • 小波能量熵:基于各频带相对能量的香农熵,值越大表示能量分布越均匀。
  • 小波奇异熵:对系数矩阵进行奇异值分解后计算熵,对信号突变敏感。
  • 小波包熵:在小波包分解树上计算,可提供更细粒度的复杂度信息。

5.4 局部极值与过零率

从细节系数中提取局部极大值的位置、幅度,可以定位信号的突变点(如心电图的R波检测)。系数的过零率能粗略反映对应频带的主频变化。

5.5 小波域分形特征

对于具有自相似结构的信号(如机械设备摩擦、纹理图像),可在小波域计算分形维数,作为跨尺度的不变性特征。


6. 实战示例:基于Python的小波特征提取

以下代码片段使用 PyWavelets 库进行3层小波分解并提取各频带能量占比。

import pywt
import numpy as np

# 示例信号
fs = 1000
t = np.linspace(0, 1, fs)
signal = np.sin(2 * np.pi * 10 * t) + 0.5 * np.random.randn(fs)

# 选择小波基并做3层分解
coeffs = pywt.wavedec(signal, 'db4', level=3)
cA3, cD3, cD2, cD1 = coeffs

# 计算各层能量
energy = [np.sum(c**2) for c in coeffs]
total_energy = sum(energy)
energy_ratio = [e / total_energy for e in energy]

print("近似cA3能量占比:", energy_ratio[0])
print("细节cD3能量占比:", energy_ratio[1])
print("细节cD2能量占比:", energy_ratio[2])
print("细节cD1能量占比:", energy_ratio[3])

在此基础上,可扩展计算方差、熵等特征,构建最终的特征向量。


7. 选择合适的小波基与分解层数

  • 小波基的选择:与信号形状相似的基函数可带来更稀疏的表示。分析瞬态冲击常选db4~db10;心电信号常用sym4或bior小波;Morlet适合连续谱分析。
  • 分解层数的确定:层数过多会导致近似系数包含的信息过少,层数过少则频带划分不够精细。常用准则为 ( L = \lfloor \log_2(N) \rfloor - 1 ),其中 ( N ) 为信号长度,但实际应用中需要根据关心的最低频率成分来调整。

8. 小波特征的典型应用

  • 机械故障诊断:通过分析振动信号各频带的能量分布和峭度变化,早期发现轴承、齿轮裂纹。
  • 生物医学信号处理:脑电EEG信号的节律波提取(δ、θ、α、β、γ),心电ECG的QRS复合波检测,肌电信号的疲劳特征分析。
  • 语音与声学分析:提取梅尔频率域小波系数作为音频分类特征。
  • 图像纹理识别:2D小波分解得到水平、垂直、对角细节子带,从中获取均值和方差作为纹理特征。
  • 电力系统扰动检测:利用离散小波变换定位电压骤降、暂态脉冲,提取扰动持续时间与强度特征。

9. 小结

小波变换通过多尺度分析实现了信号在时域和频域的双重定位,它生成的系数蕴藏着丰富的局部结构信息。围绕这些系数构造的能量特征、统计量、熵值等,能够刻画信号的平稳度、奇异性、复杂度以及频带分布,成为模式识别领域极其有效的前端。

掌握小波变换特征的提取流程后,建议在真实数据集上尝试对比不同的母小波、分解层数和特征组合,以找到针对具体问题的最优配置。