hilbert
使用希尔伯特变换的离散时间解析信号
说明
示例
输入参数
输出参量
详细信息
算法
序列 xr
的解析信号具有单边傅里叶变换。也就是说,该变换在负频率处消失。为了逼近解析信号,hilbert
计算输入序列的 FFT,将对应于负频率的 FFT 系数替换为零,然后计算结果的逆 FFT。
hilbert
使用一个四步算法:
计算输入序列的 FFT,将结果存储在向量
x
中。创建一个向量
h
,其元素h(i)
具有以下值:对于
i
= 1,(n/2)+1
,值为 1对于
i
= 2, 3, … ,(n/2)
,值为 2对于
i
=(n/2)+2
、…、n
,值为 0
计算
x
和h
的按元素乘积。计算在步骤 3 中获得的序列的逆 FFT,并返回结果的前
n
个元素。
此算法最早是在 [2] 中介绍的。该方法假设输入信号 x
是有限数据块。此假设允许函数精确地去除 x
中的频谱冗余。基于 FIR 滤波的方法只能逼近解析信号,但其优点是它们能够连续对数据进行运算。有关使用 FIR 滤波器计算希尔伯特变换的另一个示例,请参阅Single-Sideband Amplitude Modulation。
参考
[1] Claerbout, Jon F. Fundamentals of Geophysical Data Processing with Applications to Petroleum Prospecting. Oxford, UK: Blackwell, 1985.
[2] Marple, S. L. “Computing the Discrete-Time Analytic Signal via FFT.” IEEE® Transactions on Signal Processing. Vol. 47, 1999, pp. 2600–2603.
[3] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.