使用希尔伯特变换来计算分析信号。

默认情况下,转换是沿着最后一个轴完成的。

参数:

x:array_like信号数据。必须是真实的。

N:int, 可选参数傅立叶分量的数量。默认:x.shape[axis]

axis:int, 可选参数沿其进行转换的轴。默认值:-1

返回值:

xa:ndarray沿轴的每个1-D数组x的解析信号

注意:

分析信号x_a(t)信号的x(t)是:

其中F是傅立叶变换,U是单位阶跃函数,y是x的希尔伯特变换。[1]

换句话说,频谱的负一半被清零,从而将实值信号转换为复数信号。希尔伯特变换信号可以从np.imag(hilbert(x)),以及来自的原始信号np.real(hilbert(x))。

参考文献:

2

Leon Cohen,“ Time-Frequency分析”,1995年。第2章。

3

艾伦·奥本海姆(Alan V. Discrete-Time Signal Processing,第三版,2009年。第12章。ISBN13:978-1292-02572-8

例子:

在此示例中,我们使用希尔伯特变换来确定amplitude-modulated信号的幅度包络和瞬时频率。

>>> import numpy as np

>>> import matplotlib.pyplot as plt

>>> from scipy.signal import hilbert, chirp

>>> duration = 1.0

>>> fs = 400.0

>>> samples = int(fs*duration)

>>> t = np.arange(samples) / fs

我们创建一个rp,其频率从20 Hz增加到100 Hz,并应用幅度调制。

>>> signal = chirp(t, 20.0, t[-1], 100.0)

>>> signal *= (1.0 + 0.5 * np.sin(2.0*np.pi*3.0*t) )

幅度包络由分析信号的幅度给出。瞬时频率可以通过相对于时间区分瞬时相位来获得。瞬时相位对应于分析信号的相位角。

>>> analytic_signal = hilbert(signal)

>>> amplitude_envelope = np.abs(analytic_signal)

>>> instantaneous_phase = np.unwrap(np.angle(analytic_signal))

>>> instantaneous_frequency = (np.diff(instantaneous_phase) /

... (2.0*np.pi) * fs)

>>> fig = plt.figure()

>>> ax0 = fig.add_subplot(211)

>>> ax0.plot(t, signal, label='signal')

>>> ax0.plot(t, amplitude_envelope, label='envelope')

>>> ax0.set_xlabel("time in seconds")

>>> ax0.legend()

>>> ax1 = fig.add_subplot(212)

>>> ax1.plot(t[1:], instantaneous_frequency)

>>> ax1.set_xlabel("time in seconds")

>>> ax1.set_ylim(0.0, 120.0)

python 希尔伯特变换_python scipy signal.hilbert用法及代码示例相关推荐

  1. python切比雪夫滤波器_python scipy signal.iirfilter用法及代码示例

    IIR数字和模拟滤波器设计给出了阶数和临界点. 设计一个Nth-order数字或模拟滤波器,然后返回滤波器系数. 参数: N:int过滤器的顺序. Wn:array_like标量或长度为2的序列给出了 ...

  2. python中def root的用法_python scipy optimize.root_scalar用法及代码示例

    查找标量函数的根. 参数: f:callable寻找根源的函数. args:tuple, 可选参数额外的参数传递给目标函数及其派生函数. method:str, 可选参数bracket:A seque ...

  3. gamma分布python代码_python scipy stats.gamma用法及代码示例

    伽玛连续随机变量. 作为一个实例rv_continuous类,gamma对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们. 注意: 的概率密度函数gam ...

  4. python中uniform函数_python scipy stats.uniform用法及代码示例

    均匀连续随机变量. 在标准形式下,分布均匀[0, 1].使用参数loc和scale,在上获得均匀分布[loc, loc + scale]. 作为一个实例rv_continuous类,uniform对象 ...

  5. ks检验python代码_python scipy stats.kstest用法及代码示例

    进行Kolmogorov-Smirnov测试是否合身. 这将针对给定的分布G(x)对观察到的随机变量的分布F(x)进行测试.在原假设下,两个分布相同,F(x)= G(x).替代假设可以是" ...

  6. python randint函数用法_python scipy stats.randint用法及代码示例

    均匀离散随机变量. 作为一个实例rv_discrete类,randint对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们. 注意: 的概率质量函数ran ...

  7. python agg函数_Python Pandas Series.agg()用法及代码示例

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas Series.agg()用 ...

  8. python duplicated函数_Python Pandas Dataframe.duplicated()用法及代码示例

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. 数据分析的重要部分是分析重复值并将其删除 ...

  9. python colorbar函数_Python Matplotlib.pyplot.colorbar()用法及代码示例

    颜色条是从标量值到颜色的映射的可视化.在Matplotlib中,它们被绘制到专用轴中. 注意:通常通过Figure.colorbar或其pyplot包装器pyplot.colorbar创建颜色条,该内 ...

最新文章

  1. iOS 加载本地和网络gif 图片类扩展
  2. linux命令输入错误怎么弄,Linux下用shopt命令来帮我们自动纠错输入cd 错误
  3. oracle sql now函数,postgresql的now()与Oracle的sysdate区别说明
  4. 二分类卷积核极限数量实验
  5. 为什么Android要采用Binder作为IPC机制?
  6. Feign Hystrix (HystrixCommonKey) 设置单独接口的超时时间和FallBack
  7. CCF 201712-3 Crontab
  8. 《零基础》MySQL 安装(二)
  9. java解决Exception in thread “main“ java.lang.OutOfMemoryError: GC overhead limit exceeded
  10. 三角波的傅里叶变换对_傅里叶变换推导详解
  11. 条形码生成软件如何设置条形码数据的字号大小
  12. 列宽一字符等于多少厘米_【excle列宽等于】excel里面的列宽和行高单位是多少?多少等于1厘米?怎么对比的?...
  13. Nape的回调系统 nape.callbacks
  14. windows 空会话 ipc$域控 SYSVOL 和NETLOGON共享
  15. 孤尽训练营打卡日记day28--第四周总结
  16. SPI读写FLASH 原理+完整代码
  17. 华为HCNP/HCNA RS实验文件分享
  18. Android自定义没有资源文件的圆形进度条ProgressBar
  19. 亲社会行为:为什么人们会助人
  20. nginx rewrite不生效_Nginx的rewrite规则问题,设置了不生效

热门文章

  1. 线性规划的matlab实现
  2. python echo服务器_python常用框架 echo server 的测试
  3. 中国城市人口分布区域分析
  4. ABAP Netweaver 和 ABAP Platform 这两个名词的辨析
  5. jasmine.any(Function)
  6. SAP UI5 manifest.json 和 i18n 多语言文本的解析逻辑
  7. SAP Spartacus 自定义 PageResolver 的用法
  8. Angular Route数据结构里常用字段使用方法一览
  9. 如何对SAP Spartacus支持路由的Component进行单元测试
  10. Hybris Storefront里如何给用户绑定手机号