首先,HHT中用到的EMD详细介绍:https://wenku.baidu.com/view/3bba7029b4daa58da0114a9a.html

本文具体参考

为什么要用EMD?

对于信号的处理,可以是在频域,时域,或者时频域,其中信号在时频处理的方法有小波变换和EMD,但是小波变换是基于指定小波基的分析,一旦指定小波基,就是的分解出来的模式固定,而对于不同信号的分析最好采用不同的小波基以达到最好的处理效果;对应的EMD的方法正好可以解决这个问题,EMD相当于是一种自适应正交基的时频信号处理方法。也就是说对于一段未知的非线性非平稳信号的处理,不需要预先的分析与研究,就可以直接开始分解,这个方法会自动按照一些固定模式按层次分好,不需要人为干预与设置。

要理解EMD方法,就需要理解分析本征模态分量IMF

IMF指的是原始信号被EMD分解后得到的各层信号分量,我们通常认为任何信号都可以分解成若干个IMF的分量之和,IMF有两个约束条件

(1)在整个数据段内,极值点和过零点的个数必须相等或者 相差最多不能超过一个

(2)任意时刻由局部极大值点形成的上包络线和由局部极小值点形成的下包络线的平均值为零

最后对于具体的EMD的分解过程

1)根据原始信号的上下极值点,分别画出上下包络线

2)求上下包络线的均值,画出均值包络线

3)原始信号减均值包络线,得到中间信号

4)判断该中间信号是否是IMF(用上面的那两个条件)如果不是以该信号为基础重做1-4的分析

5)用上面的方法得到第一个IMF后,用原始信号减IMF1 作为新的原始信号, 再通过1-4的分析,可以得到IMF2,以此类推,完成EMD分解

在具体的应用中需要注意的是EMD分解过程中涉及到的:求解包络线的时候端点效应,以及筛分过程和分解过程的停止准则

实际信号中一旦出现间歇性信号,采用EMD的分解方法会出现频率混叠的现象,也叫模态混叠,具体的表现为一个IMF分量中存在多个尺度成分,或者是一个尺度成分在多个IMF分量中存在。

为了解决这个问题,人们提出了采用噪声辅助处理方法,EEMD(总体经验模态分解)以及CEEMD(补充总体经验模态分解)。EEMD是在原始信号中加入白噪声从而改变信号的极值点分布,而CEEMD则是在原始信号中加入一组噪声信号来改变信号的极值点分布。

根据 Yeh 等人的研究,在加入相同数量以及相同幅值的白噪声时,EEMD 剩余噪声会随着集成平均的次数而逐渐减小。CEEMD 的剩余噪声一直维持在一个较小的程度,不论集成平均次数多少。在一定程度上使用 CEEMD方法进行信号分解,可以使用相对较少的集成平均次数,从某种意义上来说,CEEMD在保证小剩余噪声干扰的情况下,能够节省计算时间。

 

EMD——EEMD——CEEMD语音增强算法基础的更多相关文章

  1. 基于Matlab的MMSE的语音增强算法的研究

    本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表.   目录: --基于谱减法的语音信号增强算法..................................... ...

  2. AliCloudDenoise 语音增强算法:助力实时会议系统进入超清音质时代

    近些年,随着实时通信技术的发展,在线会议逐渐成为人们工作中不可或缺的重要办公工具,据不完全统计,线上会议中约有 75% 为纯语音会议,即无需开启摄像头和屏幕共享功能,此时会议中的语音质量和清晰度对线上 ...

  3. 图像处理之Retinex增强算法(SSR、MSR、MSRCR)

    视网膜-大脑皮层(Retinex)理论认为世界是无色的,人眼看到的世界是光与物质相互作用的结果,也就是说,映射到人眼中的图像和光的长波(R).中波(G).短波(B)以及物体的反射性质有关 其中I是人眼 ...

  4. [论文] FRCRN:利用频率递归提升特征表征的单通道语音增强

    本文介绍了ICASSP2022 DNS Challenge第二名阿里和新加坡南阳理工大学的技术方案,该方案针对卷积循环网络对频率特征的提取高度受限于卷积编解码器(Convolutional Encod ...

  5. Levenberg-Marquardt算法基础知识

    Levenberg-Marquardt算法基础知识 (2013-01-07 16:56:17) 转载▼   什么是最优化?Levenberg-Marquardt算法是最优化算法中的一种.最优化是寻找使 ...

  6. 解读Raft(一 算法基础)

    最近工作中讨论到了Raft协议相关的一些问题,正好之前读过多次Raft协议的那paper,所以趁着讨论做一次总结整理. 我会将Raft协议拆成四个部分去总结: 算法基础 选举和日志复制 安全性 节点变 ...

  7. 腾讯2017年暑期实习生编程题【算法基础-字符移位】(C++,Python)

     算法基础-字符移位 时间限制:1秒 空间限制:32768K 题目: 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间. 你能帮帮小Q吗? ...

  8. 算法基础_递归_求杨辉三角第m行第n个数字

    问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...

  9. 毕业设计预习:SM3密码杂凑算法基础学习

    SM3密码杂凑算法基础学习 术语与定义 1 比特串bit string 由0和1组成的二进制数字序列. 2 大端big-endian 数据在内存中的一种表示格式,规定左边为高有效位,右边为低有效位.数 ...

随机推荐

  1. SAP_SD常用事务代码

    1.创建/修改/显示销售订单:VA01/VA02/VA03 2.根据销售订单创建交货单:VL01N 3.修改/显示交货单:VL02N/VL03N 4.交货单发货过账:VL02N 5.发货过账冲销:VL ...

  2. c++的符号表的肤浅认识

    符号表是编译期产生的一个hash列表,随着可执行文件在一起 示例程序 int a = 10; int b; void foo(){ static int c=100; } int main(){ in ...

  3. nginx基础知识小结

    配置文件讲解: #user nobody; #开启进程数 <= CPU数 worker_processes 1; #错误日志保存位置 #error_log logs/error.log; #er ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL UNION 操作符

    MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复的数据. 语法 MySQL UNION 操作符语法格式: SELECT ...

  5. 雅可比行列式【2】Jacobian行列式的意义

    2.1 线性变换将面积伸缩 对于一个\(\R^2\to\R^2\)的线性变换: \[ T(x,y)= \left[ \begin{array}{c} 4x-2y\\ 2x+3y \end{array} ...

  6. 201771010123汪慧和《面向对象程序设计JAVA》第七周实验总结

    一.理论部分 1.继承 如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量,如果想要在子类里面做一系列事情,应该放在父类无参构造器里面,在java中,只允许单继 ...

  7. 奔跑的绵羊js

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. ubuntu16.04 + Kdevelop + ROS开发和创建catkin_ws工作空间

    https://blog.csdn.net/p942005405/article/details/75715288 https://blog.csdn.net/LOVE1055259415/artic ...

  9. Thread--两线程交替打印

    package t3.copy; public class ThreadA extends Thread { private Object lock; public ThreadA(Object lo ...

  10. 普通java项目转换为带有Tomcat的动态Web项目

    原文链接:http://blog.csdn.net/l4432321/article/details/52049125 直接项目右键进入Properties配置,点击Project Facets,再点 ...