经验小波变换EWT是一种自适应信号分解方法。它借鉴了经典小波变换的数学框架,但不再依赖固定的小波基,而是根据信号自身的傅里叶频谱特性,自动将频谱划分成若干个连续的区间,并在每个区间上构造正交的小波滤波器组,从而将信号分解成一系列具有窄带特征的模态分量。相比经验模态分解,EWT 在数学上更严谨,避免了模态混叠和端点效应等问题。
固定边界 EWT 则是在此基础上,允许用户根据先验知识(如生理信号的特定频段)人为指定频谱划分的边界,不再完全依赖自适应划分。这种做法在已知信号频率分布的应用中(例如 ECG、EEG、行走加速度信号等)特别实用,可以保证每个子带对应明确的物理意义。算法首先根据给定的频率边界计算过渡带的宽度比例,然后利用 Meyer 小波构造方法生成尺度函数和小波函数的频域响应,最后通过频域滤波实现信号的分解与重构。整个滤波器组是正交的,因此既可以用于特征提取,也可以用于信号降噪。
算法步骤
载入信号并预处理:读入原始信号,将其幅值归一化到 [-1, 1] 范围,并记录采样频率。
指定频率边界:根据应用需求或信号特点,人为确定若干个频率分割点(例如 5 Hz、10 Hz、15 Hz …),这些边界将信号的频谱划分为多个连续的频带。
将频率边界转换为归一化角频率:因为后面所有计算都在角频率空间进行,需要把用户输入的 Hz 单位乘以 2π 再除以采样率,得到 [0, π] 上的归一化值。
计算过渡带宽度比例 γ:为了保证相邻滤波器之间有平滑的过渡带,需要遍历所有相邻边界以及最高边界到 π 的间隔,找出最小的过渡带比例,再略微缩小一点(乘以 (1-1/N))作为最终 γ。
构造滤波器组:
对第一个频带(0 ~ 第一个边界)构造 Meyer 尺度函数(低通滤波器)。
对中间每个频带(边界 k ~ 边界 k+1)构造 Meyer 小波(带通滤波器)。
对最后一个频带(最后一个边界 ~ π)构造最高频小波(高通滤波器)。 所有滤波器都在频域通过 Meyer 小波公式计算得到,并做 ifftshift 调整为标准顺序。
频域滤波分解:
计算原始信号的傅里叶变换。
将每个滤波器的频域响应(共轭)与信号频谱相乘,再逆傅里叶变换,得到每个子带的时域信号。
信号重构:将所有子带信号直接相加,即得到重构后的信号。由于滤波器组是正交且能量完备的,重构信号与原始信号几乎完全一致(存在微小数值误差)。
结果可视化与误差评估:绘制滤波器组的幅频曲线、各子带时域波形、原始与重构信号的对比图以及重构误差图,验证分解与重构的正确性。