从欧拉公式看希尔伯特变换

  • 1、定义
  • 2、欧拉公式
  • 3、希尔伯特变换的意义
  • 4、希尔伯特解耦原理
  • 很好的参考资料:
  • 个人感悟


1、定义

希尔伯特变换可看做是一个线性滤波器:

用python希尔伯特黄变换 希尔伯特变换怎么算_欧拉公式


用python希尔伯特黄变换 希尔伯特变换怎么算_二维_02


用python希尔伯特黄变换 希尔伯特变换怎么算_信号分析_03


用python希尔伯特黄变换 希尔伯特变换怎么算_用python希尔伯特黄变换_04


希尔伯特变换将x(t)的正频谱翻反转90度,负频谱正转90度,0谱线置0,得到x^(t),2次谱线转到180度位置,四次转回自身,可见,逆变换加个符号即可。

用python希尔伯特黄变换 希尔伯特变换怎么算_信号分析_05


jx^(t)的正频率谱线与x(t)相同,负频率谱线相反,x~(t)=x(t)+jx^(t)正好把x(t)的双边谱变成x~(t)的单边谱

2、欧拉公式

用python希尔伯特黄变换 希尔伯特变换怎么算_二维_06

用python希尔伯特黄变换 希尔伯特变换怎么算_信号分析_07


用python希尔伯特黄变换 希尔伯特变换怎么算_参考资料_08的傅里叶变换为:2πδ(ω−ω0)

可见欧拉公式是最简单的希尔伯特变换

3、希尔伯特变换的意义

首先,将实数信号变换成解析信号的结果就是,把一个一维的信号变成了二维复平面上的信号,复数的模和幅角代表了信号的幅度和相位,参考链接: [https://zhuanlan.zhihu.com/p/25250010.]

用python希尔伯特黄变换 希尔伯特变换怎么算_二维_09


这样看来,似乎复数信号才是完整的,而实信号只是在复平面的实轴上的一个投影。我们知道,解析信号可以计算包络(瞬时振幅) 和瞬时相位。在上图中可以看到,实际上我们计算的包络就是黑色的线围成的立体图形的边界在实部的投影,而计算这个边的投影也很简单,就是在复平面上的螺旋线中的每一个点的模值,也就是A(t) = sqrt(x^2(t) + Hilbert(x(t))^2),而瞬时相位就是虚部(Hilbert变换后的)和实部(原始信号)在某一时间点的比值的arctan,瞬时频率就是它的导数

当瞬时频率和瞬时振幅都是定值,不随时间变化时,希尔伯特变换就是傅里叶变换

4、希尔伯特解耦原理

用python希尔伯特黄变换 希尔伯特变换怎么算_二维_10


注意,相位计算公式的分子分母写反了

很好的参考资料:

希尔伯特变换理论及matlab计算

Hilbert端点效应分析 Gibbs现象

EMD、VMD的一点小思考

个人感悟

希尔伯特变换将信号从实域变换到复域,如同将信号从一维空间映射到二维空间,在二维空间完成特征信号(瞬态信号)的分离,与机器学习支持向量机算法有异曲同工之妙:将数据从低维空间映射到高维空间,在高维空间中找到超平面,将不同类的数据分开。在低维空间很棘手的问题,在高维空间中可能就小菜一碟,人要是能进入四维空间,将是神一样的存在。