python 希尔伯特变换_python scipy signal.hilbert用法及代码示例
使用希尔伯特变换来计算分析信号。
默认情况下,转换是沿着最后一个轴完成的。
参数:
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用法及代码示例相关推荐
- python切比雪夫滤波器_python scipy signal.iirfilter用法及代码示例
IIR数字和模拟滤波器设计给出了阶数和临界点. 设计一个Nth-order数字或模拟滤波器,然后返回滤波器系数. 参数: N:int过滤器的顺序. Wn:array_like标量或长度为2的序列给出了 ...
- python中def root的用法_python scipy optimize.root_scalar用法及代码示例
查找标量函数的根. 参数: f:callable寻找根源的函数. args:tuple, 可选参数额外的参数传递给目标函数及其派生函数. method:str, 可选参数bracket:A seque ...
- gamma分布python代码_python scipy stats.gamma用法及代码示例
伽玛连续随机变量. 作为一个实例rv_continuous类,gamma对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们. 注意: 的概率密度函数gam ...
- python中uniform函数_python scipy stats.uniform用法及代码示例
均匀连续随机变量. 在标准形式下,分布均匀[0, 1].使用参数loc和scale,在上获得均匀分布[loc, loc + scale]. 作为一个实例rv_continuous类,uniform对象 ...
- ks检验python代码_python scipy stats.kstest用法及代码示例
进行Kolmogorov-Smirnov测试是否合身. 这将针对给定的分布G(x)对观察到的随机变量的分布F(x)进行测试.在原假设下,两个分布相同,F(x)= G(x).替代假设可以是" ...
- python randint函数用法_python scipy stats.randint用法及代码示例
均匀离散随机变量. 作为一个实例rv_discrete类,randint对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们. 注意: 的概率质量函数ran ...
- python agg函数_Python Pandas Series.agg()用法及代码示例
Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas Series.agg()用 ...
- python duplicated函数_Python Pandas Dataframe.duplicated()用法及代码示例
Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. 数据分析的重要部分是分析重复值并将其删除 ...
- python colorbar函数_Python Matplotlib.pyplot.colorbar()用法及代码示例
颜色条是从标量值到颜色的映射的可视化.在Matplotlib中,它们被绘制到专用轴中. 注意:通常通过Figure.colorbar或其pyplot包装器pyplot.colorbar创建颜色条,该内 ...
最新文章
- iOS 加载本地和网络gif 图片类扩展
- linux命令输入错误怎么弄,Linux下用shopt命令来帮我们自动纠错输入cd 错误
- oracle sql now函数,postgresql的now()与Oracle的sysdate区别说明
- 二分类卷积核极限数量实验
- 为什么Android要采用Binder作为IPC机制?
- Feign Hystrix (HystrixCommonKey) 设置单独接口的超时时间和FallBack
- CCF 201712-3 Crontab
- 《零基础》MySQL 安装(二)
- java解决Exception in thread “main“ java.lang.OutOfMemoryError: GC overhead limit exceeded
- 三角波的傅里叶变换对_傅里叶变换推导详解
- 条形码生成软件如何设置条形码数据的字号大小
- 列宽一字符等于多少厘米_【excle列宽等于】excel里面的列宽和行高单位是多少?多少等于1厘米?怎么对比的?...
- Nape的回调系统 nape.callbacks
- windows 空会话 ipc$域控 SYSVOL 和NETLOGON共享
- 孤尽训练营打卡日记day28--第四周总结
- SPI读写FLASH 原理+完整代码
- 华为HCNP/HCNA RS实验文件分享
- Android自定义没有资源文件的圆形进度条ProgressBar
- 亲社会行为:为什么人们会助人
- nginx rewrite不生效_Nginx的rewrite规则问题,设置了不生效
热门文章
- 线性规划的matlab实现
- python echo服务器_python常用框架 echo server 的测试
- 中国城市人口分布区域分析
- ABAP Netweaver 和 ABAP Platform 这两个名词的辨析
- jasmine.any(Function)
- SAP UI5 manifest.json 和 i18n 多语言文本的解析逻辑
- SAP Spartacus 自定义 PageResolver 的用法
- Angular Route数据结构里常用字段使用方法一览
- 如何对SAP Spartacus支持路由的Component进行单元测试
- Hybris Storefront里如何给用户绑定手机号