目录

  • 倒频谱定义
  • 倒频谱python案例

本教程为脑机学习者Rose发表于公众号:脑机接口社区 .QQ交流群:903290195

倒频谱定义

倒频谱可以分析复杂频谱图上的周期结构,分离和提取在密集调频信号中的周期成分,对于具有同族谐频、异族谐频和多成分边频等复杂信号的分析非常有效。倒频谱变换是频域信号的傅立叶积分变换的再变换。时域信号经过傅立叶积分变换可转换为频率函数或功率谱密度函数,如果频谱图上呈现出复杂的周期结构而难以分辨时,对功率谱密度取对数再进行一次傅立叶积分变换,可以使周期结构呈便于识别的谱线形式。第二次傅立叶变换的平方就是倒功率谱,即“对数功率谱的功率谱”。倒功率谱的开方即称幅值倒频谱,简称倒频谱。

简言之,倒频谱分析技术是将时域振动信号的功率谱对数化,然后进行逆傅里叶变化后得到的。倒频谱的水平轴为“倒频率”的伪时间,垂直轴为对应倒频率的幅值,其计算公式为:

倒频谱python案例

实现如下:

from scipy.fftpack import fft, fftshift, ifft
from scipy.fftpack import fftfreq
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")fs = 1000
#采样点数
num_fft = 1024"""
生成原始信号序列在原始信号中加上噪声
np.random.randn(t.size)其中y1是主频为5/10/20Hz的低频信号+噪声信号;
y2是主频为50、100/200Hz的高频信号+噪声信号;
y是y1和y2的调制结果
"""
t = np.arange(0, 5, 1/fs)
y1 = 10*np.cos(2*np.pi*5*t) + 7*np.cos(2*np.pi*10*t) + 5*np.cos(2*np.pi*20*t) + np.random.randn(t.size)
y2 = 20*np.cos(2*np.pi*50*t) + 15*np.cos(2*np.pi*100*t) + 25*np.cos(2*np.pi*200*t) + np.random.randn(t.size)
y = y1*y2plt.figure(figsize=(20, 12))
ax=plt.subplot(331)
ax.set_title('y1')
plt.plot(y1)ax=plt.subplot(332)
ax.set_title('y2')
plt.plot(y2)ax=plt.subplot(333)
ax.set_title('y=y1*y2')
plt.plot(y)"""
对低频信号y1进行 FFT(Fast Fourier Transformation)快速傅里叶变换
"""
Y1 = fft(y1, num_fft)
Y1 = np.abs(Y1)ax=plt.subplot(334)
ax.set_title('y1 fft')
plt.plot(Y1[:num_fft//2])"""
对高频信号y2进行 FFT
"""
Y2 = fft(y2, num_fft)
Y2 = np.abs(Y2)ax=plt.subplot(335)
ax.set_title('y2 fft')
plt.plot(Y2[:num_fft//2])"""
对信号y进行 FFT
"""
Y = fft(y, num_fft)
Y = np.abs(Y)ax=plt.subplot(336)
ax.set_title('y fft')
plt.plot(Y[:num_fft//2])
plt.tight_layout()
plt.show()

"""
倒频谱的定义表述为:信号→功率谱→对数→傅里叶逆变换
"""
spectrum = np.fft.fft(y, n=num_fft)
ceps = np.fft.ifft(np.log(np.abs(spectrum))).realplt.figure(figsize=(10, 5))
plt.plot(np.abs(ceps)[:num_fft//2])
plt.title('y->spectrum->log->ifft')
plt.ylim([0, 0.2])
plt.show()


代码来源于网络,本文对代码进行注释并整理

相似推荐
功率谱原理与python实现

脑机学习者Rose笔记分享,QQ交流群:903290195
更多分享,请关注公众号

倒频谱原理与python实现相关推荐

  1. 信号处理之频谱原理与python实现

    目录 频谱分析 FFT频谱分析原理 下面就用python案例进行说明 案例1 案例2 短时傅里叶变换STFT 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区.QQ交流群:941473018 ...

  2. Python在振动信号处理中的应用(十一):倒频谱(Cepstrum)计算

    文章目录 一.概述 二.算法原理 2.1 实倒谱 2.2 复倒谱 3 算法在python中实现 四.TIPS 一.概述   倒频谱(Cepstrum)也叫倒谱.二次谱和对数功率谱等.倒频谱的工程型定义 ...

  3. 频域特征提取的Python实现(频谱、功率谱、倒频谱)

    频域特征提取的Python实现(频谱.功率谱.倒频谱) 本文只对 频域特征值提取的MATLAB代码实现(频谱.功率谱.倒频谱) 做代码翻译,用python重写一遍,以加强对这些特征的理解 1. 频谱 ...

  4. 信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)

    信号的频域分析方法多种多样,这里针对较为常见的(频谱.能量谱.功率谱.倒频谱.小波分析)集中进行说明.这些方法的MATLAB代码实现参见文章频域特征值提取的MATLAB代码实现(频谱.功率谱.倒频谱) ...

  5. python gdbt+fm_GBDT回归的原理及Python实现

    提到GBDT回归相信大家应该都不会觉得陌生(不陌生你点进来干嘛[捂脸]),本文就GBDT回归的基本原理进行讲解,并手把手.肩并肩地带您实现这一算法. 完整实现代码请参考本人的p...哦不是...git ...

  6. 手把手教你EMD算法原理与Python实现(更新)

    Rose今天主要介绍一下EMD算法原理与Python实现.关于EMD算法之前介绍过<EMD算法之Hilbert-Huang Transform原理详解和案例分析>, SSVEP信号中含有自 ...

  7. 冲量(momentum)的原理与Python实现

    冲量(momentum)的原理与Python实现 前言 参考:https://www.jianshu.com/p/58b3fe300ecb 梯度下降法(Gradient Descent)是机器学习中最 ...

  8. python实现逻辑回归的流程_逻辑回归原理及其python实现

    September 28, 2018 7 min to read 逻辑回归原理及其python实现 原理 逻辑回归模型: $h_{\theta}(x)=\frac{1}{1+e^{-{\theta}^ ...

  9. 典型相关分析(cca)原理_CCA典型关联分析原理与Python案例

    文章来源于"脑机接口社区" CCA典型关联分析原理与Python案例​mp.weixin.qq.com Rose今天分享一下CCA的相关原理以及Python应用,CCA在EEG等脑 ...

最新文章

  1. 需要反射时使用dynamic
  2. 台式计算机防盗锁怎么安装,怎样拆装防盗门锁?防盗门锁怎么进行正确安装?...
  3. 费用节省 50%,函数计算 FC 助力分众传媒降本增效
  4. 狭义上讲侠义计算机安全,狭义的会计电算化是什么
  5. vscode设置go-lint警告提示
  6. Flink on Yarn运行机制
  7. 记模拟面试日记2(更新...)
  8. vue router-link添加点击事件无效
  9. 矢量图svg转png的简单方法
  10. Excel去除中文,只留英文和数字
  11. Win10系统给共享文件夹设置密码的操作步骤
  12. Mac软件下载站推荐,让你告别软件荒!
  13. 社旗一高2021高考成绩查询,2021年九师联盟:河南/山西省高三年级下学期5月联考分数线公布!...
  14. x86汇编_CALL和RET指令及过程调用嵌套_笔记_20
  15. Commander入门
  16. 腾讯技术工程 | 透过新硬件环境下的存储技术,看未来数据库系统崛起(附PPT)...
  17. 嵌入式linux的软件毕设论文,嵌入式linux远程控制机器人_毕设论文.doc
  18. 猿辅导python助教面试两次都有什么内容_猿辅导面试分享
  19. IJCAI论文 | 基于改进注意力循环控制门,品牌个性化排序升级系统来了
  20. 达势股份IPO前紧急叫停:年内已有多家公司急刹车,王怡为董事长

热门文章

  1. adb devices unauthorized解决方法
  2. Javaweb异常提示信息统一处理
  3. js数组fill()方法
  4. 如何使用阿里云服务器
  5. Vuex 的异步数据更新(小记)
  6. 计算机网络或计算机基础知识点滴1
  7. 从IBM SVF看传统存储改造的三大要点:软件定义、容量与速度
  8. DataTable.DataRow的复制
  9. OC实例变量和属性-@synthesize与@property
  10. C# 移动鼠标方法