计算输入序列X的快速希尔伯特变换。


icon

输入/输出

  • c1ddbl.png X

    X指定数据数组中的元素数量。

  • i1ddbl.png Hilbert{X}

    Hilbert{X}是输入序列的快速Hilbert变换。

  • ii32.png 错误

    错误返回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)的傅里叶变换对,通过以下步骤进行希尔伯特变换的离散实现。

    1. 对输入序列 X进行傅里叶变换

      Y = F{X}

    2. 将直流成分设置为零

      Y0 = 0.0

    3. 如果序列 Y 是偶数大小,将奈奎斯特分量设置为零

      YNyq = 0

    4. 使正谐波乘以-j

    5. 使负谐波乘以j。称新的序列为 H,其形式为

      Hk = -jsgn(k)Yk

    6. H进行反傅立叶变换,得到X的希尔伯特变换。

    更多信息,见FFTVI的复数FFT实例的输出格式。

    你使用希尔伯特变换来提取瞬时相位信息并获得单边带频谱,获得振荡信号的包络,检测回波,并降低采样率。

    输出序列Y = 反FFT [X]是复数序列并通过复数数组返回:Y = (Yre,Yim)。

    注: 输入序列的元素个数为偶数时,该VI可设置直流分量和Nyquist分量为零,反希尔伯特变换不总是可用于恢复原信号。希尔伯特变换适用于带通有限的信号,但直流分量和Nyquist分量不属于带通有限的信号。

    范例

    请参考LabVIEW附带的下列范例文件。

    • labview\examples\Signal Processing\Transforms\Echo Detector.vi