据我所知,希尔伯特变换
在时域中等于
在频域。所以我尝试了使用 MATLAB 的简单示例,如下所示,
x=[1,2,7,3];
y1=imag(hilbert(x));
f=[0,1,2,-1];
y2=ifft(-1i*sign(f).*fft(x));
但 和 的结果y1
不同y2
如下
y1 =
0.5000 -3.0000 -0.5000 3.0000
y2 =
0.5000 - 0.7500i -3.0000 + 0.7500i -0.5000 - 0.7500i 3.0000 + 0.7500i
只是只有实部与y2
相同y1
。
哪位知道原因的请解释一下。