Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Hilbert Transform

Hello, was wondering if anyone has implemented a Hilbert Transform on an FPGA? If so, can you share your comments or suggestions?

Respectfully,

joe

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    An FPGA-based Hilbert transform is essentially a digital filter. However, they're not that useful in practice due to the asymmetry in its implementation.

    A Hilbert transform is often used to create an analytic signal, i.e., a complex-valued signal. In an FPGA, you typically create a complex-valued signal from a real-valued signal (eg., samples from an ADC) by demodulating the signal to complex-valued baseband, filtering, and decimating.

    What were you thinking of using the Hilbert transform for? I probably have a reference book here with more details if it really is a Hilbert transform you want to use.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Hello, was wondering if anyone has implemented a Hilbert Transform on an FPGA? If so, can you share your comments or suggestions?

    Respectfully,

    joe

    --- Quote End ---

    I agree with Dave regarding demodulator alternative to Hilbert Transform in FPGAs but if you are interested I suggest looking at information given by xilinx or altera with their tools:

    Hilbert here:

    http://www.uccs.edu/~gtumbush/ise_10.1_docs/fir_compiler_ds534.pdf

    altera's equivalent discussion : google for "implementing signal processing functions in stratix..."

    edit:

    altera doc at: http://www.altera.co.uk/literature/hb/stx/ch_7_vol_2.pdf
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    An FPGA-based Hilbert transform is essentially a digital filter. However, they're not that useful in practice due to the asymmetry in its implementation.

    A Hilbert transform is often used to create an analytic signal, i.e., a complex-valued signal. In an FPGA, you typically create a complex-valued signal from a real-valued signal (eg., samples from an ADC) by demodulating the signal to complex-valued baseband, filtering, and decimating.

    What were you thinking of using the Hilbert transform for? I probably have a reference book here with more details if it really is a Hilbert transform you want to use.

    Cheers,

    Dave

    --- Quote End ---

    Can you tell me the reference book for implementing Hilbert Transform on FPGA.

    killer
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Can you tell me the reference book for implementing Hilbert Transform on FPGA.

    killer

    --- Quote End ---

    one way is to do fft then zero all negative bins then do ifft
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Can you tell me the reference book for implementing Hilbert Transform on FPGA.

    --- Quote End ---

    I don't recall a specific book with an FPGA example, but I just had a quick look on Wikipedia ...

    http://en.wikipedia.org/wiki/hilbert_transform

    Scroll down to the "Discrete Hilbert transform" section and you'll see what I was talking about.

    What is it you are trying to do?

    Cheers,

    Dave