home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / dsp / 2077 < prev    next >
Encoding:
Internet Message Format  |  1992-09-03  |  1.8 KB

  1. Path: sparky!uunet!gatech!usenet.ins.cwru.edu!agate!forney.berkeley.edu!jbuck
  2. From: jbuck@forney.berkeley.edu (Joe Buck)
  3. Newsgroups: comp.dsp
  4. Subject: Re: Hilbert Transform (?)
  5. Date: 3 Sep 1992 19:25:20 GMT
  6. Organization: U. C. Berkeley
  7. Lines: 34
  8. Message-ID: <185or0INNlfa@agate.berkeley.edu>
  9. References: <LcVHqB1w165w@precipice.chi.il.us>
  10. NNTP-Posting-Host: forney.berkeley.edu
  11.  
  12. In article <LcVHqB1w165w@precipice.chi.il.us> jjw@precipice.chi.il.us (John Welch) writes:
  13. >    I would like to make a DSP project that would digitize
  14. >voice grade audio (300-3000 Hz) and provide the original signal
  15. >and that signal phase-shifted by 90 degrees.  I believe this 90
  16. >degree phase shift is done with a Hilbert Transform.  I have found
  17. >the name, but no info on *how* to do a Hilbert Transform.  Any
  18. >assistance would be greatly appreciated.  -->jjw
  19.  
  20. A Hilbert transform is simply a filter whose frequency response is j
  21. (magnitude 1, phase 90 degrees) for positive frequencies and -j (magnitude
  22. 1, phase -90 degrees) for negative frequencies.  The exact Hilbert
  23. transform is unrealizable, just as the perfect low-pass filter is
  24. unrealizable; however, you only need this response in the 300-3000 Hz
  25. bandwidth.  One good way to do this is to use the Parks-McClellan
  26. algorithm to design an FIR filter that approximates the Hilbert transform
  27. in this band (with arbitrary response elsewhere).  I have an ancient
  28. Fortrash program that can do this; it is included as part of the Ptolemy
  29. distribution for those that have that.  Another way that's not as good is
  30. to simply truncate the ideal Hilbert transform impulse response to finite
  31. length and add a delay.  The ideal impulse response is
  32.  
  33. h(n) = 2/(n*pi) for n odd
  34. 0               for n even
  35.  
  36. and that's for both positive and negative n.
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. --
  45. Joe Buck    jbuck@ohm.berkeley.edu
  46.