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