希尔伯特变换(Hilbert Transform)简介及其物理意义
Hilbert变换简介
希尔伯特变换是信号处理中的一种常用手段,数学定义如下:
与卷积的概念进行对比,可以发现,上面的Hilbert变换的表达式实际上就是将原始信号和一个信号做卷积的结果。这个用来卷积的信号就是
h ( t ) = 1 π t h(t) = \frac{1}{\pi t} h(t)=πt1
因此,Hilbert变换可以看成是将原始信号通过一个滤波器,或者一个系统,这个系统的冲击响应为h(t)。
对h(t)做傅里叶变换,可以得到:
H ( j ω ) = − j s g n ( ω ) H(j\omega) = -j sgn(\omega) H(jω)=−jsgn(ω)
或者写成:
sgn()是符号函数。从频谱上来看,这个滤波器将我们的原始信号的正频率部分乘以-j,也就是说,保持幅度不变的条件下,将相位移动了-pi/2,而对于负频率成分,移动了pi/2。
下面这个示意图很直观地表示了Hilbert变换,在这里我画出了对原始信号做1到4次Hilbert变换的频谱示意图,是为了说明Hilbert变换的几个性质:
首先,可以看到,两次希尔伯特变换后,原信号相位翻转了180°,所以,Hilbert逆变换的公式显而易见,就是将正变换加一个符号即可。另外,还可以看到,Hilbert变换四次后就变回本身了。还有其它的性质,比如:
- 如果一个信号是两个信号的卷积,即 y = conv(v,x) ,那么Hilbert(y) = conv(Hilbert(v),x) = conv(v,Hilbert(x))
这个性质,只要意识到Hilbert变换本质上是卷积就可以明白。
- x(t) 和 Hilbert(x(t))的能量以及平均功率相等,相关函数和功率谱相同。
Hilbert变换物理意义
解析过程概念
对于一个实随机过程 x ( t ) x(t) x(t), x ^ ( t ) = H i l b e r t ( x ( t ) ) \hat{x}(t) = Hilbert(x(t)) x^(t)=Hilbert(x(t))为它的希尔伯特变换,那么定义复随机过程:
x ~ ( t ) = x ( t ) + x ^ ( t ) \tilde{x}(t) = x(t) + \hat{x}(t) x~(t)=x(t)+x^(t)
为x(t)的解析过程。
这个过程有如下特点,首先,实部和虚部功率谱相同,自相关函数相同;另外,实部和虚部的互相关函数是一个奇函数。其他的还有:
R X ^ X ( τ ) = − R ^ X ( τ ) R_{\hat X X}(\tau) = -\hat{R}_X(\tau) RX^X(τ)=−R^X(τ)
R X X ^ ( τ ) = R ^ X ( τ ) R_{X\hat X}(\tau) = \hat{R}_X(\tau) RXX^(τ)=R^X(τ)
R X ~ ( τ ) = 2 [ R X ( τ ) + j R ^ X ( τ ) ] R_{\tilde{X}}(\tau) = 2[R_X(\tau) + j \hat{R}_X(\tau)] RX~(τ)=2[RX(τ)+jR^X(τ)]
以及一个最重要的特点,就是解析信号的功率谱只有正频段,强度为原来的四倍。或者说是只有正频段且幅度值为原来的两倍:
欧拉公式(Euler‘s formula)的启发
欧拉一生中有公式和定理,这里说的欧拉公式指的是这个:
这个公式说明,用复指数信号可以表示成一个实数信号和一个虚数信号的和的形式。而且,这个实部和虚部是有关系的,一个是cos,一个是sin,两者相差pi/2,看sin和cos的傅里叶变换:
可以看出,在正频率上和负频率上两者的相位上的先后顺序刚好相反,但是都是保持90°的差值。
看到这里,大概可以理解Hilbert变换的用意了吧。欧拉公式实际上是一种特殊的,或者说,最简单的Hilbert变换。
复指数信号,就是等号左边的那个,频谱就是一个脉冲,而且是 2 π δ ( ω − ω 0 ) 2\pi\delta(\omega - \omega_0) 2πδ(ω−ω0)。只有正频率,且是两倍。虽然时域上是复数,但是在频域只有正分量,实际上是一种简化。
希尔伯特变换的意义
首先,将实数信号变换成解析信号的结果就是,把一个一维的信号变成了二维复平面上的信号,复数的模和幅角代表了信号的幅度和相位,如图所示:(图片来源:https://zhuanlan.zhihu.com/p/25250010)
这样看来,似乎复数信号才是完整的,而实信号只是在复平面的实轴上的一个投影。我们知道,解析信号可以计算包络(瞬时振幅)和瞬时相位。在上图中可以看到,实际上我们计算的包络就是黑色的线围成的立体图形的边界在实部的投影,而计算这个边的投影也很简单,就是在复平面上的螺旋线中的每一个点的模值,也就是A(t) = sqrt(x^2(t) + Hilbert(x(t))^2),而瞬时相位就是虚部(Hilbert变换后的)和实部(原始信号)在某一时间点的比值的arctan,瞬时频率就是它的导数。
2018年02月25日01:29:30