文章目录

  • 1 前言——傅里叶变换和短时傅里叶变换
    • 1.1 频域
    • 1.2 傅里叶级数的频谱
    • 1.3 举个例子
    • 1.4 傅里叶的缺点
    • 1.5 短时傅里叶变换的缺点
  • 2 正文
    • 2.1 小波和短时傅里叶
    • 2.2 变换效果如图
  • 3 代码

参考文章:

原文链接:https://zhuanlan.zhihu.com/p/19763358

1 前言——傅里叶变换和短时傅里叶变换

  • 经验模态分析和离散小波变换都是针对于傅里叶变换和短时傅里叶变换的缺点提出来的!

1.1 频域

上图是时域,下图是频域。

  • 贯穿时域与频域的方法之一,就是傅里叶分析。
  • 傅里叶分许可以分为:傅里叶级数和傅里叶变换。

1.2 傅里叶级数的频谱


  • 不仅仅是矩形,其实任意波形都是可以用这种方式,用正弦波叠加起来的。

1.3 举个例子

所以很多在时域看似不可能做到的数学操作,在频域相反很容易。这就是需要傅里叶变换的地方。尤其是从某条曲线中去除一些特定的频率成分,这在工程上称为滤波,是信号处理最重要的概念之一,只有在频域才能轻松的做到。

1.4 傅里叶的缺点

(1)傅里叶分析不能刻画时间域上信号的局部特性
(2)傅里叶分析对突变和非平稳信号的效果不好,没有时频分析

1.5 短时傅里叶变换的缺点

  • 短时傅里叶变换又称,加窗傅里叶变换

缺点是,短时傅里叶的窗口大小难以定义。不能窗口太窄,否则窗内的信号太短,会导致频率分析不够精准,频率分辨率差。
不能窗口太宽,否则时域上不够精细,时间分辨率低。

2 正文

  • 傅里叶变换对时间不是很敏感
  • 短时傅里叶变换,使用了窗口,假定窗口内的是稳定信号;缺点:窗口的宽度是无法改变的
  • 小波变换:很好的应对时变的、非稳态的数字信号

2.1 小波和短时傅里叶

短时傅里叶最头疼的是窗口大小问题,如果能够让窗口的大小可以改变,那就非常奈斯了!

短时傅里叶(STFT)是给信号加窗,分段做傅里叶分析(FFT);
而小波变换,直接把傅里叶的基换了,将无限长的三角函数基换成了有限长的会衰减的小波基。
这样不仅能够获取频率,还可以定位到时间了!!

2.2 变换效果如图

  1. 公式上的变换

  2. 图像上的变换,基函数的改变

我大概就学到这里了,我就直接去看代码了。。。

3 代码

import numpy as np
import pandas as pd
import pywt
from skimage.restoration import denoise_wavelet  # 小波去噪的一个包
import matplotlib.pyplot as plt# x 是序列数据,是numpy类型的x = x.astype(float)/np.max(x) # 除以最大值是为了均值化
x = x[1000:1200]sigma = 0.05
x_noisy = x + sigma * np.random.randn(x.size)x_denoise = denoise_wavelet(x_noisy, method='BayesShrink', mode='soft', wavelet_levels=3, wavelet='sym8', rescale_sigma='True')plt.figure(figsize=(20, 10), dpi=100)
plt.plot(x_noisy)
plt.plot(x_denoise)
plt.show()

两步搞定经验模态分解与离散小波变换相关推荐

  1. 两步搞定Hyperledger主打区块链解决方案Fabric

    区块链技术发展至今,形成了公有链和联盟链两种主流技术平台. 公有链 面向大众,用户可以匿名参与,非常方便,账本数据也公开,加上强大的智能合约,因此公有链极大地促进了区块链概念和技术的普及,比如比特币. ...

  2. 51php服务器稳不稳定,百度经验:两步搞定PHP-FPM优化,让服务器更平稳

    原标题:百度经验:两步搞定PHP-FPM优化,让服务器更平稳 导言:Web服务器的CPU指标和MEM指标异常,不稳定?可能是PHP-FPM进程重启机制的问题导致的,一同和百度外卖探索下如何优化吧.作者 ...

  3. 两步搞定暴风影音的文字广告!

    两步搞定暴风影音的文字广告! 今天才把暴风影音2升级了(已到2.07.08.20),重启后,居然看见有广告,虽然还是文字阶段!于是就在其官网的BBS看见了这个 关于暴风文字链广告的公告--恳请广大用户 ...

  4. H5页面-两步搞定文字首行缩进

    H5页面-两步搞定文字首行缩进 1. 定义样式 2. 应用样式 有时我们需要对一大段文字进行首行缩进(就是那种写作文每段前面空2格的意思) 1. 定义样式 在head里面定义好样式 p: p标签 te ...

  5. 两步搞定ubuntu18.04安装QQ,并实现屏幕共享,亲测

    腾讯官方不做linux版QQ,而是第三方deepin-wine做的. 第1步,下载和安装最新的deepin-wine环境: https://github.com/wszqkzqk/deepin-win ...

  6. 苹果手机怎么在照片上添加文字_给微信拍照的照片添加文字,调整后期效果,手机两步搞定!...

    给微信拍照的照片添加上文字,并调整后期效果非常的简单哦!添加文字一键搞定,添加滤镜.纹理以及调整图片的各种参数,也都是一键搞定哦,非常的方便的! 除了直接添加上后期效果和文字,还能够使用一些模版,增加 ...

  7. 如何用分区助手来进行分区U盘或外接硬盘【教你两步搞定】

    第一步:下载PAWinPE(分区助手) 链接:https://pan.baidu.com/s/1mJ5ydy4tNxNOwwbrXuXAKw 提取码:fnjw 第二步:

  8. WiFi防蹭网两步搞定

    打开这两个设置可以有效防止蹭网

  9. 数仓实战|两步搞定Hive数据加载到Greenplum

    如果说Hive是离线数仓的代表,那么Greenplum就是MPP数据库的代表.在离线数仓的年代,以Hive为核心的数据仓库席卷数据仓库市场,几乎成为了离线数仓的代名词.但是Hive的查询能力非常弱,通 ...

  10. 利用DB Link两步搞定Oracle两个数据库间的表同步

    一.实现目标: 要实现从源表:AAA到目标表:BBB的数据同步. 二.在目标机上建立Oracle DB Link: 1. 在network/admin/tnsname.ora文件中加入源库的连接信息, ...

最新文章

  1. springboot项目输入打印日志文件到本地
  2. python格式化字符串语法_详解Python3 中的字符串格式化语法
  3. SQL Server 中 sysobjects表
  4. ubuntu系统批量端口永久开放
  5. AChartEngine中的Renderer和DataSet介绍
  6. jieba库词频统计_如何用python对《三国演义》、《红楼梦》等名著开展词云分析及字频统计、出场统计等工作。...
  7. J2SE核心实战开发—— 集合类框架
  8. __va_rounded_size
  9. python简述列表特征_python高级特性简介
  10. java多线程-生产者消费者模式
  11. Redis系列之key操作命令与Redis中的事务详解(六)
  12. Robocopy命令实现文件服务器每日镜像备份/增量备份操作
  13. (三)Mybatis类型转换器,接口传参类型,一对一,一对多查询resultMap配置
  14. 工单管理软件,免费工单管理系统
  15. html5文字云在线制作,一键生成高大上的文字云,这5个工具值得推荐。
  16. 08-微信公众号素材管理
  17. HCIP 综合实验(一)
  18. imp导入时遇到的问题及解决方式
  19. ppt中加入html,如何在ppt中插入html网页.ppt
  20. 【推荐系统】POLY2、FM、FFM模型的进化之路

热门文章

  1. jQ实现简单放大镜效果
  2. 阿里云大学>【Python学习路线】Python语言基础自测考试 - 初级难度 | 包过关系列
  3. Securing Services with Spring Cloud Gateway
  4. VBA代码翻译成Python调用示例
  5. 荣耀9.0系统怎么无需root激活XPOSED框架的教程
  6. java实现语音播放功能
  7. g729编解码的总结
  8. PDF动态生僻字文本处理
  9. 如何通过Matlab调用Aspen?
  10. 三菱plc分拣程序_基于三菱PLC控制的物料分拣系统设计与实现