当前位置: 首页 > news >正文

傅里叶变换小波变换

在信号分析领域,我们经常面对这样的问题:

信号中有哪些频率成分?这些频率在什么时候出现?是否发生了突变?

围绕这个问题,形成了三种非常经典、也是工程中最常用的分析工具:

  • 傅里叶变换(Fourier Transform, FT)
  • 短时傅里叶变换(Short-Time Fourier Transform, STFT)
  • 小波变换(Wavelet Transform, WT)

一、傅里叶变换(FT)

1. 核心思想

傅里叶变换回答的问题是:

一个信号,可以分解成哪些频率的正弦波?

数学形式为:
X(f)=∫−∞∞x(t),e−j2πft,dt X(f) = \int_{-\infty}^{\infty} x(t), e^{-j2\pi f t}, dtX(f)=x(t),ej2πft,dt

2. 使用的基函数

  • 无限长的正弦 / 余弦波
  • 或复指数形式:ej2πft e^{j2\pi f t}ej2πft
    👉 特点:
  • 在整个时间轴上全局存在
  • 不具备时间局部性

3. 能看到什么?

  • 频谱(Frequency Spectrum)
  • 每个频率的“总能量”
    但你永远不知道这些频率是在什么时候出现的

4. Python Demo:频谱图

importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.fftimportfft,fftfreq fs=1000t=np.arange(0,2,1/fs)signal=np.sin(2*np.pi*5*t)+np.sin(2*np.pi*50*t)*(t>1)N=len(signal)yf=fft(signal)xf=fftfreq(N,1/fs)plt.figure(figsize=(10,4))plt.plot(xf[:N//2],np.abs(yf[:N//2]))plt.title("傅里叶频谱")plt.xlabel("频率 (Hz)")plt.ylabel("幅值")plt.grid()plt.show()

5. 优缺点

优点

  • 数学完备、计算高效
  • 适合平稳信号

缺点

  • 完全丢失时间信息
  • 对突变、瞬态信号无能为力

二、短时傅里叶变换(STFT)

1. 为什么需要 STFT?

傅里叶的问题在于:
时间信息被整体“积分”掉了
解决办法很直观:

把信号分成一小段一小段,每一段分别做傅里叶变换。

2. 数学形式

STFT(t,f)=∫x(τ),w(τ−t),e−j2πfτdτ STFT(t,f) = \int x(\tau), w(\tau - t), e^{-j2\pi f \tau} d\tauSTFT(t,f)=x(τ),w(τt),ej2πfτdτ
其中:

  • w(⋅)w(\cdot)w()固定长度窗口函数

3. 使用的基函数

  • 加窗正弦波w(t−τ)⋅ej2πft w(t-\tau) \cdot e^{j2\pi f t}w(tτ)ej2πft
    👉 本质:

“有限时间长度的傅里叶基函数”

4. 能看到什么?

  • 时频图(Spectrogram)
  • 频率随时间变化

5. Python Demo:STFT 时频图

fromscipy.signalimportstft f,tt,Zxx=stft(signal,fs=fs,nperseg=128)plt.figure(figsize=(10,4))plt.pcolormesh(tt,f,np.abs(Zxx),shading='gouraud')plt.title("STFT 时频图")plt.xlabel("时间 (秒)")plt.ylabel("频率 (Hz)")plt.colorbar(label="幅值")plt.ylim(0,150)plt.show()

6. 关键问题:固定分辨率

STFT 有一个不可避免的物理极限

窗口一旦固定,时间分辨率和频率分辨率无法同时提高

  • 窗口短 → 时间准,频率模糊
  • 窗口长 → 频率准,时间模糊

7. 优缺点

优点

  • 能看时间变化
  • 工程实现简单

缺点

  • 固定分辨率
  • 对低频慢变 / 高频突变同时存在的信号表现一般

三、小波变换(Wavelet Transform)

1. 小波的根本思想

小波解决的问题是 STFT 的“致命缺陷”:

不同频率,应该用不同时间尺度来观察

2. 数学形式(连续小波)

W(a,b)=∫x(t),1∣a∣,ψ!(t−ba),dt W(a,b) = \int x(t), \frac{1}{\sqrt{|a|}}, \psi!\left(\frac{t-b}{a}\right), dtW(a,b)=x(t),a1,ψ!(atb),dt

  • aaa:尺度(scale≈频率)
  • bbb:时间平移
  • ψ(t)\psi(t)ψ(t):母小波

3. 使用的基函数

  • 可伸缩、可平移的小波函数ψa,b(t)=1∣a∣ψ!(t−ba) \psi_{a,b}(t) = \frac{1}{\sqrt{|a|}} \psi!\left(\frac{t-b}{a}\right)ψa,b(t)=a1ψ!(atb)
    👉 特点:
  • 高频 → 短窗口(时间分辨率高)
  • 低频 → 长窗口(频率分辨率高)

4. 常见小波函数

  • Haar
  • Daubechies(db4、db8)
  • Symlet
  • Coiflet
  • Morlet(连续小波)

5. Python Demo:连续小波时频图

importpywt scales=np.arange(1,128)coeffs,freqs=pywt.cwt(signal,scales,'morl',sampling_period=1/fs)plt.figure(figsize=(10,4))plt.imshow(np.abs(coeffs),extent=[0,2,freqs[-1],freqs[0]],aspect='auto',cmap='jet')plt.title("小波时频图")plt.xlabel("时间 (秒)")plt.ylabel("频率 (Hz)")plt.colorbar(label="幅值")plt.show()

6. 优缺点

优点

  • 多分辨率分析
  • 非平稳、突变信号表现极佳
  • 边缘、瞬态不被抹平

缺点

  • 小波基选择有经验性
  • 理论和实现复杂度高于 STFT

四、三种方法的系统对比

4.1 本质差异不是“变换形式”,而是“分辨率分配策略”

方法本质策略
傅里叶变换全部时间信息换成频率精度
STFT在时间轴上等分窗口,每段单独做傅里叶
小波变换频率越高,时间窗口越短;频率越低,时间窗口越长

这背后实际上对应三种“信息分配哲学”:

  • FT:假设信号是“统计稳定的”
  • STFT:假设信号“局部近似平稳”
  • WT:承认信号本质是多尺度非平稳的

4.2 时间–频率不确定性原理的体现方式不同

所有时频分析方法都受限于:
Δt⋅Δf≥C \Delta t \cdot \Delta f \ge CΔtΔfC

区别在于谁来承担这个代价

方法时间分辨率频率分辨率代价承担方式
FT极高时间信息完全丢失
STFT固定固定所有频段一刀切
小波自适应自适应低频给频率,高频给时间

👉关键结论
小波不是“突破不确定性原理”,而是更聪明地分配分辨率预算

4.3 对非平稳性的适应能力

信号特征FTSTFTWT
平稳正弦★★★★★★★★
突变★★★★★★
调频★★★★★★
冲击×★★★★
多尺度叠加×★★★★

这也是为什么在振动分析、故障诊断、生物信号领域,小波逐渐成为“标配工具”。

五、典型工程应用场景

这一部分不再按“方法”划分,而是按工程问题类型划分,更贴近真实使用场景。

5.1 降噪问题

5.1.1 傅里叶滤波的适用条件
  • 噪声频段与信号频段明显分离
  • 噪声统计特性稳定(如白噪声)

问题:

  • 突变、边缘会被“磨平”
  • 非平稳噪声效果很差
5.1.2 小波阈值去噪

小波去噪利用两个事实:

  1. 信号在小波域是稀疏的
  2. 噪声在各尺度是分散的
    典型流程:
信号 → 小波分解 → 高频系数阈值 → 重构

工程优势:

  • 保留突变
  • 保留相位结构
  • 去噪不引入明显延迟

📌 常见应用:

  • ECG / EEG
  • 传感器噪声
  • 工业振动信号

5.2 振动与故障检测

这是 FT/STFT/WT分化最明显的场景。

5.2.1 傅里叶能做什么?
  • 整体频谱能量分布
  • 共振频率、主频

👉 适合:

  • 稳态旋转机械
  • 长时间统计分析
5.2.2 STFT 的价值
  • 频率漂移
  • 工况切换过程

👉 典型应用:

  • 启停过程
  • 转速变化过程
5.2.3 小波的“杀手级能力”
  • 冲击
  • 轴承剥落
  • 齿轮断齿
  • 裂纹早期征兆

因为这些信号:

  • 短时
  • 高频
  • 能量低

恰好是 STFT 最不擅长、但小波最擅长的类型。

5.3 非平稳复杂信号

场景推荐方法
单一调频STFT / Chirplet
多调频叠加小波
瞬态 + 背景振荡小波 / HHT
突发事件检测小波

六、总结

6.1 快速选型口诀

频率固定看 FT
变化不快用 STFT
变化复杂上小波

6.2 实战推荐组合

组合 1:工业振动
STFT 定位异常时间段 → 小波精细分析 → 特征提取 + ML
组合 2:信号预处理
小波去噪 → 傅里叶特征 → 模型训练
组合 3:在线监测
STFT 实时监控 → 小波离线复核

6.3 为什么工程上不会“只用一种方法”

原因很现实:

  • FT:快、稳定、可解释
  • STFT:折中、易部署
  • 小波:强、但复杂

真正成熟的系统,几乎都是多方法协同

http://www.cnnetsun.cn/news/114451.html

相关文章:

  • 智能桑拿房首选:水管家集成系统如何提升体验?
  • 最简单的LangChain和RAG
  • 空压机监控运维管理系统方案
  • 实习面试题-Rust 面试题
  • 视频字幕精确生成方法 用到字幕api开发文档
  • React Fiber 架构解析:如何利用 `requestIdleCallback` 实现时间切片(Time Slicing)
  • SPA 应用中的路由切换内存泄漏:未注销的 Scroll 监听与全局变量
  • 游泳池漆专用施工涂料如何选?专业视角解析耐水抗氯性能
  • 中国RFID设备十大企业综合实力解析
  • C#静态成员总结 常量与只读字段总结 类的继承总结
  • 都说东莞有好的AI销售厂家,实际情况真如此吗?
  • Python开发者必看:一行代码切换GPT-5.2与DeepSeek V3.2,企业级大模型中台搭建实录
  • 浏览器代理实现理想数据抓取
  • LeetCode 01 背包 完全背包 题型总结
  • ubuntu通过公网Ubuntu服务器远程桌面连接私网IPUbuntu
  • Unity学习笔记(十九)GUI控件(三)
  • IPA 深度混淆是什么意思?分析其与普通混淆的区别
  • 33、Linux 内存管理全解析
  • 5.回溯算法
  • 嵌入式模组温控策略
  • 【昇腾CANN训练营·架构篇】打破内存墙:Ascend C 算子融合(Operator Fusion)的极致心法
  • 【昇腾CANN训练营·算法篇】寻找消失的除法器:Newton Iteration 与高精度数学计算的艺术
  • 19、Linux 帧缓冲接口设计与图形库应用
  • 人才发展ℓℓ 人才盘点怎么做?这篇完全应用手册给出答案
  • 真相来了|字节跳动的人才真相:真正拉开差距的,是“人才密度”(附人才密度清单)
  • 力扣(LeetCode) 66: 加一 - 解法思路
  • HC32L130精准延时实现指南
  • 收藏必看!大学生网络安全学习5大方向,校招不踩坑,小白也能逆袭!
  • 收藏!从“黑客梦“到网络安全专家:过来人告诉你自学路线图
  • Bagisto 产品更新后,前台默认语言的内容不更信,其他语言正常。