1.理解:

信号叠加时,不是都是线性关系(时域相互+ 频率相加);有的时候是两种信号成分相乘得到的,(时域卷积,频域相乘):比如很多齿轮啮合时振动信号调制现象,电机的轴向与径向的振动耦合时采集到的振动,声带的冲击(源信号)通过口腔(可以看成滤波器或者系统)发出的声音等等。

通过倒谱可以解析

步骤

  1. sigData = x* y卷积   :sigData是采集到的时域信号,x,y是我们想要分离的信号成分。

  2. FFT(sigData) = FFT(X) FFT(Y) 频域相乘

  3. log (FFT(sigData)) = log(FFT(X)) + log(FFT(Y)  本质上是将信号同态化,通过 log的性质乘关系的信号 变成 加的关系。比如下图中第一幅图。这时,信号中的频率是第二幅图与第三幅图的线性叠加。下一步我们通过再进行一次FFT(ifft其实本质就是FFT),得到低频部分与高频部分

(图来源见水印)

  4. ifft (log (FFT(sigData)) ) 相当于 将第3步骤中得到的频率曲线,当成一个初始信号,再进行一次FFT变换,把这个频率曲线中的高频波动(上面第[3]个子图)和低频趋势(或者叫频率包络)(上面第[2]个子图)分离,以频率的形式解析出来。

    IFFT 本质还是FFT,应为FFT与iFFT的结果 , 互为共轭,相差N倍

2.应用:

  1. 语音信号中 获取声音信道的方法,MFCC,Mel 频率倒谱系数, 不过里面用的是 DCT, 离散余弦变换(类似FFT)。

  2. 变速箱存在故障或振动较大时,采集到的是很多个齿轮与齿轮啮合、存在调制的信号,通过倒谱可以再混杂的信号中找出相关信号频率,进一步找出导致振动大的相关齿轮。

附:

关于 FFT 与 i-FFT的 Matlab 计算结果

x = [1 2 3 3 2 1 ]
 
 
x_f = fft(x)
x_f = 1×6 complex
12.0000 + 0.0000i   -3.0000 - 1.7321i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   -3.0000 + 1.7321i
 
x_if = ifft(x)*6
x_if = 1×6 complex
12.0000 + 0.0000i   -3.0000 + 1.7321i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   -3.0000 - 1.7321i
 
plot(x_f )
plot(x_if )

倒谱Cepstrum本质的理解的更多相关文章

  1. Java线程中断的本质深入理解(转)

    一.Java中断的现象 首先,看看Thread类里的几个方法: public static boolean interrupted 测试当前线程是否已经中断.线程的中断状态 由该方法清除.换句话说,如 ...

  2. Java线程中断的本质深入理解

    Java的中断是一种协作机制.也就是说调用线程对象的interrupt方法并不一定就中断了正在运行的线程,它只是要求线程自己在合适的时机中断自己. 一.Java中断的现象 首先,看看Thread类里的 ...

  3. JSP本质的理解(浏览器调试,response里面的文本都是out.write写入网络流)

    一.请求转发到一个Servlet 请求重定向后,url显示的是/abc1234这个url 这个jsp页面就是一个servlet[通过our把文本输入的网络流里面去了]

  4. 6. 从Encoder-Decoder(Seq2Seq)理解Attention的本质

    1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...

  5. 如何从编程的本质理解JVM内存模型

    如何从编程的本质理解JVM内存模型 一般聊JVM内存模型都是把图截出来,然后对着图,解释上面堆.栈之类的概念.这篇将分享下,如何从编程的本质上理解,JVM内存模型是什么样子,为什么是这个样子,不再死记 ...

  6. 语音频谱语音信号处理之(四)梅尔频率倒谱系数(MFCC)

    今天一直在查找语音频谱之类的问题,今天正好有机会和大家共享一下. 语音信号处置之(四)梅尔频率倒谱系数(MFCC) zouxy09@qq.com http://blog.csdn.net/zouxy0 ...

  7. 梅尔频率倒谱系数(MFCC) 学习笔记

    最近学习音乐自动标注的过程中,看到了有关使用MFCC提取音频特征的内容,特地在网上找到资料,学习了一下相关内容.此笔记大部分内容摘自博文 http://blog.csdn.net/zouxy09/ar ...

  8. 【VS开发】【智能语音处理】语音信号处理之(四)梅尔频率倒谱系数(MFCC)

    语音信号处理之(四)梅尔频率倒谱系数(MFCC) zouxy09@qq.com http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要 ...

  9. 全面理解面向对象的 JavaScript (share)

     以下分享自:  http://www.ibm.com/developerworks/cn/web/1304_zengyz_jsoo/   简介: JavaScript 函数式脚本语言特性以及其看似随 ...

随机推荐

  1. YbtOJ#832-鸽子饲养【凸包,Floyd】

    正题 题目链接:https://www.ybtoj.com.cn/contest/116/problem/3 题目大意 给出两个大小分别为\(n,m\)的点集\(A,B\). 求出\(B\)的一个最小 ...

  2. Linux环境yum,安装MySQL

    Linux 使用yum命令安装mysql [安装步骤] 1.先检查系统是否安装有mysql [root@localhost ~]#yum list installed mysql* [root@loc ...

  3. FastAPI(44)- 操作关系型数据库

    ORM FastAPI 可与任何数据库和任何样式的库配合使用并和数据库通信 object-relational mapping 对象关系映射 ORM 具有在代码和数据库表(关系)中的对象之间进行转换( ...

  4. MySQL高可用架构-MMM、MHA、MGR、PXC

    主从复制如何工作 在主库把数据记录到binlog(二进制日志). 备库开IO线程把binlog复制到自己的relaylog(中继日志). 备库读取中继日志,重放到备库上. 半同步复制 半同步复制可以确 ...

  5. 使用Jacoco统计服务端代码覆盖情况实践

    一.背景 随着需求的迭代,需求增加的同时,有可能会伴随着一些功能的下线.如果不对系统已经不用的代码进行梳理并删除不需要的代码,那么就会增加系统维护成本以及理解成本.但经历比较长的迭代以及系统交接,可能 ...

  6. Java面向对象编程(三)

    static关键词 static关键字:可以修饰属性.方法.代码块.内部类. 一.使用static修饰属性:静态变量(或类变量) 1. 属性,按是否使用static修饰,又分为:静态属性 vs 非静态 ...

  7. S_型文法到q_型文法再到LL(1)型文法演进笔记

    title: S_型文法到q_型文法再到LL(1)型文法演进笔记 date: 2020-08-23 S_型文法到q_型文法再到LL(1)型文法演进笔记 S_型文法(简单的确定性文法) 每个产生式的右部 ...

  8. VUE中v-for更新检测

    口诀: 数组变更方法,就会导致 v-for 更新,页面更新 数组非变更方法:返回新数组,就不会导致 v-for 更新,更新值检测不到可采用覆盖或者 this.$set() 数组变更方法如下: 1. a ...

  9. ES2020新特性记录

    1.可选链操作符 // oldlet ret = obj && obj.first && obj.first.second// newlet ret = obj?.fi ...

  10. 安装多个版本的MySQL

    安装多个版本的MySQL 之前在PC机上安装了 MySQL 5.5 后续发现了窗口函数,而窗口函数是 MySQL8 以后才支持的,故在本地又安装了一个 MySQL 8 安装MySQL 5.5 进入my ...