Post Go back to editing

General question on Sigma's Hilbert Transform block

I'm running the ADAU1451 under SigmaStudio 4.2 and have a couple of questions about the Hilbert Transform block.

First, when I click on the appropriate link in the Toolbox Wiki, only an Error page comes up.  Is a discussion of this very useful block in the works?  I suppose it's fairly self-explanatory to those who have Hilbert experience, but it would be nice to have confirmation of the pin names at least, and what to expect at the outputs.

A 'DIY' FIR approach to a Hilbert Transform was offered in these pages prior to this block's appearance in some of the device menu trees, .  More than 4 years ago, KJBob gave a good account of the difference between the menu-tree block and the DIY two-filter approach in this posting: https://ez.analog.com/dsp/sigmadsp/f/q-a/65970/adau1446-hilbert-transform-response.

In that posting, KJBob points out that the menu-tree block (which is an IIR implementation, far more accurate and with less overhead than the DIY one) has a non-constant phase/delay relationship between the input and the 'real' or cosine output.  A filter to mimic the cosine delay characteristic is not a simple matter.  For those of us who need phase coherence between the input signal and the cosine output, we can either use the DIY approach, as KJBob suggests, plus a second fixed delay to match the cosine delay-only, or simply use the cosine output of a second menu-tree block to provide identical time and phase smear.  I believe that, even with a second Hilbert block, the overhead is less this way.  Sound plausible?

Edit Notes

Misspelling!
[edited by: electrojim at 3:20 AM (GMT 0) on 14 Jan 2019]
  •      Hello Jim,

         Just as you expect, the packaged Hilberts use 103 instructions each -- two would still use far less than one FIR.  Below I made a simple headphone effect with two Hilbert transforms, one active and one reference.  By adding a relative 90 degree phase it moves the sound image from inside your head to all around you.  Somewhere in EZ I have also posted a variable audio notch filter using SSB modulator / demod to shift the incoming audio (instead of moving the notch filter, which isn't possible on a ADAU1701 without external coefficient calculation).

         Best regards,

         Bob

  • Thanks for the vote of confidence, Bob, but we still need a Help/Wiki on that block.  Your movable notch sounds like a challenge, and I'll bet there's a way!

    Your headphone 'ambience synthesizer' is a cute idea.  An interesting application is to run the audio from your ham rig through an 800Hz notch filter and then through the Hilbert device to stereo headphones.  But go back and recover the 800Hz by subtraction and add it to both L and R.  The effect is hash and noise all around you and the CW signal-of-interest right in the middle of your head.  Eerie, though I don't know if it helps Morse intelligibility since I never learned to copy it.

    I have an article relevant to this you might find interesting, if I could figure out how to get it to you.

  •      Hi Jim,

         I found the EZ link to the variable notch filter using Hilbert-based frequency shifting:  https://ez.analog.com/dsp/sigmadsp/f/q-a/65699/audio-filtering-for-radio-communications-using-adau1700-1/91459#91459

         Thanks for offering the article.  The old Jive Software based Engineer Zone originally had a private message system but it was later disabled, presumably due to abuse.  The present Telligent version can do PMs but I don't know how.  If I'm not mistaken, we have to be "friends" of each other to send/receive PMs.  I have accepted several friend requests but to my knowledge have never received any private messages -- so I'm wondering if PM really works or else I have no idea how to access my PMs.

         Best regards,

         Bob

  • Hello, Bob.

    I don't recall ever getting back to you on this subject after receiving this message, and humbly apologize, either if I did respond and forgot, or didn't.  And if I didn't I have put the "Phase Buster" project I did a write-up on in Dropbox.  If you are still interested you can read it here:
    https://www.dropbox.com/s/nwvxm9jmj7gudbf/PhaseBuster%20aX%20Article.pdf?dl=0
    ...sorry it's such a big file.

    As far as PMs, goes, only today I received one of those from a fellow in China who is attempting to develop an FM stereo encoder and has asked for help, not only from the group, but has addressed me directly, as he may well have done to you and others as well.  I explained that my firm developed several commercial products utilizing a very simple, yet successful stereocoder implementation in Sigma, but that I am hesitant to share a Sigma schematic with him for 'proprietary' reasons.  I did, nonetheless, give him some food for thought and hope he succeeds in surpassing his 35dB separation figure. 

    Actually 35dB is darned good enough for normal stereo programming and, in fact, one of our competitors in the arena has implemented a dynamic means of limiting separation to lessen the effects of multipath.  I believe it was Bell Labs that demonstrated quite "...thrilling and believable stereophonic reproduction..." with just 6dB separation.  We're consistently getting 60dB from Sigma, which I am loathe to sabotage.

    I hope all is well with you and will be looking for choice tidbits of wisdom from you in these august pages.

    Best regards,
    Jim Wood
    INOVONICS, INC.

  • "Phase Buster" is neat and wonderfully analog!  I miss that stuff sometimes.

  • Thanks, KJB.  Your old and dear friend, analog, misses you and waits eternally and untiringly for your return with welcoming arms.  Never lose sight of the fact that we live in an analog world, and even large corporations with huge investments in digital technology are smart enough to keep the word Analog in their name, and support it with various Devices.

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.