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

更多技术,第一时间送达

倒频谱定义 


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

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

其中,是时域振动信号,是时域振动信号的功率谱,为时域振动信号的倒频谱。

倒频谱python案例

实现如下:

from scipy.fftpack import fft, fftshift, ifftfrom scipy.fftpack import fftfreqimport numpy as npimport matplotlib.pyplot as pltimport warningswarnings.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*y2
plt.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))).real
plt.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()
(0)

相关推荐

  • 在 Google Colab 中使用 OpenCV 进行图像处理简介

    重磅干货,第一时间送达 在这篇文章中,我们将实现如何使用 OpenCV 在 google colaboratory 中进行图像处理.为此,我们应该了解一些 Python 基础知识,下面给出的步骤将帮助 ...

  • 频域图像增强-锐化

    图像增强技术根据增强处理过程所在的空间不同,可分为基于频域的算法和基于空域的算法两大类.基于频域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法,把图像看成一种二维信号 ...

  • matplotlib作图之注释

    不写python的日子每天都觉得没啥意思,重新搞起~ matplotlib中图的注释 直接上代码看例子: import numpy as np import matplotlib.pyplot as ...

  • 三维散点图

    上篇主要介绍了s,c,marker参数,scatter函数还有其他的参数,比如: 1.alpha,表示透明程序,取值 0(透明)和1(不透明)之间,默认值:1. 2.edgecolors,表示边缘颜色 ...

  • 模拟和数字信号的桥梁——奈奎斯特采样定理

    在我们周围有着各种各样的模拟信号,比如,电流,电磁波,温度,声音等等.作为计算机系统来说,它只认识0和1,意味着它只能处理数字信息,但是,它是如何处理我们周围的这些模拟信号的呢?要理解这个问题,我们需 ...

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

    更多技术干货第一时间送达 EEG信号是大脑神经元电活动的直接反应,包含着丰富的信息,但EEG信号幅值小,其中又混杂有噪声干扰,如何从EEG信号中抽取我们所感兴趣的信号是一个极为重要的问题.自1932年 ...

  • 信号处理之功率谱原理与python实现

    更多技术,第一时间送达 功率谱简介 功率谱图又叫功率谱密度图 功率谱是功率谱密度函数的简称,它定义为单位频带内的信号功率.它表示了信号功率随着频率的变化情况,即信号功率在频域的分布状况. 功率谱表示了 ...

  • 理解“母”字斜而不倒的原理,每、海两字,你就都会写了!

    理解“母”字斜而不倒的原理,每、海两字,你就都会写了!

  • 手把手教你EMD算法原理与Python实现

    更多技术干货第一时间送达 Hello,大家好! Rose小哥今天主要介绍一下EMD算法原理与Python实现. SSVEP信号中含有自发脑电和大量外界干扰信号,属于典型的非线性非平稳信号.传统的滤波方 ...

  • CCA典型关联分析原理与Python案例

    更多技术干货第一时间送达 Hello,大家好! Rose小哥今天分享一下CCA的相关原理以及Python应用,CCA在EEG等脑电数据的特征提取中使用很多,很有必要熟悉其原理. CCA典型相关分析 C ...

  • TCP/IP通信原理,Python网络编程详解!

    TCP/IP通信原理,Python网络编程详解!

  • 郭新貌半年课第19周倒差价原理B

    郭新貌半年课第19周倒差价原理B

  • 什么是网络爬虫?Python爬虫工作原理!

    随着互联网的发展,大家对于爬虫这个词已经不再陌生了.但是什么是爬虫?爬虫的工作原理是什么呢?对于IT小白还是非常疑惑的,今天小编就为大家详细的介绍一下. 什么是网络爬虫? 网络爬虫就是一种从互联网抓取 ...

  • 千年佛塔发现神奇“不倒翁”原理,经历6次地震,却至今屹立不倒

    俗话说"大千世界,无奇不有",这句话确实是非常有道理的,偌大的一个世界中,那绝对是充斥着许多神奇的现象,这些现象很多都无法用我们所谓的科学来解释,这或许是另外一个认知盲区,又或者是 ...