Quantcast
Channel: EngineerZone: Message List
Viewing all articles
Browse latest Browse all 36216

Re: ADAU1446 Hilbert transform response

$
0
0

     Hello Tom,

 

     To start with your easiest question:  the Stimulus-Probe tool helps when designing with the standard filters and their cascade / additive combinations.  Find more about this here:

http://ez.analog.com/message/120089#120089

 

     As you noted, a FIR Hilbert has a constant group delay at its "real" or "cosine" output, which is essentially a straight compensating delay from its input.  Thus, you can count on having a reference to work with.  Its "imaginary" or "sine" output in addition, lags the cosine output by 90 degrees.  The resulting impulse responses are shown below (actually the cosine trace is the impulse response of the ADAU1701's DAC, used for this test):

Hilbert-FIR-400_ImpResp-sch_pic.jpgHilbert-FIR-400_ImpResp-out_pic.jpg

     This FIR Hilbert uses a 400 tap filter and a 200 sample delay.  It's good for any waveform that fits within the FIR, that is 48000 / 400 = 60 Hz minimum.  Its group delay is a uniformly boring 4.16 mS (plus phase lag at the sine output).  I assume you would need three times the FIR and a 600 sample delay to get full response down to 20Hz, which as you said is quite a lot.  The new ADAU1452 could handle this easily, however. 

 

     Meanwhile, the Hilbert block appears to work with a IIR implementation -- it uses far fewer resources than FIR, and its impulse response is not L-R symmetrical (see below).  I measured its group delay simply by comparing its input and cosine output with a scope, looking for frequencies where the two traces coincided -- results also below:

 

Hilbert-ADI_ImpResp-out_pic.jpg

  Hilbert Block Cosine Output:

delay @ 1 Hz:          60mS

1  cycle lag         36Hz (27.8mS)

2 cycles lag       310Hz (6.45mS)

3 cycles lag      2120Hz (1.42mS)

4 cycles lag      7400Hz (0.54mS)

5 cycles lag     13480Hz (0.37mS)

6 cycles lag     19830Hz (0.30mS)

 

     To say this block has a non-constant group delay is quite the understatement!  I'm afraid that someone smarter than me will have to tackle the needed all-pass filter.  In many applications (such as a SSB modulator), the delay between input and both Hilbert outputs is not particularly important -- evidently not the case here.   Perhaps you should bite the bullet and go FIR.

 

 

     Best regards,

 

     Bob


Viewing all articles
Browse latest Browse all 36216

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>