1.非平稳信号分析与处理——希尔伯特(Hilbert)变换

目录

1.1 待解决的问题

1.2 解决思路

1.3 实现方式

1.4 限制条件分析

1.5 希尔伯特变换的本质


1.1 待解决的问题

对一个理想的单频正(余)弦信号,假设其模型为

s_0(t)=a \cos(2\pi f_0 t+\phi)

在实际应用中,我们往往获得的是信号波形或采样后的序列,无法直接获得信号的数学表达式。需要对信号波形做傅里叶变换,通过幅频曲线和相频曲线读取组成该信号的信号频率f_0、幅值a和相位\phi,将无限长的时间函数或序列简化为仅包含3个参数的数学表达式。

傅里叶变换解决问题的思路是:当采集到的信号波形满足s_0(t)=a \cos(2\pi f_0 t+\phi)的形式时,通过傅里叶变换获得常参数f_0a\phi

而对更一般化的常规信号,信号的幅值a和相位\phi往往都不是固定值,会变成如下模型

s(t)=a(t)\cos[2\pi f_{0} t+\phi(t) ]

其中,a(t)代表信号的幅值随时间变化而变化,频率f_{0}为固定值,cos[\bullet ]中除2\pi f_{0} t以外的时变量\phi (t)表示信号时变的相位偏移,在一些文献中,将2\pi f_{0} t也视为\phi(t)的一部分,即s(t)=a(t)\cos[\phi(t) ]\phi(t)被称为瞬时相位,在本案例中瞬时相位为2\pi f_{0} t+\phi(t)

对于形如s(t)的信号,对其做傅里叶变换也无法获得完整的a(t)\phi (t)函数,这是因为傅里叶变换是一种全域变换,其积分公式为对t(-\infty,+\infty)上进行积分,积分后的函数中不再包含时间分量。

结合傅里叶变换的解决思路,问题可以整理为:

已知采集到的信号满足s(t)=a(t)\cos[2\pi f_{0} t+\phi(t) ]的形式,如何获得准确的a(t)\phi (t)


1.2 解决思路

需要注意的是,s(t)并非不能进行傅里叶变换,而是其傅里叶变换是a(t)\cos[2\pi f_{0} t+\phi(t) ]两个分量各自傅里叶变换的卷积,难以还原出两个分量。接下来的解决思路就是通过改变s(t)的频域模型使得两个分量更容易区分。

考虑欧拉公式e^{j x}=\cos(x)+j\sin(x),将s(t)重写为

s(t)=a(t)\cos[2\pi f_{0} t+\phi(t) ]=\frac{1}{2}a(t)[e^{j[2\pi f_{0} t+\phi(t) ]}+e^{-j[2\pi f_{0} t+\phi(t)] }]

由于s(t)是实信号,频谱具有共轭对称性,单边频谱就拥有s(t)的全部信息,定义一个仅有正频率的复信号

z(t)=a(t)e^{j[2\pi f_{0} t+\phi(t) ]}=a(t) [\cos(2\pi f_{0} t+\phi(t))+j\sin(2\pi f_{0} t+\phi(t))]

z(t)的表达式可知,对它取模值\left | z(t) \right |即为a(t),对其取相位值\arg z(t)即为2\pi f_{0} t+\phi(t),可以很容易地获得a(t)\phi (t)z(t)实际上就是信号s(t)解析信号

1.3 实现方式

现在我们知道,复信号z(t)的分析难度要低于s(t),但我们实际只有s(t)的波形,而要获得z(t)的波形,还需要分析这两者的联系,我们期望获得的是一种不需要先验参数的处理方式,可以直接将s(t)处理为z(t)

首先,从s(t)z(t)的时域表达式看,z(t)的实部即为s(t),设虚部为x(t),则有

z(t)=s(t)+j x(t)

x(t)=a(t)\sin[2\pi f_{0} t+\phi(t) ]

则问题进一步精确为:找到一种处理方式,使实信号s(t)=a(t)\cos[2\pi f_{0} t+\phi(t) ]转变成x(t)=a(t)\sin[2\pi f_{0} t+\phi(t) ],其中a(t)\phi (t)均为实信号。

将写为欧拉展开的形式,并对比s(t)

x(t) =\frac{1}{2 j}a(t)[e^{j[2\pi f_{0} t+\phi(t) ]}-e^{-j[2\pi f_{0} t+\phi(t)] }]

s(t)=\frac{1}{2}a(t)[e^{j[2\pi f_{0} t+\phi(t) ]}+e^{-j[2\pi f_{0} t+\phi(t)] }]

很容易判断,当a(t)\phi (t)均为常数,且f_0>0时,a(t)e^{j[2\pi f_{0} t+\phi(t) ]}在频谱上是一个在正半轴f_0处的冲激函数,而a(t)e^{-j[2\pi f_{0} t+\phi(t) ]}是一个在负半轴-f_0处的冲激函数。

此时,x(t)s(t)的频谱X(f)S(f)有以下关系

X(f)=\left\{\begin{matrix} -jS(f) ,& f>0\\ S(f)=0 , &f=0\\ jS(f) , &f<0 \end{matrix}\right.

进一步可写为

X(f)=H(f)S(f)

其中

H(f)=\left\{\begin{matrix} -j, & f>0 \\ 0, & f=0 \\ j, & f<0 \\ \end{matrix}\right.=-j \mathrm{sgn}(f)

在时域上,设H(f)的单位冲激响应为h(t),有

x(t)=h(t)\ast s(t)

其中,

h(t)=\mathcal{F}^{-1}[H(f)]=-j \mathcal{F}^{-1}[\mathrm{sgn}(f)]=\dfrac{1}{ \pi t},(t\neq 0)

x(t)的步骤被称为希尔伯特变换(Hilbert transform),由于h(t)t=0时刻发散,一般采用函数表达式的形式而非卷积的形式定义,写作

\begin{aligned} x(t)&=\mathcal{H}[s(t)] \\ &=\underset{\delta \to 0}{\mathrm{lim}}[\int_{-\infty}^{-\delta}\frac{s(t-\tau)}{\tau}\mathrm{d}\tau+\int_{\delta}^{\infty}\frac{s(t-\tau)}{\tau}\mathrm{d}\tau]\\ &=\frac{1}{\pi}\mathrm{p.v.}\int_{-\infty}^{\infty}\frac{s(t-\tau)}{\tau}\mathrm{d}\tau \end{aligned}

式中的t\tau均为实变量\mathrm{p.v.}表示积分的柯西主值,消除其中的无穷大项。

故希尔伯特变换就是我们求解z(t)=s(t)+j \mathcal{H}[s(t)]的方法,然而,这一结论是限制在a(t)\phi (t)均为常数的情况下成立的,我们需要考虑如何将这一限制去除或削弱。

1.4 限制条件分析

观察s(t)的数学表达式

s(t)=a(t)\cos[2\pi f_{0} t+\phi(t) ]

b (t)=\cos[2 \pi f_0 t+ \phi(t)],则s(t)=a(t)b(t),时域信号的乘积对应各自频谱的卷积,则有S(f)=A(f)\ast B(f)A(f)B(f)分别为a(t)b(t)的频谱。

在1.1.3中,x(t)s(t)建了X(f)=H(f)S(f)的关系,且在a(t)为常数时,以复指数项中指数的正负区分频谱的正负部分。则能使X(f)=H(f)S(f)成立的条件即是A(f)B(f)的卷积不影响S(f)在频域上的正负区间。对实信号a(t)b(t),则要满足B(f)的下限频率大于A(f)的上限频率,即\min{|f_b|}>\max{|f_a|}

1.5 希尔伯特变换的本质

不失一般性,我们总可以假设组成s(t)a(t)b(t)在频谱上至多有1个频点重合,即A(f)=0,(|f|>f_a)B(f)=0,(|f|<f_b),其中f_b\geqslant f_a\geqslant 0,则有

\mathcal{H}[a(t)b(t)]=a(t)\mathcal{H}[b(t)]

也就是说,希尔伯特变换的本质是将组成一个信号中的频率最高的部分的余弦波转化成正弦波

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值