快速希尔伯特变换
- 更新时间2025-07-30
- 阅读时长3分钟
计算输入序列X的快速希尔伯特变换。

输入/输出
X
—
X指定数据数组中的元素数量。
Hilbert{X}
—
Hilbert{X}是输入序列的快速Hilbert变换。
错误
—
错误返回VI的任何错误或警告。将错误连接至错误代码至错误簇转换VI,可将错误代码或警告转换为错误簇。 |
函数x(t)的快速希尔伯特变换定义如下
.依据傅立叶变换的性质,x(t)的希尔伯特变换的傅立叶变换可表示为:
h(t) ⇔ H(f) = - j sgn(f) X(f) 、其中 x(t) ⇔ X(f)是一个傅里叶变换对,并且

快速希尔伯特变换VI在FFT程序的帮助下,根据 h(t)⇔ H(f)的傅里叶变换对,通过以下步骤进行希尔伯特变换的离散实现。
-
对输入序列 X进行傅里叶变换
Y = F{X}
-
将直流成分设置为零
Y0 = 0.0
-
如果序列 Y 是偶数大小,将奈奎斯特分量设置为零
YNyq = 0
-
使正谐波乘以-j。
-
使负谐波乘以j。称新的序列为 H,其形式为
Hk = -jsgn(k)Yk
-
对H进行反傅立叶变换,得到X的希尔伯特变换。
更多信息,见FFTVI的复数FFT实例的输出格式。
你使用希尔伯特变换来提取瞬时相位信息并获得单边带频谱,获得振荡信号的包络,检测回波,并降低采样率。
输出序列Y = 反FFT [X]是复数序列并通过复数数组返回:Y = (Yre,Yim)。
注: 输入序列的元素个数为偶数时,该VI可设置直流分量和Nyquist分量为零,反希尔伯特变换不总是可用于恢复原信号。希尔伯特变换适用于带通有限的信号,但直流分量和Nyquist分量不属于带通有限的信号。
范例
请参考LabVIEW附带的下列范例文件。
- labview\examples\Signal Processing\Transforms\Echo Detector.vi
X
—
Hilbert{X}
—
错误
—